NiceOffer

面试面经 · 蚂蚁集团

【蚂蚁集团】【Agent 开发】【暑期实习二面】面经(八股+大模型项目+手撕)

蚂蚁集团面经Agent 开发实习

蚂蚁集团 Agent 开发 暑期实习二面面经

背景:海外一年制硕士,之前有一段大模型应用相关实习,投递的是蚂蚁集团智能引擎事业部 Agent 开发方向。

题目摘要

  1. Go 语言基础:goroutine 与 channel 的底层实现原理,GMP 调度模型简述,以及如何避免 goroutine 泄漏。
  2. MySQL 与 Redis 八股:MySQL 的 InnoDB 索引结构为什么用 B+ 树;Redis 的持久化机制对比(RDB vs AOF),以及缓存穿透、击穿、雪崩的解决方案。
  3. RAG 项目深挖:检索召回策略、chunk 切分逻辑、重排(Rerank)方案、以及如何评估 RAG 效果。
  4. Function Calling 与 Agent 编排:如何设计工具描述(Tool Schema)使其更容易被 LLM 正确调用;多轮对话中上下文管理策略。
  5. 推理成本优化:在项目里如何降低 LLM 调用成本,比如缓存策略、模型路由、prompt 压缩。
  6. 手撕算法实现一个支持 getputdelete 操作的 LRU Cache,要求所有操作平均时间复杂度 O(1)。思路:哈希表 + 双向链表,哈希表存 key 到链表节点的映射,链表维护访问顺序。get 时将节点移到链表头部,put 时若容量已满则淘汰尾部节点。

项目深挖

追问 1:你的 RAG 管线里,chunk 切分是怎么做的?为什么这样切?

参考方向:不要只说"按固定大小切"。我当时的做法是结合文档结构(标题、段落层级)做语义切分,先按 Markdown 标题拆成语义块,再对过长的块按句子边界做二次切分,同时设置 overlap(比如 50-100 字符)保证上下文连贯性。面试官追问了"overlap 大小怎么定的",我回答是基于验证集上召回率(Recall@K)和下游生成质量的消融实验,而不是拍脑袋。另外还提到对表格和代码块做了特殊处理,不强行切分,避免破坏语义完整性。

追问 2:Function Calling 偶尔会调用错参数,或者干脆不调用,你怎么排查和解决?

参考方向:这是一个非常实战的问题。我分了三个层面回答。第一层是工具描述优化:把工具描述写得更像"给人类看的说明书",明确参数类型、取值范围、默认值、示例值,避免含糊表述;同时把常用工具和兜底工具分开描述,减少 LLM 的选择困惑。第二层是机制兜底:在 Agent 迭代循环里加一层规则校验,如果 LLM 返回的 tool call 不符合 JSON Schema,就做一次修正(比如用轻量模型重写或规则修复),而不是直接报错。第三层是评测驱动:构建了一个包含正常调用、边界参数、多工具选择三种场景的测试集,每次修改工具描述后跑一遍,看调用准确率变化。

追问 3:你说用了模型路由来降本,具体怎么实现的?

参考方向:我的方案是一个基于规则 + 历史统计的路由器。规则层面,简单意图(比如关键词匹配、信息提取)走小模型(如 qwen-turbo),复杂推理(比如多步规划、数学计算)走大模型(如 qwen-max)。历史统计层面,记录每个请求在哪个模型上成功率高、延迟低,动态调整路由策略。另外还做了语义缓存:对用户 query 做 embedding,用向量相似度命中缓存,命中率大概 15%-20%,显著降低了成本。面试官追问了"缓存命中后的结果如何保证时效性",我回答:对时效敏感的工具调用结果不做缓存,只缓存纯知识问答类结果,并设置了 TTL。

准备建议

  1. 不要只背八股,把每个知识点和你的项目挂钩。比如 Go 的 GMP 调度,不要只背概念,想一下你的 Agent 服务里并发调用多个工具时,goroutine 的模型是怎样的,有没有出现阻塞或资源竞争。面试官听到你能用项目实例解释八股,印象分会明显不同。
  1. Agent 项目必须准备一份"问题-排查-解决"清单。面试官一定会追问"你遇到过什么问题"。提前列出 3-5 个真实踩过的坑,比如:上下文窗口溢出、tool call 循环不终止、检索结果互相矛盾、模型输出格式不稳定。每个问题按"现象 → 定位 → 解决 → 效果"的结构准备,控制在 2 分钟内讲完。
  1. 手撕算法别只刷 hot 100,重点练"数据结构组合题"。Agent 开发面试里的算法题往往不考复杂 DP,而是考 LRU、LFU、设计类、多线程并发控制这类工程向题目。建议把 LeetCode 上 LRU、LFU、线程安全单例、生产者消费者模型都写一遍,并且用 Go 或 Java 各写一遍,因为面试官可能会让你切换语言。

结果反馈

一面通过后约了二面,二面整体偏工程实践和项目深度,算法题难度适中,面完第三天收到 HR 通知进入三面(交叉面)。

想系统备战大厂大模型/Agent 开发?NiceOffer 提供 SDE+LLM 双轨 1v1 陪跑,合同保底 40w 年薪,文末扫码咨询。