字节跳动

Agent 开发一面、二面、三面面经合集

完整信息

9 条问法 · 11 道题

本篇目录
先交代背景:普通本科,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、记忆压缩、工具编排这些方向在那套题里都出现了,早点刷的话那道题能答得更好。
本篇目录
  1. 01
  2. 02
  3. 03
  4. 04
  5. 05
  6. 06
  7. 07
  8. 08
  9. 09

同作者面经

相关公司