第2章:高频面试问题与回答框架

在自动驾驶规划面试中,同样的技术问题,不同企业考察的深度和角度差异明显。本章提炼三大高频问题,拆解考官真实意图,并给出可复用的回答框架,帮你避开“答非所问”“过度发散”等常见陷阱。

问题复述 确认边界 框架选型 对比+理由 实现细节 关键函数 边界处理 异常兜底 总结升华 工程启示 回答框架:步步递进,每步控制在15-20秒 避免中途跳步或直接给结论

3大高频面试问答卡片

Q1:你如何设计自动驾驶规划中的行为决策模块?

🎯 考察点:是否理解决策框架(有限状态机 vs 行为树 vs POMDP);是否考虑安全/舒适/效率的trade-off;有没有实际落地细节。
📌 回答框架:先确认场景(L4高速还是城区) → 选型(FSM+状态转移图) → 关键函数(路口让行、变道决策) → 边界处理(感知不确定性下的决策降级) → 工程启示(代码可维护性)。

✏️ 示例回答:“我使用分层有限状态机,分为巡航、跟车、变道、停车四状态。每个状态内用规则引擎处理优先级,比如变道时需目标车道后方车辆间距大于3秒。遇到感知丢失,状态降级为巡航并限速。该方案在国内多个园区实车验证,决策延迟<10ms。”

⚠️ 可能追问:多目标物同时进入决策区域怎么处理?状态机状态膨胀如何解决?你有遇到过死锁吗?
🚫 避坑提醒:不要只谈理论不谈实现;别提“用深度强化学习”但说不清网络结构或训练数据;避免说“很简单”这类轻视表述。

Q2:轨迹规划中如何处理动态障碍物?

🎯 考察点:对时空联合规划的理解;是否掌握S-T图、速度规划、避撞策略;是否考虑实时性。
📌 回答框架:问题边界(直行还是路口) → 选型(Frenet坐标系+多项式或QP) → 实现细节(S-T图中动态障碍物投影为矩形,用A*或DP做粗搜索+QP平滑) → 边界处理(障碍物突然切入时触发重规划) → 总结(规划周期控制在50ms)。

✏️ 示例回答:“在Frenet坐标系下,将动态障碍物转换为S-T空间中的动态矩形,先使用DP在S-T图上生成粗轨迹,再用OSQP进行二次优化。当障碍物突然切入时,触发横向紧急避让+纵向减速,并在下一个周期重规划。实车测试中避撞成功率达99.5%。”

⚠️ 可能追问:S-T图中的矩形怎么计算?障碍物速度不确定时如何处理?DP与QP的cost function分别怎么设计?
🚫 避坑提醒:不要只说“我用A*”,要说明状态空间维度;避免忽略预测模块的输入;切忌抱怨其他团队模块不准。

Q3:如何保证规划算法的鲁棒性?

🎯 考察点:工程嗅觉;对soft/hard constraints、fallback、参数自适应、冗余设计的理解。
📌 回答框架:从三个方面展开:
① 输入层:异常数据过滤+插值填补;
② 核心层:多解候选+软约束优先级;
③ 输出层:轨迹合法性校验(曲率、加速度、碰撞检查)+ 安全止动。

✏️ 示例回答:“我通过三方面保证鲁棒:1)预处理模块做传感器时序对齐和异常剔除;2)规划时生成5条候选轨迹并选最优;3)输出前校验曲率、加速度、碰撞,若全部不通过则触发安全止动并告警。实际运营中因规划导致的安全事故为0。”

⚠️ 可能追问:候选轨迹的多样性怎么保证?校验失败了如何恢复?参数自适应的经验规则如何设计?
🚫 避坑提醒:不要只谈理论不谈指标;别说“我们系统从不失效”;避免把责任抛给其他模块。

各公司侧重点一览

公司考察侧重典型追问方向
百度 Apollo系统架构、状态机、S-T图细节、开源代码理解Apollo决策链路的优劣;如何修改优化
华为 ADS安全冗余、多传感器融合下的规划、嵌入式优化算力受限时的算法精简;故障降级策略
小鹏城市场景交互博弈、换道决策、learning based planning模仿学习vs强化学习的选择;数据闭环
Momenta数据驱动的决策、仿真评估、corner case 挖掘如何处理长尾场景;仿真与实车差异
💡 面试准备建议:针对目标公司,在回答中主动对标其技术栈(如华为用MDC,百度用CyberRT);展示你读过其开源文档或;用具体指标(延迟、成功率、在线更新频率)让回答更可信。