NiceOffer

面试面经 · 小鹏汽车

【小鹏汽车】【Agent 开发】【暑期实习三面】面经(八股+大模型项目+手撕)

小鹏汽车面经Agent 开发实习

小鹏汽车 Agent 开发 暑期实习三面面经

背景: 海外一年制硕士,计算机相关专业,一段大模型 Agent 相关项目经历。

题目摘要

面试时长约 1 小时 15 分钟,整体节奏紧凑,面试官为 Agent 平台组资深工程师,全程无闲聊,直接进入技术考察。核心考点如下:

  1. Go 语言基础:goroutine 与 channel 的底层实现差异,GMP 调度模型简述,以及 sync.WaitGroupchannel 在并发同步场景下的取舍。
  2. MySQL 与 Redis:MySQL 索引失效的典型场景(隐式类型转换、函数操作、最左匹配原则违背);Redis 缓存穿透与雪崩的应对方案,重点追问了布隆过滤器在缓存穿透中的实际使用细节。
  3. RAG 项目深挖:针对简历中的 Agent 项目,追问了检索召回策略、上下文窗口管理、以及推理成本优化三个方向的具体实现。
  4. Function Calling 设计:如何让大模型在给定约束下稳定地输出结构化工具调用参数,以及如何处理模型幻觉产生的非法调用。
  5. 手撕算法题题目: 给定一个无序整数数组 nums 和一个目标值 k,返回所有和为 k 的连续子数组的个数。关键思路: 前缀和 + 哈希表优化。遍历数组维护前缀和 preSum,用哈希表记录每个前缀和出现的次数,每遍历到一个位置,查询 preSum - k 在哈希表中的出现次数并累加到结果中。时间复杂度 O(n),空间复杂度 O(n)。注意边界条件:k 为负数或零时同样适用,且子数组可为空集(若题目允许)。

项目深挖

面试官对项目细节的追问深度明显高于前两轮,以下是三个最具代表性的追问及参考回答方向:

追问 1:你的 RAG 系统在检索阶段如何平衡召回率与精确率?具体用了什么策略?

参考回答方向:不要只说"用了向量检索 + 关键词检索的混合方案"。要具体说明:

  • 向量检索用的什么 embedding 模型,维度多少,相似度计算用的内积还是余弦。
  • 关键词检索用的 BM25 还是 TF-IDF,两者结果如何融合(如 RRF 分数倒数融合法)。
  • 是否存在重排阶段,如果有,用的是 cross-encoder 还是 rerank 模型,延迟和精度提升的数据是多少。
  • 如果没有重排,要诚实说明,并解释当时为什么没做(如推理成本限制),以及后续如何改进。

追问 2:上下文管理是怎么做的?如果用户连续对话超过窗口限制怎么办?

参考回答方向:这个问题考察的是工程落地能力,而非仅仅理论。建议回答:

  • 明确你用的模型窗口大小(如 8K、32K)。
  • 说明具体策略:是简单截断(保留最近 N 轮),还是基于 token 数的滑动窗口,还是摘要压缩(将早期对话用 LLM 生成摘要后放回上下文)。
  • 如果做了摘要压缩,要说明摘要的触发时机(如 token 数达到阈值时)、摘要的存储位置(内存 or 数据库)、以及摘要本身是否参与检索。
  • 补充一个细节:如何区分系统提示词、历史对话、检索到的外部知识这三部分的优先级,避免关键信息被截断。

追问 3:你提到做了推理成本优化,具体优化了哪些环节?量化收益是多少?

参考回答方向:这是加分项,但必须给出真实数据支撑。

  • 如果用了 prompt 压缩,说明具体压缩率(如从 2000 token 压到 500 token),以及压缩后回答质量的评估方式(如人工评测或 LLM-as-Judge)。
  • 如果用了缓存,说明缓存命中率大概多少,是基于 embedding 的语义缓存还是基于文本的精确匹配缓存。
  • 如果用了小模型做前置过滤(如意图识别),说明小模型的参数量级(如 0.5B vs 7B),以及过滤掉多少比例的无效请求。
  • 注意:不要夸大收益,面试官会追问具体数值是怎么测出来的。

准备建议

  1. 把 Go 并发模型和 MySQL 索引失效场景做成"条件反射"级别的八股。小鹏的面试官不会问"什么是 goroutine"这种基础题,而是直接让你解释 GMP 调度的某个细节(如 P 的数量默认是多少、M 阻塞后如何恢复),或者给你一个具体 SQL 让你判断索引是否失效。建议用半天时间把这两个高频考点整理成自己的话术,并配合 2-3 个实际场景举例。
  2. Agent 项目必须准备至少 3 个"数据驱动"的量化指标。面试官对项目的追问全部围绕"怎么做的"和"效果如何"展开,如果你的回答里只有"用了 LangChain"、"调了 OpenAI API"这类描述,基本会被判定为简历包装。建议提前整理:检索延迟(如平均 200ms)、回答准确率(如基于 100 条测试集的人工评测)、成本(如单次对话 token 消耗平均值)。没有真实数据的,赶紧用一周时间补跑实验。
  3. 手撕算法题重点复习前缀和、滑动窗口、双指针三类题型。小鹏的算法题难度中等偏易,但考察的是代码规范性和边界条件处理。建议在面试前把这三类题型的模板代码默写一遍,尤其是前缀和 + 哈希表这个组合,出现频率极高。另外,写代码时注意变量命名清晰,先解释思路再动手,面试官会关注你的解题过程而非仅仅结果。

结果反馈

三面通过,约一周后收到 HR 电话沟通 offer 意向,随后安排了技术终面(交叉面),整体流程大约持续三周。

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