NiceOffer

面试面经 · Momenta

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

Momenta面经Agent 开发实习

海外一年制硕士,投递 Momenta Agent 开发暑期实习,三面技术面,面试官是 Agent 方向的一线工程师,整体节奏偏深挖项目 + 八股穿插,全程约 70 分钟。

题目摘要

  1. Go 语言基础:slice 的底层结构与扩容机制,map 是否并发安全,如何实现一个并发安全的 map;defer 的执行顺序与闭包变量捕获陷阱。
  2. MySQL / Redis 八股:MySQL 聚簇索引与回表,为什么推荐自增主键;Redis 缓存穿透/击穿/雪崩的区别与对应方案,Redis 分布式锁的实现要点与续期问题。
  3. Agent 项目深挖:RAG 检索链路里 chunk 切分策略、召回率与精度的取舍;Function Calling 的工具描述怎么写、多工具冲突如何消歧;长对话上下文如何压缩,超出窗口怎么处理。
  4. 推理成本优化:如何降低单次 Agent 调用的 token 消耗与延迟,缓存、模型分级、prompt 精简、并行工具调用等具体手段。
  5. 手撕算法:给定一个字符串数组,返回所有可以由数组中单词拼接而成的目标字符串(类似「单词拆分 II」的变体,要求输出所有组合)。关键思路:先用哈希集合存词表,DFS + 记忆化,memo[i] 表示从下标 i 开始能拼出的所有后缀组合,避免重复子问题;也可以用 DP 预处理可达性再回溯剪枝。

项目深挖

追问一:你的 RAG 系统里 chunk 是怎么切的?为什么这么切?

参考回答方向:不要只说「按 512 token 切」。要讲清楚依据——文档类型(FAQ 短文本 vs 长技术文档)、语义边界(按标题/段落切而非硬截断)、overlap 设置(如 10%~20% 防止语义断裂)。再补一句权衡:chunk 太小召回碎片化、上下文不完整;太大则噪声多、命中精度下降、token 成本上升。最后落到你实际测过的指标,比如调整 chunk size 后 top-k 召回命中率的变化,哪怕是自己离线评测的小样本数据,也比空谈强。

追问二:Function Calling 里模型选错工具或者参数填错,你怎么处理?

参考回答方向:分三层说。第一层是 prompt/工具描述层面,工具名和 description 要写清适用场景和边界,参数用 enum 约束、给示例,减少歧义;第二层是运行时校验,拿到模型返回的 JSON 后做 schema 校验,参数缺失或类型错误就返回结构化错误信息让模型重试;第三层是兜底,重试 N 次仍失败则降级到规则匹配或直接向用户澄清。可以提一句多工具冲突时用「先粗分类再细选」的两阶段路由,比一次性丢几十个工具给模型更稳。

追问三:多轮对话上下文越来越长,你怎么控制?

参考回答方向:不要只答「截断」。可以讲:滑动窗口保留最近 N 轮 + 对更早的历史做摘要压缩(用便宜的小模型生成 summary);把稳定信息(系统 prompt、工具定义)和易变信息(对话历史)分离,前者可缓存;对 RAG 召回的文档做重排后只保留 top-k,避免把整篇塞进去。再补一句成本视角:上下文长度直接决定输入 token,长上下文模型单价更高,能用摘要 + 检索替代全量历史就尽量替代。

准备建议

  1. 把项目里的每个技术选型都准备一个「为什么不用另一个」的答案。面试官几乎不会问「你做了什么」,而是问「你为什么这么做」。RAG 的向量库选型、chunk 策略、Agent 的规划方式(ReAct vs Plan-and-Execute),都要能说出取舍,并尽量带上你测过的数字。
  1. 八股不要背结论,要能顺着往下讲两层。比如问到 Redis 分布式锁,答完 SETNX + 过期时间 后,主动补上「锁续期用看门狗」「释放锁要用 Lua 保证原子性」「Redlock 的争议」。Go 的 slice 扩容,答完 1.18 前后的扩容策略差异,再补一句扩容后的内存拷贝成本对性能的影响。这种「答完再延伸」的节奏最加分。
  1. 手撕题按「暴力 → 优化 → 边界」三步讲。先说出暴力解法确认题意,再讲优化思路(记忆化、剪枝、DP),最后主动提边界情况(空字符串、词表含单字符、目标串无法拼接)。写代码时命名清晰、先写主逻辑再补边界,比一上来抠细节更稳。建议把「单词拆分」「组合总和」「括号生成」这类 DFS + 记忆化的题各手写一遍。

整体感受:三面不再考你会不会,而是考你想得够不够深、有没有工程判断。项目部分占比明显高于纯八股,Agent 相关的上下文管理和成本优化是高频追问点。

面试结束当天收到反馈,三面通过,约一周后进入 HR 面。

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