适合人群:目标偏自动驾驶、智能驾驶、车端算法或 C++ 系统岗的学生 代表公司:Momenta、地平线、理想、小鹏、文远知行等自动驾驶或车端技术公司

自动驾驶方向最容易出现的一种错觉是:

“我把 C++、算法、操作系统补一补,再加一点深度学习,不就差不多了。”

真到面试里,通常不是这么回事。

因为自动驾驶公司很少只把你当成一个“会写代码的人”来面。

它更常见的筛法是:

  • 你 C++ 和系统够不够硬

  • 你知不知道感知、定位、规划、控制这条链是怎么串起来的

  • 你有没有车端场景、实时性、部署和异常排查的意识

也就是说,自动驾驶公司的八股,不是一套通用 C++ 八股上面撒点 AI 术语。

它更像:

通用基础 + 场景知识 + 工程约束 三件事一起考。

这篇就把这条线拆开。


校招大礼包获取:入口

可能是至今最全,最好,最实用的校招大礼包,减少信息差,预期漫步无敌的刷提,不如有的放矢,针对性的准备,这样才能有效备考,有了这份资料,不说100%拿到offer,至少帮你提升50%概率拿到offer


自动驾驶公司到底在筛什么

先说结论:

自动驾驶公司最想确认的,不是你会不会背很多名词。

而是下面这三件事。

1. 你有没有硬一点的 C++ 和系统底子

自动驾驶很多岗位,最后都会落到:

  • 多线程

  • 内存和对象生命周期

  • 消息传递

  • 大对象处理

  • 延迟和吞吐

  • Linux 环境下的性能和稳定性

这就决定了,自动驾驶公司会比很多互联网岗位更敏感地看你的 C++ 质感。

2. 你是不是真的理解整条车端链路

哪怕你只投感知岗,面试官也不喜欢只会讲模型的人。

它往往会看你知不知道:

  • 上游传感器数据怎么来

  • 中间融合、跟踪、定位怎么接

  • 下游规划控制要的到底是什么输入

  • 一个模块精度高但延迟大,到底算不算好结果

3. 你有没有“放到车上会怎样”的意识

这是自动驾驶八股最有区别度的地方。

互联网里很多知识点,只要逻辑对、性能大致够,已经能成立。

自动驾驶不一样。

你写的代码、你用的模型、你设计的链路,最后要面对的是:

  • 延迟预算

  • 资源限制

  • 传感器误差

  • 同步问题

  • 长尾场景

  • 安全约束

所以自动驾驶面试官很容易从一个知识点,追到“如果真上车,会在哪里出问题”。


自动驾驶八股,最该按哪五块来补

如果你想准备得更有效,不要把资料切得太碎。

更稳的分法是下面这五块。

模块 高频内容 面试官真正在看什么
C++ 和 Linux 智能指针、移动语义、多线程、锁、IPC、共享内存、性能优化 代码质量和系统能力
感知和传感器 摄像头、激光雷达、毫米波雷达、融合、检测、跟踪、BEV、NMS 是否理解输入和感知链路
定位和 SLAM 坐标系、标定、外参、卡尔曼滤波、VIO、激光/视觉 SLAM 是否理解状态估计和误差来源
规划和控制 Frenet、轨迹生成、A*、MPC、PID、约束和稳定性 是否理解下游决策和执行
部署和工程 ROS/ROS2、日志回放、延迟优化、同步、资源约束、评估指标 是否具备落地意识

不同岗位会偏不同块。

但至少前两块和最后一块,几乎很难绕开。


自动驾驶面试里,最容易拉开差距的 5 条追问链

1. 传感器融合追问链

第一问往往很轻:

“为什么自动驾驶要做多传感器融合?”

后面常见会接:

  • 摄像头、激光雷达、毫米波雷达各自优缺点是什么

  • 为什么不能只靠摄像头

  • 时间同步和空间标定如果有偏差,会出什么问题

  • 融合是在前融合、中融合还是后融合做,各自代价是什么

这条链背后看的,是你有没有数据链路意识,而不是只会背“融合更鲁棒”。

2. 目标检测追问链

第一问可能是:

NMS 是干什么的?”

后面经常会变成:

  • 为什么需要去掉重叠框

  • IOU 怎么算

  • Soft-NMS 和普通 NMS 差别在哪

  • BEV 在自动驾驶里为什么这么常见

  • 精度和延迟冲突时你怎么取舍

这条链背后看的,是你到底懂概念,还是做过真正的检测和部署。

3. 定位和滤波追问链

第一问一般是:

“卡尔曼滤波是什么?”

后面很容易被追到:

  • 为什么要做状态估计

  • 线性 KF、EKF、UKF 的适用边界

  • 传感器噪声怎么建模

  • IMU 漂移为什么会积累

  • 外参错一点点,最终轨迹会怎么坏

这条链背后看的,是你能不能理解“不确定性”。

4. 规划和控制追问链

第一问可能是:

“PID 和 MPC 有什么区别?”

后面常见接法是:

  • PID 为什么简单但容易在复杂约束下吃亏

  • MPC 为什么适合约束优化

  • 规划和控制怎么分层

  • 路径和轨迹到底有什么区别

  • 横向控制和纵向控制分别关心什么

这条链背后看的,是你有没有系统闭环意识。

5. 项目和部署追问链

第一问永远是:

“讲讲你做过的自动驾驶/感知/SLAM 项目。”

真正难的是:

  • 数据从哪里来

  • 标定怎么做

  • 延迟瓶颈在哪

  • 模型部署到了什么硬件

  • 线上指标和离线指标有没有偏差

  • 遇到 bad case 你怎么查

这条链背后看的,是项目到底是不是“真落过”。


自动驾驶方向最容易踩的 4 个坑

误区 1:把它准备成纯互联网 C++ 岗

这是最常见的错法。

你当然要会 C++、OS、网络。

但如果你完全不会讲:

  • 传感器

  • 融合

  • 标定

  • 定位

  • 规划控制

  • 部署延迟

那面试官会很快觉得你方向不对。

误区 2:只会讲模型,不会讲链路

有些同学做过视觉或点云项目,模型讲得挺好。

但一问:

  • 数据怎么清洗

  • 多传感器怎么同步

  • 模型怎么部署

  • bad case 怎么回放

就明显掉线。

自动驾驶公司很少只收“论文感”很强的人。

它更爱收能把模型放进系统里的人。

误区 3:只会说指标,不会说代价

“我把 mAP 提高了 2 个点。”

这句话当然不错。

但自动驾驶更爱追问:

  • 延迟呢

  • 内存呢

  • 稳定性呢

  • 雨雾夜逆光这些场景呢

如果这些完全答不上,项目说服力会掉得很快。

误区 4:把 ROS 当成全部,或者完全当成没用

更准确的说法应该是:

  • 校园项目里,ROS/ROS2 是高频入口

  • 很多公司生产环境会有自研框架

所以你既别把 ROS 当成自动驾驶全部,也别完全不会。

至少 Topic、Service、bag、坐标变换这些沟通语言,最好能讲顺。


没有自动驾驶实习,项目怎么补更有用

很多同学卡在这里:

“我没有车厂或自动驾驶公司的实习,是不是就很难投?”

没那么绝对。

关键是你手上的项目,能不能往自动驾驶语境里靠。

如果你做过视觉项目

重点补:

  • 标定和坐标系

  • 检测/跟踪/融合

  • 误检漏检分析

  • 模型部署和加速

如果你做过 SLAM / VIO / 机器人导航项目

重点补:

  • 传感器同步

  • 状态估计

  • 地图和定位关系

  • 轨迹误差和漂移

如果你更偏 C++ / 系统项目

重点补:

  • 多线程

  • IPC

  • 共享内存

  • 零拷贝

  • 大对象容器优化

自动驾驶公司不是只收“会训模型的人”。

很多时候,系统和工程底子硬的人也很有竞争力。


最低准备标准,至少先过这几条

如果你准备投自动驾驶技术岗,至少先把这些补到能讲:

  • ⬜ C++ 基础、智能指针、移动语义、多线程不发虚

  • ⬜ 能说清至少一条感知、定位、规划或控制链路

  • ⬜ 项目里能讲数据、模块、延迟、部署和 bad case

  • ⬜ 知道“精度高”和“能上车”不是一回事

如果这几条都还没过,先别急着海投太多自动驾驶公司。

先把方向味补出来。


30 天补法,怎么更像自动驾驶备考

阶段 时间 重点任务
C++ 和系统底盘 Day 1-7 现代 C++、多线程、锁、共享内存、容器优化、Linux 基础
感知专项 Day 8-13 传感器特点、检测、跟踪、NMSIOU、BEV、融合基础
定位和 SLAM Day 14-19 坐标系、标定、卡尔曼滤波、VIO/激光 SLAM 主线
规划和控制 Day 20-24 Frenet、轨迹、A*/采样、PID、MPC、控制闭环
项目和部署 Day 25-28 项目链路、延迟、部署、评估指标、bad case 排查
冲刺演练 Day 29-30 自我介绍、项目追问、专项追问链模拟

这 30 天里,最重要的不是看完多少资料。

而是你能不能把一个项目讲成下面这种结构:

场景 -> 数据 -> 算法/模块 -> 工程实现 -> 指标 -> 问题 -> 优化

一旦这个结构稳定了,很多自动驾驶面试会顺很多。


如果只能记住一句话

自动驾驶公司的八股,真正难的地方不在“知识点更多”。

而在于它要求你把知识点放进一辆真实的车里去思考。

只会通用 C++,不够。

只会算法名词,也不够。

你得能回答:

这东西放到车上,为什么这样设计,哪里会坏,怎么优化。

系列内继续看

  • 如果你还在互联网、自动驾驶、机器人三类公司之间摇摆,先回去看总纲篇。

  • 如果你更偏通用开发和大厂基础面试,再看互联网公司篇。

  • 如果你项目更偏 ROS、控制、真机调试和机器人系统,再看机器人公司篇。


你可能还要继续看这些

  • 📌 Momenta 校招 C++ 考试题到底怎么考:适合看算法和系统一起落地的自动驾驶筛法

  • 📌 地平线校招 C++ 考试题到底怎么考:适合看 AI、C++、系统软件怎么交叉考

  • 📌 理想校招 C++ 考试题到底怎么考:适合看车企 C++ 岗怎么追现代 C++ 和项目实践

  • 📌 小鹏校招 C++ 考试题到底怎么考:适合补车企场景下的 C++ 和工程约束

  • 📌 大疆创新校招备考攻略:适合补硬科技公司的工程味和部署意识

自动驾驶备考最怕的,不是不会背。

而是你说的每个知识点,都还停留在“离车很远”的状态。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐