字节 AI 全栈开发一面:Agent 项目与算法

岗位:AI全栈开发 · 更新于 2026-10-28

面经与参考答法

字节 AI 全栈开发一面:Agent 项目与算法

原帖发布于 2026 年 8 月,未给出具体面试日期。本文按主题选录可见技术问答和现场编码询问,省略实习时长、在校安排与个人求职经历;答案是教学整理,不代表候选人现场回答。文中的架构方案、工具比例和语言能力需由实际作答者用本人经历说明。

这轮一面主要深挖一个自研 Agent 项目,覆盖 SSE 流式链路、RAG、多模态输入、会话标识、编排方式、AI Coding、Vue 响应式与两类算法题。

(1)怎样讲清前端到 Agent 的 SSE 主链路?

(1)怎样讲清前端到 Agent 的 SSE 主链路?

关联知识点待核实。

前端发起任务后,后端创建 run 并返回可关联的标识;执行器把模型增量、工具状态和最终结果编码为具名事件,通过 SSE 持续推送。前端按事件 ID 去重、拼接并更新不同阶段 UI。还要说明断线重连、心跳、取消、代理缓冲和服务端资源释放;SSE 是单向通道,用户后续操作仍通过普通请求提交。

延伸阅读:SSE 流式响应与增量渲染。

(2)RAG 如何存储和召回?

(2)RAG 如何存储和召回?

关联知识点待核实。

原文经解析、切分后保存正文、向量、文档 ID、块位置和权限元数据。查询时可并行进行向量召回与关键词召回,过滤用户范围后融合、重排,再把少量高相关片段交给模型。回答不能停在“用了向量库”,还要给出 embedding 版本、索引更新、top-k、评测指标和引用回溯方式。

延伸阅读:RAG 完整流程实战。

(3)OCR 与 ASR 怎样接入多模态输入?

(3)OCR 与 ASR 怎样接入多模态输入?

关联知识点待核实。

先把图片或音频上传到受控存储,校验类型、大小和权限,再由 OCR/ASR 服务产生带页码、坐标或时间戳的文本。对低置信结果标记或要求人工确认,保留原始对象引用以便复核。若直接使用多模态模型,也要说明数据保留政策、超时、成本和不可识别时的降级路径。

(4)UUID 应该标记用户、会话还是一次运行?

(4)UUID 应该标记用户、会话还是一次运行?

关联知识点待核实。

不同维度使用不同 ID:userId 表示主体,sessionId 表示多轮会话,runId 表示一次 Agent 执行,messageId 和 toolCallId 用于消息与副作用幂等。UUID 只解决高概率唯一,不自动提供权限和顺序;查询时必须同时校验租户/用户归属,事件排序可用单调序号或版本号。

(5)多模块 Agent 与 Multi-Agent 怎么取舍?

(5)多模块 Agent 与 Multi-Agent 怎么取舍?

关联知识点待核实。

若模块共享同一目标、权限和上下文,用一个运行时加确定性工作流通常更直接;多 Agent 适合角色、权限或上下文明显不同的任务,但会增加通信、协商、重复推理和延迟。是否采用框架也应基于状态持久化、分支循环、调试和恢复需求。自研时要显式定义状态 Schema、节点输入输出与转换条件,不能只靠消息文本传数据。

延伸阅读:确定性 Workflow 与 Agent 的组合、多智能体协作与适用边界。

(6)哪些环节交给模型,哪些必须由程序控制?

(6)哪些环节交给模型,哪些必须由程序控制?

关联知识点待核实。

需求理解、非结构化抽取和候选方案生成可由模型完成;鉴权、参数校验、状态转换、预算、重试、数据写入和终止判定应由确定性代码控制。回复也不必等全部完成后一次发送,可把思考以外的可公开进度、工具状态与最终结果分阶段推流,但每种事件要有稳定协议。

(7)AI Coding 出错时怎样排查?

(7)AI Coding 出错时怎样排查?

关联知识点待核实。

先用日志、trace、网络面板和最小复现确定错误位于前端、接口、编排还是模型输出,再让 AI 基于具体证据提出补丁。生成代码必须经过类型检查、单元/集成测试和人工复核;埋点应携带 runId 与阶段信息,但不能记录密钥或完整隐私数据。评价 AI 使用比例没有标准答案,关键是能证明自己理解并验证了交付物。

延伸阅读:Coding Agent 的架构与执行循环。

(8)Vue 响应式对象的成员变化能被追踪吗?

(8)Vue 响应式对象的成员变化能被追踪吗?

关联知识点待核实。

Vue 3 的 reactive 使用 Proxy,通常能追踪属性新增、修改和数组索引变化;ref 对象要通过 .value 访问,内部对象也会被转成响应式。常见失效点是把响应式属性直接解构成普通变量、在模板外错误替换引用,或修改未被当前副作用读取的字段。可用 toRefs 保持解构后的关联。

(9)任意二叉树遍历要注意什么?

(9)任意二叉树遍历要注意什么?

关联知识点待核实。

题面只要求现场组装任意二叉树并遍历,未限定具体遍历次序。作答时先确认输入格式、空节点标记和需要前序、中序、后序还是层序,再分离“建树”和“遍历”两个函数。深树递归可能栈溢出,可改用显式栈;每个节点访问一次,时间复杂度为 $O(n)$。

(10)爬楼梯如何分析与优化?

(10)爬楼梯如何分析与优化?

关联知识点待核实。

若每次走 1 或 2 阶,则 $f(n)=f(n-1)+f(n-2)$,边界为 $f(1)=1,f(2)=2$。动态规划时间 $O(n)$、数组空间 $O(n)$;因为只依赖前两项,可用两个变量把空间降为 $O(1)$。还应确认 $n=0$ 的约定以及结果是否可能溢出。

(11)AI Coding 使用哪些工具、比例如何,怎样说明自己的贡献?

(11)AI Coding 使用哪些工具、比例如何,怎样说明自己的贡献?

关联知识点待核实。

按前端、后端、接口联调和测试等环节说明实际工具与使用范围,用变更记录、调试过程和验证结果解释本人理解与负责部分。没有统计就不编精确比例;AI 生成的代码仍需自己核验。原帖中的个人使用比例与工具记录不能套用于其他候选人。

(12)日常使用 Java、Go、Python 等哪些语言,能否用 JavaScript 现场编码?

(12)日常使用 Java、Go、Python 等哪些语言,能否用 JavaScript 现场编码?

关联知识点待核实。

如实说明熟悉程度、近期使用场景和语言切换经验。现场编码前确认能否使用熟悉语言、输入输出格式与可用库;若采用 JavaScript,应准备标准输入解析、常用容器、数值范围和边界用例。原帖只记录了现场询问,未给出一份 JavaScript 题解,本文不补造候选人的作答。

面经是候选人自述,解析为 Agent Journey 整理。更多大厂 AI / Agent 岗面经 · 按目标公司模拟面试