NiceOffer

面试面经 · 图森未来

【图森未来】【大模型开发】【暑期实习三面】面经(八股+大模型项目+手撕)

图森未来面经大模型开发实习

海外一年制硕士,投递图森未来大模型开发暑期实习,三面技术面,时长约 70 分钟,面试官是团队里做 Agent 方向的工程师,全程共享屏幕写代码 + 追问项目。

题目摘要

  • Go 语言基础:slice 与 array 的区别、slice 扩容机制、append 在什么情况下会引发底层数组共享导致的数据覆盖;map 是否并发安全,如何实现一个并发安全的 map。
  • MySQL / Redis 八股:MySQL 聚簇索引与二级索引的回表过程,explain 里 type 字段从差到好的排序;Redis 缓存穿透、击穿、雪崩的区别与各自解法,布隆过滤器为什么会有误判。
  • RAG 项目深挖:文档切分策略怎么定的、召回效果怎么评估、有没有做过 rerank、向量库选型理由。
  • Agent / Function Calling:工具调用失败或参数解析错误时怎么兜底,多轮对话里上下文怎么裁剪,超长上下文下的推理成本怎么压。
  • 手撕算法:LRU 缓存。题意:设计一个数据结构,支持 get(key) 和 put(key, value),两者都要求 O(1) 时间复杂度,容量满时淘汰最久未使用的 key。关键思路:哈希表 + 双向链表,哈希表存 key 到链表节点的映射,链表头部放最近使用、尾部放最久未使用,get 命中后把节点移到头部,put 时若 key 存在则更新并移到头部,不存在则插入头部并在超容量时删尾节点。面试官要求手写双向链表节点结构,不能用语言自带的 ordered map。

项目深挖

简历上写了一段基于 RAG 的知识库问答和一段 Agent 工具调用的小项目,面试官几乎没问八股式的"介绍一下项目",而是直接切进细节。

追问一:文档切分你是怎么做的,为什么这么切?

参考回答方向:不要只说"按 512 token 切"。要讲清楚切分粒度和检索粒度的矛盾——切太碎语义不完整,召回时单块信息量不够;切太大向量表征会被稀释,相似度区分度下降。可以说明自己用的是按标题层级递归切分 + 相邻块 overlap,overlap 的作用是防止答案正好被切断在边界上。如果被追问"怎么验证这个策略有效",答用一组标注好的问答对做召回率对比,而不是拍脑袋。

追问二:召回结果里混进不相关文档,你怎么处理?

参考回答方向:先分两层——召回阶段和排序阶段。召回阶段可以调 top-k、加相似度阈值过滤;排序阶段引入 rerank 模型(如 cross-encoder)对候选重新打分,因为向量检索是双塔的近似匹配,精度天然不如交叉编码。还可以提 query 改写,把用户口语化的问题改写成更适合检索的形式。面试官大概率会追问 rerank 的延迟代价,要能说出这是精度和延迟的 trade-off,线上可以只对 top-20 做 rerank。

追问三:Agent 调用工具时模型返回了非法 JSON 或调用了不存在的工具,你怎么兜底?

参考回答方向:分三层。第一层是 schema 约束,用 Function Calling 的结构化输出能力或者 JSON mode,从源头降低格式错误率;第二层是解析失败后的重试,把报错信息拼回 prompt 让模型自我修正,但要限制重试次数防止死循环;第三层是兜底话术,重试仍失败就返回"暂时无法完成该操作"并记录日志,而不是把异常抛给用户。可以补一句:工具名和参数要做白名单校验,不能直接信任模型输出。

追问里还穿插了上下文管理:多轮对话变长后怎么控制 token。回答方向是滑动窗口 + 摘要压缩结合,近期对话保留原文,早期对话用模型压缩成摘要,同时把系统提示和工具定义这类固定开销单独计量。

准备建议

  1. 把简历上每个项目都准备一个"数字版"和"踩坑版"。数字版是召回率、延迟、token 消耗这类可量化指标;踩坑版是你上线后发现的问题和改法。面试官对"我做了 RAG"没兴趣,对"我第一版召回率只有 60%,换了切分策略后到 80%"才有兴趣。
  1. 八股不要背结论,要能画图讲过程。MySQL 回表、Redis 缓存三兄弟这类题,面试官会顺着你的回答往下钻,比如你说布隆过滤器有误判,他马上问为什么有误判、误判率怎么算。准备时对着白纸把索引 B+ 树结构、缓存失效流程画一遍,比背文字管用。
  1. 手撕题按"先讲思路再写代码"的节奏练。LRU 这种题思路清晰但链表指针容易写错,面试时先说哈希表 + 双向链表的分工,再动手,写完自己走一遍 put 已存在 key 的边界情况。平时刷题时强迫自己口述思路,别默写。

整体感受:三面更看重项目真实度和工程判断,八股是筛子,项目是主菜。一面通过,约 5 天后收到二面通知,二面后一周进入三面,三面结束当天收到口头 offer。

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