Agent 开发一面、二面、三面面经合集
完整信息
本篇目录
先交代背景:普通本科,Java/Python混栈,4年经验,上一家是某中厂AI平台组,做过RAG应用和Agent工具链开发。
牛客热榜本周Agent开发岗刷屏了——字节9.3一面、快手一面、阿里一面分别占据热榜第3、第6、第9位。我面了字节Agent开发岗,三轮技术面磕磕绊绊,居然过了。
📌 第一阶段:一面(9月初)——差点挂
一面(60分钟)——差点挂
1️⃣ 项目深挖:你们Agent项目怎么做的?
💡 思路参考:说清楚自己负责的部分——工具链开发、模型接入、还是评测体系。字节面试官会追问具体实现细节,不要只说“我们用了LangChain”。
2️⃣ 核心概念:Agent中Harness的概念
💡 思路参考:Harness是Agent的编排层,负责管理Agent的循环执行、工具调度、状态管理和错误处理。核心职责是让Agent在“规划→执行→反思”的闭环中稳定运行。这道题很偏,但字节最近高频出现。
3️⃣ 故障场景:长程任务延迟分析
💡 思路参考:平时长程任务5分钟结束,这次跑了15到20分钟——怎么分析延迟?先看调用链追踪,定位是哪个环节变慢(工具调用超时?大模型推理变慢?还是循环次数变多?),再看是否有重试风暴或死循环。核心是有系统的排查思路。
4️⃣ 追问:工具调用的入参怎么让模型自己填?
💡 思路参考:工具定义的参数是固定的,但实际值需要模型从上下文中提取。比如查天气工具需要location参数,模型要从用户query里提取“北京”。可靠性怎么保障?后处理层做参数校验,不符合Schema则重试或让模型重新生成。
5️⃣ 追问:上下文窗口涨了怎么压?
💡 思路参考:历史对话太长时,用摘要压缩、滑动窗口或关键信息提取。但要回答“压完信息丢了怎么办”——通过关键信息提取保留必要上下文(用户偏好、已确认事项),存入长期记忆,下次会话时召回。
一面面完很虚,Harness概念完全是硬答的。等了两天,居然过了。
📌 第二阶段:二面(9月初)——过了
二面(60分钟)
1️⃣ 系统设计:设计一个多工具Agent系统
💡 思路参考:100多个工具时,模型怎么找到合适的工具?用工具分组+语义检索——先把工具按功能分类(查询类、操作类、计算类),模型先做意图识别决定走哪类,再从该类中做语义检索匹配具体工具。动态工具注册中心管理工具的生命周期。
2️⃣ 追问:“Agent一次改对的概率是多少?”
💡 思路参考:Viture一面也问过类似问题。可以诚实回答“目前没有精确统计”,但可以说你们有观测——用trace记录Agent每轮的执行结果,统计首次尝试成功率、重试次数分布,持续优化Prompt和工具设计提升成功率。
3️⃣ 线上故障排查
💡 思路参考:说一个真实的Agent事故——某个工具返回了异常数据导致Agent陷入死循环,排查发现是工具侧数据格式变更没有通知上游。加了工具输出Schema校验和异常捕获后解决。
📌 第三阶段:三面(交叉面)——过了
1️⃣ 系统设计:Agent记忆压缩策略
💡 思路参考:进行到第十一轮时,应该给模型哪些信息?——用滑动窗口保留最近3轮完整对话,更早的用摘要压缩,关键信息(用户意图、已确认事项)提取出来单独存储。不要简单截断。
2️⃣ 传统后端题:MySQL主从、索引失效
💡 思路参考:字节Agent岗也会考传统后端——主从复制的延迟问题、读请求走不走从库、什么情况下索引会失效(函数包裹索引列、隐式类型转换、LIKE前导通配符)。
HR面——OC
📌 声明
以上思路参考来自 "面题鸭🦆" 各岗位专属考题的考点方向
📝 复盘
字节Agent岗社招4年经验的面试,考的是三件事:
能不能懂Agent底层原理(Harness、记忆压缩、工具编排)
线上出事了能不能扛住(长程任务延迟分析、死循环排查)
传统后端知识还在考(MySQL、索引、Redis没消失)
🎯 后来怎么调整的?
Harness那道题完全没准备过,全靠硬答。后来在 "面题鸭🦆" 上刷了一遍Agent方向的JD专属出题,Harness、记忆压缩、工具编排这些方向在那套题里都出现了,早点刷的话那道题能答得更好。
本篇目录
当前问题0109
- 01
1️⃣ 项目深挖:你们Agent项目怎么做的?
- 02
2️⃣ 核心概念:Agent中Harness的概念
- 03
3️⃣ 故障场景:长程任务延迟分析
- 04
4️⃣ 追问:工具调用的入参怎么让模型自己填?
- 05
5️⃣ 追问:上下文窗口涨了怎么压?
- 06
1️⃣ 系统设计:设计一个多工具Agent系统
- 07
2️⃣ 追问:“Agent一次改对的概率是多少?”
- 08
1️⃣ 系统设计:Agent记忆压缩策略
- 09
2️⃣ 传统后端题:MySQL主从、索引失效
