面试面经 · 蚂蚁集团
【蚂蚁集团】【大模型开发】【暑期实习一面】面经(八股+大模型项目+手撕)
海外一年制硕士,投递蚂蚁集团大模型开发暑期实习,一面全程约 70 分钟,面试官是组内做 Agent 平台的工程师,整体节奏偏工程落地,八股问得不深但追问很紧。
题目摘要
- Go 语言基础:slice 的底层结构与扩容策略,
append在什么情况下会触发底层数组拷贝;map并发读写为什么会 panic,实际项目里怎么规避。 - MySQL / Redis 八股:聚簇索引与回表,
explain里出现Using filesort的常见原因;Redis 缓存穿透、击穿的差别,以及布隆过滤器在工程上的代价。 - RAG 项目深挖:文档切分粒度怎么定、召回阶段用了什么策略、如何评估检索质量、幻觉怎么压。
- Function Calling / Agent:工具描述怎么写、多轮工具调用怎么管理上下文、工具调用失败后的兜底逻辑。
- 推理成本优化:prompt 缓存、KV Cache 复用、模型分级路由的实际收益。
- 手撕算法:LRU 缓存(LeetCode 146),要求 O(1) 时间完成
get和put。
项目深挖
追问一:RAG 的检索质量怎么衡量,你上线后怎么知道它变好了
参考回答方向:不要只说"人工看了一些 case"。要分层讲——离线用带标注的 query-doc 对算 Recall@k、MRR,看召回层是否把正确 chunk 捞回来了;在线看端到端指标,比如答案采纳率、用户追问率、点踩率。检索和生成要分开归因:如果正确 chunk 在 top-k 里但答案还是错,问题在生成侧(prompt 或模型能力);如果正确 chunk 根本没召回,问题在切分或 embedding。可以补一句:切分粒度太细会导致语义碎片化,太粗会稀释相关性,实践中按标题层级切 + 相邻 chunk 做小窗口重叠,比固定 512 token 效果好。
追问二:Function Calling 里工具多了以后模型选错工具,你怎么解
参考回答方向:先承认这是真实问题,工具数量上去后描述之间的语义重叠会让模型混淆。几个手段:一是工具描述里写清楚"什么时候用、什么时候不用",把边界条件写进 description;二是做工具分组或分层路由,先用一个轻量分类器或规则缩小候选集,再让模型在小组内选;三是给 few-shot 示例,尤其是容易混的两个工具各给一个正例。失败兜底上,工具返回错误时不要把原始报错直接塞回上下文,要做成结构化结果再让模型决定重试还是换工具,同时设最大重试次数防止死循环。
追问三:上下文越来越长,成本和延迟都上去了,你做过什么优化
参考回答方向:分几个层面讲。prompt 层面,把稳定不变的部分(system prompt、工具定义)放前面,利用 prefix caching 命中缓存;历史对话层面,做滑动窗口 + 摘要压缩,早期轮次压成一段摘要而不是原样保留;检索层面,控制注入的 chunk 数量,用 rerank 把 top-k 从 10 压到 3,往往效果不降反升。如果模型支持,KV Cache 复用能显著降首 token 延迟。再补一句成本视角:简单意图走小模型、复杂推理走大模型,用路由把大部分流量导到便宜模型上,整体成本能降一个量级。
手撕算法
题目:设计并实现 LRU 缓存,容量为 capacity,支持 get(key) 和 put(key, value),两者都要求平均 O(1)。
关键思路:哈希表 + 双向链表。哈希表存 key 到链表节点的映射,实现 O(1) 定位;双向链表维护访问顺序,头部是最近使用、尾部是最久未使用。get 命中后把节点移到头部;put 时若 key 存在则更新并移到头部,若不存在则新建节点插到头部,超出容量时删掉尾部节点并同步删除哈希表里的 key。用 Go 写的话注意哨兵头尾节点能省掉大量边界判断。面试官后面追问了一句:如果改成 LFU 怎么改,答了要给每个频率维护一条链表、并记录最小频率,不用真的写完。
准备建议
- 把项目里的每个数字都准备好被追问。召回 top-k 取了多少、切分粒度多大、成本降了多少百分比、延迟从多少降到多少——说得出数字才显得是真做过,说不出来就会被判定为"跟着教程跑了一遍"。
- 八股按"是什么—为什么—工程上怎么用"三层准备。蚂蚁这边不会让你背定义,问完 Redis 缓存击穿紧接着就是"你项目里怎么防的",答不出落地场景等于没答。
- 手撕题按高频清单刷,重点在写对而不是写快。LRU、LFU、TopK、快排、合并区间、二叉树遍历这几类覆盖度最高,用目标语言(Go 或 Java)手写,别用 Python 练手感,面试时语言不熟会翻车。
一面通过,3 天后约了二面。
想系统备战大厂大模型/Agent 开发?NiceOffer 提供 SDE+LLM 双轨 1v1 陪跑,合同保底 40w 年薪,文末扫码咨询。