面试面经 · 滴滴
【滴滴】【大模型开发】【暑期实习三面】面经(八股+大模型项目+手撕)
滴滴 大模型开发 暑期实习三面面经
背景
海外一年制硕士,后端开发方向,投递滴滴大模型开发暑期实习,前两面分别考察了基础算法与项目经历,三面为技术终面,整体风格偏工程落地。
题目摘要
- 编程语言基础(Go):goroutine 与 channel 的底层实现、GMP 调度模型、内存逃逸分析
- MySQL/Redis 八股:MVCC 实现原理、索引失效场景、Redis 持久化机制与缓存一致性策略
- 大模型项目深挖:RAG 检索优化、Function Calling 的容错设计、上下文窗口管理与推理成本优化
- 手撕算法:实现一个支持
get和put的 LRU Cache(LeetCode 146),要求写出关键思路与边界处理
项目深挖
面试官对简历中一个基于大模型的智能客服项目进行了连续追问,该项目使用 RAG 架构,结合 Function Calling 实现外部工具调用。
追问一:你的 RAG 检索召回率不高,如何定位和优化?
参考回答方向:从召回链路拆解问题。先分析 embedding 模型对领域术语的编码效果,如果领域词汇不在预训练语料中,考虑微调 embedding 模型或使用领域词典做查询扩展。其次检查 chunk 切分策略,固定长度切分容易切断语义完整的段落,改用基于语义边界的切分(如按标题、段落、句子结束符)。最后引入重排模型(如 bge-reranker)对 top-K 结果精排,实测 top-5 准确率提升约 12%。面试官追问了重排模型的开销问题,可以回答通过级联策略控制成本——先粗排取 top-50,再用重排模型精排取 top-5。
追问二:Function Calling 在真实调用时如果工具返回异常,你的 Agent 如何处理?
参考回答方向:设计了三级容错机制。第一层是参数校验,调用前用 JSON Schema 校验模型生成的参数格式,拦截类型错误和缺失字段。第二层是超时与重试,工具调用设置 3 秒超时,超时后自动降级为不调用工具直接生成回答。第三层是结果解析容错,工具返回非 JSON 格式时尝试正则提取关键字段,若仍失败则向模型注入"工具暂时不可用,请基于已有知识回答"的系统提示。同时所有失败路径都有日志记录,用于后续分析模型调用工具的错误模式。
追问三:上下文管理上如何处理长对话,同时控制推理成本?
参考回答方向:采用分层上下文管理。第一层是固定系统提示,压缩到 200 token 以内,只保留角色设定和关键规则。第二层是动态摘要,当对话轮次超过 6 轮时,调用轻量模型对历史消息生成摘要,替换原始消息。第三层是滑动窗口,始终保留最近 4 轮完整对话以保证连贯性。成本控制上,对摘要模型使用更小的参数版本(如 1.5B 而不是 7B),并设置每日 token 预算,超过阈值自动切换为纯检索模式,不再调用大模型生成。
手撕算法
题目是 LRU Cache,要求实现 get(key) 和 put(key, value),操作平均时间复杂度为 O(1)。
关键思路:使用哈希表 + 双向链表。哈希表存储 key 到链表节点的映射,链表按访问时间排序,头部为最近使用,尾部为最久未使用。get 时若 key 存在,将对应节点移到头部并返回值;put 时若 key 已存在则更新值并移到头部,若不存在则插入头部,若容量已满则删除尾部节点并移除哈希表映射。边界情况包括容量为 0、key 不存在、更新已有 key 时容量不变化。
面试官追问了为什么不用单链表,回答是删除尾部节点时需要访问其前驱节点,单链表需要 O(n) 遍历,双向链表可以 O(1) 完成。追问能否用 LinkedHashMap 实现,我承认 Java 中可以但 Go 需要手写,面试官表示认可。
准备建议
- 项目准备要有数据支撑:面试官对项目细节的追问非常深,建议提前整理项目中的关键指标(如检索准确率、响应延迟、成本节省百分比),并准备好"如果效果不好你怎么排查"的完整思路。不要只讲做了什么,要讲为什么这么做、试过哪些方案、最终为什么选这个。
- Go 语言重点复习并发与内存模型:滴滴后端大量使用 Go,面试官会问 goroutine 调度、channel 底层结构(hchan 的锁与缓冲区)、
sync.Pool的使用场景。建议手写一个简单的 worker pool 并画出 GMP 调度流程图,比背八股更有效。 - 大模型方向准备"降级方案":面试官非常关注工程落地能力,特别是面对大模型输出不稳定、成本高昂时的应对策略。建议针对自己的项目准备至少 2 种降级路径(如模型不可用时走规则引擎、超时后返回缓存结果),并量化降级带来的收益。
结果反馈
三面结束后约 3 天收到 HR 通知,面试通过,进入 offer 审批阶段。整体面试体验不错,面试官对工程细节的追问很有深度,建议后续面试者在项目准备上多花时间梳理技术选型的取舍过程。
想系统备战大厂大模型/Agent 开发?NiceOffer 提供 SDE+LLM 双轨 1v1 陪跑,合同保底 40w 年薪,文末扫码咨询。