NiceOffer

面试面经 · 文远知行

【文远知行】【大模型开发】【暑期实习一面】面经(八股+大模型项目+手撕)

文远知行面经大模型开发实习

文远知行 大模型开发 暑期实习一面面经

背景:海外一年制硕士,计算机相关专业,此前有一段大模型 Agent 方向的项目经历,主投大模型应用开发岗。

题目摘要

面试整体节奏偏快,考察点集中在工程基础与大模型应用落地细节,没有偏题怪题,但追问较深。

  1. Go 语言基础:goroutine 与 channel 的使用场景;GMP 模型中 G、M、P 分别是什么,什么情况下会发生 P 被抢占;sync.Mutex 与 atomic 操作的区别,何时用 atomic 更合适。
  2. MySQL 与 Redis 八股:MySQL 中 explain 的 key、rows、Extra 各代表什么;联合索引最左匹配原则在 where a = 1 and b > 2 and c = 3 下索引如何使用;Redis 缓存穿透与缓存击穿的区别及解决方案(重点问到了布隆过滤器与互斥锁)。
  3. 大模型项目深挖(RAG + Agent):项目里 RAG 的检索召回率如何评估;针对多轮对话场景,上下文管理策略是什么;Function Calling 的触发机制与容错处理;推理成本优化具体做了哪些事,量化到 token 层面。
  4. 手撕算法题:题目是「给定一个无序数组,找出最长的连续序列长度」,要求时间复杂度 O(n)。例如输入 [100, 4, 200, 1, 3, 2],输出 4。关键思路是先用哈希集合去重,再遍历每个元素,仅当 num - 1 不在集合中时,才从该元素开始向后递增计数,避免重复计算。代码量不大,但考察哈希表应用与边界意识。

项目深挖

面试官明显对 Agent 项目的工程细节比模型效果更感兴趣,问题集中在我如何解决真实场景中的不稳定问题。

追问 1:你的 RAG 系统检索回来的 chunk 经常不相关,怎么定位是 embedding 问题、切分问题还是 rerank 问题?

参考回答方向:先建立评估集,从线上日志抽 100 条 query,人工标注相关 chunk 的 ground truth。然后做消融实验:固定切分策略,对比不同 embedding 模型的 Recall@K;固定 embedding,调整 chunk_size 与 overlap,观察检索命中率变化;若引入 rerank 后指标没有明显提升,说明问题出在召回阶段而非排序阶段。最终我通过提高 top_k 并加一层轻量 rerank 模型,把 Recall@5 从 0.62 提升到 0.78。

追问 2:多轮对话中,用户会反复修改条件,你如何管理历史上下文?

参考回答方向:不能简单拼接全部历史,成本高且容易超窗口。我采用了三级策略:第一级是最近 2 轮完整对话原文;第二级是历史关键信息抽取,用 LLM 将每轮对话压缩成结构化槽位(如 时间=明天地点=天河区);第三级是持久化用户画像,存到 Redis 并设置过期时间。当新 query 进来时,先做意图判断,若涉及修改条件,则从第二级覆盖对应槽位,再拼进 prompt。这套方案将单次请求 token 消耗降低了约 35%。

追问 3:Function Calling 如果模型返回了不存在的函数名或参数格式错误,线上怎么处理?

参考回答方向:首先在 prompt 中给出严格的 JSON Schema 约束,并加入 few-shot 示例;其次做防御性校验,对模型输出做 JSON parse,若失败则重试一次,仍失败则走兜底逻辑——将用户 query 交给一个专门处理模糊意图的子 Agent。另外在函数定义侧,所有参数都设默认值,避免因缺参导致调用崩溃。线上监控中,单独追踪 function call 失败率,超过阈值时触发告警。

准备建议

  1. 把项目里的「量化指标」准备到位:面试官不会只问「做了什么」,而是追问「怎么证明有效」。建议提前统计好 RAG 的命中率、端到端延迟、token 消耗量等数据,并准备好对应的消融实验描述。没有真实数据的,也要给出合理的预估方法和对比基线。
  1. 手撕算法题不要只刷难题,重点练哈希表与双指针:这次考的连续序列是 LeetCode 128 原题变体,属于中等偏下难度。如果目标是实习岗,建议把 hot 100 中哈希表、滑动窗口、链表类题目刷透,尤其要习惯在白板上先讲思路再写代码,写完主动说时间复杂度和空间复杂度。
  1. Go 与 MySQL 八股按「高频问题清单」准备:Go 侧重 goroutine 调度、channel 阻塞机制、内存逃逸分析;MySQL 重点准备索引失效场景、explain 各字段含义、事务隔离级别。Redis 则聚焦缓存三大问题(穿透、击穿、雪崩)的解决方案对比。这些内容不需要死记,但要做到能画出结构图并解释原理。

结果反馈

一面通过,约 3 天后收到二面通知,二面侧重系统设计,后续单独整理。

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