自动驾驶面试必问的15个问题:感知+规划+控制全链路覆盖

面试专题作者: 美历团队

自动驾驶面试高频15题:3D检测/BEV感知/多传感器融合、行为预测/运动规划/Lattice Planner、MPC/PID控制、高精地图/仿真测试,每题含考察点与答案方向

背景介绍

我之前一直在做传统计算机视觉,去年开始转自动驾驶方向,面了大概五六家做自动驾驶的公司,包括造车新势力、传统车企的自动驾驶部门、还有几家做L4的创业公司。说实话,自动驾驶面试的覆盖面真的很广,从感知到规划到控制,每个模块都能单独出一套面试题。我整理了15道高频必问题,基本覆盖了面试官最爱考的知识点,希望能帮到正在准备的同学。

面试流程复盘

自动驾驶岗位的面试流程一般是:简历筛选→技术一面(基础+感知)→技术二面(规划+控制)→技术三面(系统设计或项目深挖)→HR面。有个很明显的特点,就是面试官会根据你的背景定向提问。比如你简历上写了3D目标检测,他就会从BEV感知一路问到多传感器融合;如果你写了规划,他就会从行为预测问到运动规划再到时空联合优化。所以简历上写的东西一定要能扛住深挖。我有个朋友在二面被问到"你做的3D检测在夜间场景下性能下降多少,怎么解决的",他没准备这个,直接卡壳了。

真题汇总

一、感知(5题)

1. 3D目标检测的主流方法有哪些?PointPillars和CenterPoint的区别?

考察点:理解3D检测的技术路线和代表性方法。

答案方向:3D检测主要分点云方法多模态方法。点云方法又分基于体素的(PointPillars、VoxelNet)和基于点的(PointNet++、CenterPoint)。PointPillars将点云划分为柱状体素(pillar),用PointNet提取特征后展开为伪图像,再用2D检测头。优点是速度快,适合实时部署。CenterPoint先用骨干网络提取BEV特征,再用CenterHead预测目标中心点和其他属性,通过关键点热力图做检测。CenterPoint的优势是不需要NMS(因为中心点是唯一的),精度更高,但速度稍慢。实际部署中PointPillars更常用,CenterPoint在学术benchmark上更优。

2. BEV感知是什么?为什么是当前主流方案?

考察点:理解BEV(鸟瞰图)感知的动机和优势。

答案方向:BEV感知是将多相机图像转换到统一的鸟瞰图空间进行感知。成为主流的原因:统一表示,多相机特征在BEV空间自然对齐,无需后融合;适合下游任务,规划和控制都在BEV空间工作,感知结果直接可用;时序融合方便,BEV空间下不同时刻的特征对齐简单。主流方案分基于LSS的(Lift-Splat-Shoot,显式预测深度分布做3D投影)和基于Transformer的(BEVFormer,用交叉注意力做特征查询)。BEVFormer精度更高但计算量大,LSS系列更轻量。特斯拉的Occupancy Network也是BEV感知的延伸。

3. 多传感器融合有哪些方式?前融合和后融合的区别?

考察点:理解传感器融合的策略和选择。

答案方向:融合方式按层次分:前融合(数据级),原始数据直接融合,信息保留最完整但对齐要求高;特征融合,各传感器提取特征后在中间层融合,是当前主流方案;后融合(目标级),各传感器独立检测后融合结果,实现简单但信息损失大。按时间分:早融合(输入时融合)和晚融合(输出时融合)。当前趋势是特征级融合,如BEVFusion将LiDAR点云和相机图像在BEV特征空间融合。前融合信息量最大但对标定和同步要求极高,后融合最简单但丢失了互补信息。

4. 车道线检测怎么做?有哪些挑战?

考察点:理解车道线检测的方法和难点。

答案方向:车道线检测方法:分割方法(将车道线像素分割出来,如SCNN);检测方法(直接回归车道线参数,如PolyLaneNet);Anchor-based方法(如LineCNN用行锚点检测);Transformer方法(如CLRNet用交叉注意力精修车道线)。主要挑战:遮挡(前车遮挡、弯道遮挡);磨损(老旧车道线不清晰);复杂拓扑(分合流、交叉路口);光照变化(逆光、夜间、雨雪)。当前工业界更倾向于用参数化表示(如三次多项式或贝塞尔曲线)来建模车道线,比像素级分割更鲁棒。

5. 多目标跟踪(MOT)的主流方法?

考察点:理解目标跟踪的技术路线。

答案方向:MOT分基于检测的跟踪(DBT)联合检测跟踪(JDT)。DBT是先检测再关联,代表方法有SORT/DeepSORT(用卡尔曼滤波+匈牙利算法做数据关联)。JDT是检测和跟踪端到端做,代表方法有TrackFormer、MOTR(用DETR架构做联合检测跟踪)。当前自动驾驶中DBT仍是主流,因为工程上更可控。关联算法的核心是特征匹配(外观特征+运动特征),DeepSORT用ReID特征做外观匹配,ByteTrack用检测分数做分层关联。3D MOT还需要考虑3D位置和速度信息做关联。

二、规划(5题)

6. 行为预测怎么做?有哪些不确定性?

考察点:理解轨迹预测的方法和不确定性建模。

答案方向:行为预测分确定性预测概率性预测。确定性预测输出一条轨迹,概率性预测输出多条可能轨迹(多模态)。主流方法:编码-交互-解码框架,先用向量编码器提取道路和Agent特征,再用交互模块建模Agent间关系,最后用解码器生成轨迹。代表方法:MultiPath(锚点+偏移)、CoverNet(覆盖集合)、MotionFormer(Transformer架构)。不确定性来源:认知不确定性(模型自身的不确定性,可通过集成估计)和偶然不确定性(环境本身的随机性,如行人意图不可预测)。工业界常用多模态预测(输出top-K条轨迹及概率)来应对不确定性。

7. 运动规划的方法有哪些?怎么处理动态障碍物?

考察点:理解运动规划的核心算法和动态场景处理。

答案方向:运动规划分搜索方法(A*、Hybrid A*)和优化方法(二次规划、非线性优化)。搜索方法在配置空间中搜索路径,适合有复杂约束的场景;优化方法在初始解附近迭代优化,速度快但依赖初始解。处理动态障碍物:时空规划(在x-y-t三维空间规划,同时考虑空间和时间);预测+规划(先预测动态障碍物轨迹,再在预测结果上规划);交互规划(考虑自车行为对他车的影响,做博弈论规划)。工业界常用分层架构:行为规划(决策)→运动规划(轨迹生成)→控制(跟踪)。

8. Lattice Planner的原理是什么?

考察点:理解Lattice Planner的工作机制。

答案方向:Lattice Planner的核心思想是在终点空间采样,生成一组候选终点,对每个终点用多项式(通常五次多项式)连接起点和终点生成候选轨迹,然后对候选轨迹做代价评估(考虑舒适性、安全性、效率等),选择代价最小的轨迹。Lattice Planner的优点:实时性好(采样+评估的计算量可控);可解释性强(代价函数的权重可以调);容易加入约束(直接在代价函数中加惩罚项)。缺点:采样密度和计算量的矛盾(采样太稀疏可能错过好轨迹,太密集计算量大);对终点空间的设计敏感(终点采样策略直接影响规划质量)。

9. 决策树在自动驾驶中怎么用?

考察点:理解行为决策的方法。

答案方向:决策树在自动驾驶中用于行为决策层,决定自车应该执行什么行为(跟车、变道、让行等)。实现方式:规则决策树(基于专家经验构建if-else规则,简单但难以覆盖所有场景);POMDP(部分可观测马尔可夫决策过程,可以建模不确定性,但计算复杂度高);强化学习(端到端学习决策策略,泛化性好但安全性难保证)。工业界目前以规则+状态机为主,辅以少量学习方法。规则决策树的核心挑战是场景覆盖规则冲突,需要大量的测试和迭代来完善规则库。

10. 时空联合规划是什么?比分离式规划好在哪里?

考察点:理解时空联合优化的优势。

答案方向:传统分离式规划是先做路径规划(s-l空间),再做速度规划(s-t空间),两步解耦。时空联合规划是在x-y-t三维空间同时优化路径和速度。联合规划的优势:更优解(分离式规划的两个子问题可能都不是全局最优,联合规划可以找到更好的解);处理动态场景更自然(动态障碍物在时空空间中是"障碍柱",联合规划可以自然绕开);更平滑(路径和速度同时优化,轨迹更平滑舒适)。劣势:计算量大(三维优化空间比二维大很多);求解更难(非凸优化问题更复杂)。实际中常用粗规划+精优化的策略:先用搜索方法在时空空间找粗解,再用优化方法精修。

三、控制(3题)

11. MPC在自动驾驶中怎么用?和PID的区别?

考察点:理解模型预测控制的原理和优势。

答案方向:MPC的核心思想是在每个时刻求解一个有限时域内的最优控制问题,只执行第一步控制量,然后滚动优化。MPC的优势:可以处理约束(速度约束、加速度约束、道路边界约束等);可以预测未来(基于模型预测未来状态,提前规划控制动作);可以优化多目标(舒适性、安全性、跟踪精度等加权优化)。和PID的区别:PID是反馈控制,只看当前误差;MPC是预测控制,看未来时域内的误差。MPC更智能但计算量更大,PID更简单但无法处理约束。自动驾驶中纵向控制常用MPC(处理跟车距离约束),横向控制MPC和PID都有

12. PID控制的参数怎么调?有什么技巧?

考察点:理解PID调参的实践经验。

答案方向:PID调参的基本顺序:先调P(比例增益,增大P使响应变快但可能振荡);再调D(微分增益,增大D抑制振荡但可能放大噪声);最后调I(积分增益,消除稳态误差但可能引起超调)。实用技巧:增量式调参(每次只调一个参数,观察效果);频域分析(用Bode图分析稳定裕度);自适应PID(不同速度/曲率下用不同参数,查表法);抗积分饱和(加积分限幅防止windup)。自动驾驶中PID调参的难点是不同工况需要不同参数,高速和低速、直道和弯道的最优参数差异很大,通常需要做参数调度。

13. 轨迹跟踪的误差来源有哪些?怎么减小?

考察点:理解轨迹跟踪的精度问题和改进方法。

答案方向:误差来源:模型误差(车辆动力学模型不精确,如轮胎侧偏刚度估计不准);延迟误差(传感器延迟、计算延迟、执行器延迟,总延迟可达100-200ms);离散化误差(规划轨迹是连续的,控制是离散执行的);干扰(路面坡度、风力、载荷变化等)。减小误差的方法:延迟补偿(在控制计算时预测延迟时间后的车辆状态作为当前状态);模型改进(用更精确的车辆模型,如考虑轮胎非线性的模型);前馈控制(根据参考轨迹的曲率计算前馈转向角,减少跟踪误差);自适应控制(在线估计模型参数,实时调整控制器)。

四、系统(2题)

14. 高精地图在自动驾驶中的作用?无图方案可行吗?

考察点:理解高精地图的价值和去图化趋势。

答案方向:高精地图提供先验环境信息:车道级拓扑、道路几何、交通标志位置等,作用是降低感知负担、提供超视距信息、辅助定位。高精地图的问题:鲜度维护(道路变化后地图需要及时更新,成本极高);覆盖范围(只覆盖已采集区域,无法开城即用);法规风险(测绘资质限制)。无图方案的思路:在线建图(用车端传感器实时构建局部高精地图,如StreamMapNet);端到端(跳过地图直接从感知到规划,如特斯拉的方案)。目前行业趋势是"轻地图"方案:保留地图的拓扑信息,去掉几何细节,用车端感知补充。完全无图在L2+可行,L4还需要地图辅助。

15. 自动驾驶仿真测试怎么做?有哪些指标?

考察点:理解仿真测试的方法和评估体系。

答案方向:仿真测试分软件在环(SIL)硬件在环(HIL)车辆在环(VIL)。SIL最轻量,纯软件仿真;HIL接入真实ECU,测试软硬件集成;VIL在封闭场地用真实车辆+虚拟场景。仿真平台:CARLA(开源,学术常用)、VTD、PreScan、Waymo的Simulation City。关键指标:碰撞率(最基本的安全指标);通过率(场景完成的百分比);舒适性指标(加速度jerk、横向加速度等);效率指标(到达时间、通行效率)。仿真的核心挑战是仿真到现实的gap(Sim2Real Gap),传感器模型、环境模型、车辆模型的不精确都会导致仿真结果和真实表现不一致。

心得建议

自动驾驶面试最大的特点是系统性很强。你不仅要懂自己做的模块,还要理解上下游模块怎么配合。比如做感知的,面试官会问"你的检测结果怎么给规划用,格式是什么,延迟要求多少";做规划的,会问"感知结果有误检你怎么处理"。所以准备面试时一定要有全链路思维

第二个建议是项目细节要能扛住追问。面试官特别爱问"为什么选这个方案而不是那个方案","这个模块的性能瓶颈在哪,怎么优化的"。如果你只是调了个API,说不清原理,很容易被问住。

第三个建议是关注行业动态。自动驾驶技术迭代很快,BEV感知、端到端、Occupancy Network这些新技术面试官很爱问。建议面试前看看最近半年各大公司的技术博客和论文。

FAQ

Q:自动驾驶面试需要会C++吗?

A:基本必须。自动驾驶的工程实现几乎都是C++,面试中可能会让你手写简单的算法实现。Python也要会,用于数据处理和模型训练。

Q:没有自动驾驶经验怎么转行?

A:可以从自己原有方向切入。做CV的转感知,做优化的转规划,做控制的直接对口。关键是补齐领域知识,比如做感知的要学3D视觉和点云处理。

Q:面试被问到不熟悉的模块怎么办?

A:诚实说这个模块我了解不深,但可以说说自己的理解。面试官更看重你能不能快速理解新领域,而不是什么都懂。

Q:需要看哪些论文?

A:感知:PointPillars、CenterPoint、BEVFormer、BEVFusion。规划:MultiPath、CoverNet、MotionFormer。控制:MPC相关教材。系统:CARLA仿真相关。每个方向至少看3-5篇代表性论文。

Q:端到端自动驾驶会取代模块化方案吗?

A:短期内不会。端到端在L2+场景有进展(如特斯拉),但L4的安全性和可解释性要求使得模块化方案仍是主流。未来可能是模块化+端到端的混合方案。

#自动驾驶#BEV感知#3D检测#运动规划#MPC#高精地图#面试八股文#感知融合