NiceOffer

面试面经 · 大疆

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

大疆面经大模型开发实习

海外一年制硕士,投递大疆大模型开发暑期实习,一面约 60 分钟,面试官全程开摄像头,节奏偏快,八股与项目穿插问,最后 20 分钟手撕代码。

题目摘要

  1. Go 语言基础:slice 的底层结构、扩容规则,以及 slice 作为函数参数传递时修改元素是否影响原切片;map 是否并发安全,如何实现并发安全的 map。
  2. MySQL 八股:聚簇索引与非聚簇索引的区别,什么情况下会走不到索引(隐式类型转换、函数包裹列、最左前缀失效);explain 里 type 字段从好到坏的排序。
  3. Redis 八股:缓存穿透、击穿、雪崩的区别与各自解法;Redis 分布式锁的加锁、续期、释放流程,为什么释放锁要用 Lua 脚本。
  4. RAG 项目深挖:文档切分策略怎么定的,检索召回率低怎么排查,rerank 模型和向量召回的分工,如何评估 RAG 效果。
  5. Agent / Function Calling:多轮工具调用时上下文怎么管理,工具描述写不好会导致什么问题,如何控制推理成本。
  6. 手撕算法:给一个整数数组和一个目标值,找出数组中和为目标值的两个数,返回下标。关键思路是用哈希表把「查找补数」从 O(n) 降到 O(1),遍历时先查 target - nums[i] 是否在表里,在就返回,不在就把当前值和下标存进去,整体 O(n) 时间、O(n) 空间。面试官追问了如果有重复元素、要求返回所有组合怎么改。

项目深挖

简历上写了一段 RAG 知识库问答和一段带 Function Calling 的 Agent 项目,面试官主要往这三个方向追。

追问一:你的 RAG 检索召回率是怎么评估的,有没有量化指标?

参考回答方向:不要只说「感觉效果还行」。要给出评估集构造方式,比如从真实文档里人工标注 100 条 query-答案对,用命中率(recall@k)和 MRR 衡量检索阶段,用答案正确率或人工打分衡量生成阶段。再说明调优动作:切分粒度从固定 512 token 改成按语义段落切、加 rerank、调整 top-k,每一步对应指标变化。面试官想听的是你有没有「先量化再优化」的意识,而不是堆技术名词。

追问二:多轮 Function Calling 里,上下文越来越长,你怎么处理?

参考回答方向:分两层讲。一是裁剪策略,保留 system prompt、最近 N 轮对话、以及所有工具调用结果的关键字段,历史轮次做摘要压缩;二是工程手段,把工具返回的大 JSON 只保留模型决策需要的字段,不要把整个响应塞回上下文。可以提一句 token 计费和延迟的关系,说明你关注过推理成本。如果被追问「摘要会不会丢信息」,就承认有风险,并说明对关键实体做了结构化保留。

追问三:推理成本怎么优化的,有没有实际数据?

参考回答方向:从三个角度答。模型侧,简单意图识别用小模型、复杂生成用大模型做路由;缓存侧,对高频相同 query 做语义缓存或精确缓存;prompt 侧,压缩 system prompt、减少 few-shot 示例数量。给出一个粗略对比,比如优化后单次请求平均 token 下降多少、P95 延迟下降多少。没有精确数据就说明是估算口径,别硬编。

准备建议

  1. 八股按「能画图 + 能举例」的标准准备。MySQL 索引和 Redis 缓存三兄弟几乎必问,不要背结论,要能画出 B+ 树结构、能举出一个走不到索引的 SQL 例子。Go 的 slice、map、channel、GMP 模型是高频区,重点看 slice 扩容和 map 并发写 panic 的底层原因。
  1. 项目复盘写成「问题—动作—指标」三段式。面试官对「我用了 LangChain 搭了个 RAG」不感兴趣,感兴趣的是你遇到什么具体问题、做了什么改动、指标怎么变。提前把 RAG 和 Agent 项目各准备 3 个可被追问的细节,包括失败案例。
  1. 手撕题按高频题型刷,重点练哈希、双指针、滑动窗口、二叉树遍历、动态规划入门。大疆一面算法题难度偏中等,但要求手写能跑、边界处理干净。练习时用共享屏幕的方式写,模拟真实环境,别只在本地 IDE 里补全。

一面整体答得比较顺,八股有两处答得不够深但面试官给了提示,手撕题写完并跑通。一面通过,5 天后约了二面。

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