面试面经 · Momenta
【Momenta】【Agent 开发】【暑期实习HR面】面经(八股+大模型项目+手撕)
Momenta Agent 开发 暑期实习 HR面 面经
海外一年制硕士,投递 Momenta Agent 开发岗,HR 面一小时,整体节奏快,技术问题占比高,HR 对工程落地细节比预期更懂。
题目摘要
- Go 语言基础:goroutine 与 channel 的底层原理,GMP 模型简述,内存逃逸分析场景
- MySQL/Redis 八股:索引失效场景、间隙锁与幻读、Redis 持久化机制对比(RDB vs AOF)、缓存穿透/击穿/雪崩的区分与应对
- Agent 项目深挖:RAG 检索召回质量优化、Function Calling 的 tool 选择策略、多轮对话上下文管理、推理成本优化(token 压缩与缓存)
- 手撕算法题:合并区间(LeetCode 56 变体),要求输出合并后的区间数量,并说明时间/空间复杂度
- 系统设计开放题:如果为 Agent 增加记忆功能,你会如何设计存储与检索方案
项目深挖
追问 1:你的 RAG 方案中,检索召回率低时怎么排查?
参考回答方向:先分环节定位——是 embedding 模型对领域术语表征差,还是 chunk 切分破坏了语义完整性,或是 rerank 阈值设置不合理。我实际做法是构建一个小的评估集,标注 50 条 query 对应正确文档,离线跑 recall@k 指标,对比不同 chunk size(256/512/1024)和 top-k 值的效果。另外检查了 query 是否需要改写(如缩写、口语化表达),加了一层基于 LLM 的 query 理解模块,recall@5 从 68% 提到 82%。
追问 2:Function Calling 的 tool 数量多时,如何控制 token 消耗和选择准确性?
参考回答方向:两个维度——一是 tool 描述精简,把长 description 压缩成关键词+参数 schema,实测单 tool 描述从 120 token 降到 40 token,整体 system prompt 减少约 30%;二是分组路由,先让模型选 tool 类别(如"天气类""计算类"),再在组内做具体选择,避免一次性把所有 tool schema 塞进 prompt。还加了缓存,同一 session 内相同 tool 列表不重复下发。
追问 3:多轮对话中上下文越来越长,怎么处理?
参考回答方向:滑动窗口+摘要压缩双轨。窗口内保留最近 5 轮完整消息,更早的用 LLM 生成结构化摘要(用户意图、已确认信息、待办事项),摘要本身也做 token 预算限制。另外对工具调用结果做截断,只保留关键字段,不把完整 JSON 响应塞进上下文。实测上下文 token 从峰值 8k 压到 3.5k,且关键信息召回率没明显下降。
手撕算法题
题目:给定一个区间的集合 intervals,合并所有重叠区间,返回合并后的区间数量。要求原地修改(可排序),空间复杂度 O(1)(不计排序栈空间)。
关键思路:先按区间起点升序排序;维护当前合并区间的右端点 curEnd,遍历每个区间,若当前区间起点 <= curEnd,则更新 curEnd = max(curEnd, 当前区间终点);否则计数 +1,并重置 curEnd。注意边界:区间可能完全被包含,此时 curEnd 不变。时间复杂度 O(n log n) 为排序开销,遍历 O(n)。
代码要点:排序用 sort.Slice 或 Arrays.sort,注意 Go 里 sort.Slice 的 less 函数闭包捕获 intervals 切片,比较 intervals[i][0] < intervals[j][0]。合并时直接复用原切片,不新建结果数组,用指针 index 记录写入位置。
准备建议
- Go 基础别只背八股,要能画 GMP 流程图。面试官会追问"goroutine 栈初始多大,什么时候扩容"、"channel 底层是 hchan 结构体,sendq/recvq 怎么组织",建议手写一遍 GMP 调度循环伪代码,理解 P 的本地队列和全局队列的 steal 机制。
- Agent 项目准备一个量化指标表。把每个优化动作对应的指标变化(recall、latency、token 消耗)做成表格,面试时直接报数字。Momenta 的风格是"你说提升了,那具体提升多少,怎么测的",没有数据的优化描述会被视为无效。
- 手撕算法题刷高频区间类。合并区间、插入区间、会议室 II 这三道必刷,注意变体(如返回合并后的区间数量、返回最大重叠数)。建议用 Go 写,因为岗位 JD 明确要求 Go,用 Java 写可能被追问"Go 的 slice 和 array 区别"。
结果反馈
一面通过,3 天后约技术二面,面试官说后续会重点考察 Agent 推理链路设计和多模态数据处理。
想系统备战大厂大模型/Agent 开发?NiceOffer 提供 SDE+LLM 双轨 1v1 陪跑,合同保底 40w 年薪,文末扫码咨询。