NiceOffer

面试面经 · 虾皮

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

虾皮面经Agent 开发实习

背景

海外一年制硕士,投递虾皮 Agent 开发暑期实习,二面约 60 分钟,面试官是 Agent 平台组的工程师,全程围绕项目 + 八股 + 一道手撕展开,节奏偏快,追问密度高。

题目摘要

  1. Go 语言基础:slice 与 array 的区别,slice 扩容机制,map 是否并发安全,如何实现一个并发安全的 map;defer 的执行顺序与闭包陷阱。
  2. MySQL / Redis 八股:MySQL 索引为什么用 B+ 树而不是 B 树或跳表;联合索引最左前缀原则;explain 中 type 字段的常见取值与含义。Redis 缓存穿透、击穿、雪崩的区别与各自解法;Redis 分布式锁的实现要点与续期问题。
  3. Agent 项目深挖:RAG 链路中检索召回率低怎么排查;Function Calling 的 schema 设计原则;多轮对话上下文怎么管理、超长时怎么压缩;推理成本优化有哪些手段。
  4. 手撕算法:给定一个字符串数组,要求把互为字母异位词(anagram)的字符串分组返回。关键思路:对每个字符串做排序后作为哈希 key,或统计 26 个字母频次拼成 key,时间复杂度 O(n·k log k) 或 O(n·k),空间 O(n·k)。
  5. 场景设计:如果让你设计一个客服 Agent,如何控制幻觉、如何做兜底回复、如何评估效果。
  6. 反问环节:团队目前 Agent 落地的业务场景、实习生会参与哪部分。

项目深挖

追问一:你说 RAG 提升了回答准确率,具体怎么量化的?召回率低的时候你怎么定位是 embedding 问题还是切分问题?

参考回答方向:先讲评估口径,比如构造一批「问题-标准答案-标准文档」的测试集,分别看 recall@k 和最终答案的命中率。定位时分两步:第一步固定切分策略,换不同 embedding 模型或加 query 改写,看 recall 变化;第二步固定 embedding,调整 chunk size 和 overlap,看召回文档是否包含标准文档。如果标准文档根本没被召回,大概率是切分粒度或 embedding 语义匹配问题;如果召回了但答案不对,问题在 rerank 或生成阶段。可以补一句:实际排查中我加了 rerank 模型后 recall@5 从 0.6 提到 0.82,但延迟涨了约 200ms,所以做了 top-k 截断和缓存。

追问二:Function Calling 你怎么设计工具 schema?工具多了模型选错怎么办?

参考回答方向:schema 的 description 要写清楚「什么时候用、什么时候不用」,参数名用业务语义而不是缩写,枚举值尽量收敛。工具数量超过 10 个以后模型选择准确率会下降,我的做法是分层:先让模型选工具类别,再在类别内选具体工具;或者用一个小模型做意图路由,把候选工具缩到 3-5 个再交给主模型。另外给每个工具加 few-shot 示例,尤其是容易混淆的工具对。

追问三:多轮对话上下文越来越长,你怎么控制 token 成本和效果?

参考回答方向:分三层。第一层是滑动窗口 + 摘要,把早期对话压缩成摘要,保留最近 N 轮原文;第二层是结构化记忆,把用户的关键信息(订单号、偏好、已确认事项)抽成 JSON 存下来,不依赖原始对话;第三层是按需检索,把历史对话做 embedding 存起来,当前轮需要时再召回相关片段。成本上还可以做 prompt 缓存(相同前缀复用)、小模型做摘要、对简单意图直接走规则不调大模型。

准备建议

  1. 八股不要只背结论,要能讲清「为什么」:比如 B+ 树要能说出叶子节点链表、非叶子节点不存数据所以扇出高、磁盘 IO 次数少;Redis 分布式锁要能讲 setnx + 过期时间 + 唯一 value + Lua 释放,以及 Redlock 的争议。面试官会顺着你的回答继续问一层。
  2. 项目准备两套数字:一套是效果数字(准确率、召回率、延迟、成本),一套是排查数字(改了什么、涨跌多少、为什么)。没有数字的项目在二面很容易被问穿,哪怕是自己做的小 demo,也要跑一组对比实验。
  3. 手撕算法按「说思路 → 写代码 → 手动跑样例 → 分析复杂度」四步走:面试官更看重沟通和边界处理,写完主动说「如果输入为空返回空列表,如果字符串含 Unicode 字符排序会有问题,可以用计数法」。Go 写题注意 map 的 value 用 []string 时 append 的坑。

结果

一面通过后约 5 天收到二面邀约,二面结束当天晚上收到感谢信,流程止步于此。

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