控制算法工程师面经

秋招差不多结束了,来写一下面经。本人虽然是PnC方向的,由于只有一段运动控制实习经历,所以一些大厂的决策规划都没有给面试机会(这告诉我们针对不同岗位的要写不同的简历),但是控制方向的面试基本都通关了。下面总结一下自动驾驶运动控制算法工程师面试常问的问题。

其实下面的问题都不难,但是给未来的同学的建议是:不要 all in 算法工程师,可以同时准备软开or其他方向。这个行业只会越来越卷。

1. 基础知识

车辆动力学

  • 主要考察建模,这几乎是必问的问题,因为大多数的项目都是基于模型的。运动学或动力学,Frente or Cartesian, 线性或非线性,reference是什么,cost怎么设计,error怎么定义的。质心侧偏角、航向误差之间的关系是什么。
  • 一些常见的扰动和补偿方法,比如:执行延迟、横风、侧倾、坡道。
  • 哪些信号是传感器能拿到的,哪些是不能拿到的。卡尔曼滤波相关问题。
  • 控制量的物理边界是多大。
  • 关于车辆更深层次的问题问得不多,可能是因为项目中没涉及到:比如其他轮胎模型的特点、如何处理道路附着的不确定性等等。

数值优化和最优控制

  • 能观能控、状态方程与传递函数转化方式、如何判断系统的稳定性、如何设计龙博格观测器。(这些不经常问)
  • 你知道lqr有几种求解方法吗?详细讲讲推导过程。
  • mpc的设计,stages多大,实时性如何,lqr和mpc的区别,理论层面看,mpc和lqr是不是一个东西。
  • 调参方法,weight的大致数量级关系。
  • 离散化方法,各自的特点。
  • ilqr的推导过程,开发过程中遇到的实际问题以及如何解决的。
  • 常用的正则化方法有哪些?
  • qp问题的构成,这些矩阵有什么要求?为什么。
  • 为什么常常将问题构造成qp的形式。
  • 无约束优化问题求解方法有哪些?讲讲梯度法、牛顿法、拟牛顿法、共轭牛顿法。讲讲线搜索方法有哪些。
  • 内点法是什么?
  • 介绍一下增广拉格朗日。
  • 罚函数的缺点是什么?罚函数因子对问题求解有什么影响。
  • 对偶问题是什么?弱对偶性和强对偶性是什么?Slater准则是什么?
  • 讲一下kkt条件是什么?

2. 项目经历与计算机基础

对于控制算法来说,最重要的是实车开发调试的经历。工作中用到的语言一般是python和C++,python(matlab等)都是快速验证算法的可行性,然后用C++开发。

项目经历

  • 实车的经历重点在于对细节的把握,包括控制器是什么,soc是什么,车速多大,各种误差多大,如何调参的,遇到了什么问题怎么解决的。
  • 举个例子,可接受的横向误差数量级:曲率变化比较小,小于 0.10 m,曲率变化大,小于 0.15 m。
  • 项目开发的语言/平台是什么?

计算机基础

  • 数据结构与算法:参考代码随想录和hot100足以。质量比数量重要,一般面试的题目都是做过的题目。
  • 计算机网络:问得很少,只有个别企业问一些简单的八股。
  • 操作系统:问得少,比计算机网络多一些,除了常见的八股,还有对ubuntu使用的提问。
  • C++:八股问得多,封装继承多态,stl,智能指针,移动语义,主要考察自动驾驶项目常用的语法知识。
#牛客创作赏金赛#
全部评论
佬最后去哪了
2 回复 分享
发布于 2024-11-20 16:56 北京
1 回复 分享
发布于 2024-11-20 01:07 上海

相关推荐

自动驾驶方向(超详细真题+复盘)🔥 个人背景:985本硕,一段自动驾驶相关实习,刚走完文远知行算法岗(感知方向)的全流程,热乎的面经分享!📌 面试流程概览笔试:4道编程题(中等难度,动态规划+图遍历为主)。技术一面:代码手撕 + 项目深挖(50分钟)。技术二面:数学题 + 场景设计题(40分钟)。技术三面(总监面):技术视野 + 业务理解(30分钟)。HR面:常规问题(薪资/职业规划)。全程周期:约3周(中间有等美国面试官时差协调)。💻 技术面真题回忆1. 手撕代码题题目1:零钱兑换变种题干:给定硬币面额数组和总金额,求恰好凑成金额的最少硬币数,若无法凑出返回-1。Follow-up:如果要求输出所有可能的组合,如何优化空间?坑点:面试官追问了滚动数组优化和剪枝策略。题目2:线段交点算法题干:给定二维平面上两条线段(由端点坐标表示),判断是否相交,若相交返回交点坐标。边界情况:线段平行但不重合、端点重合、浮点数精度处理。解法:参数方程法,注意分母为0的情况!题目3(系统设计):实现 shared_ptr 的引用计数要求:线程安全、支持拷贝构造和赋值操作。考点:RAII思想、锁的使用(面试官让对比mutex和atomic的性能差异)。2. 项目深挖问题问题1:你在点云处理项目中提到的循环推断问题是什么?如何解决?答:详细解释了OD(目标检测)与跟踪模块的相互依赖导致误差累积,最后引入卡尔曼滤波的先验估计做修正。追问:为什么不用粒子滤波?对比过效果吗?问题2:激光雷达与相机的时间戳不同步,会导致哪些问题?你们怎么做的同步?答:提到了硬件触发同步+软件插值法,面试官让手写伪代码描述插值逻辑。3. 场景设计题题目:设计一个停车场车辆调度系统,支持实时路径规划(车辆从入口到车位的最优路径)。要求:如何表示停车场地图?如何处理动态障碍物(如行人)?路径最优的定义(时间最短 vs 转向最少)?我的思路:用栅格地图+A算法,动态障碍物用局部重规划(D Lite),面试官让分析时间复杂度。🚀 备考建议(血泪总结)刷题重点:力扣动态规划(背包问题)、几何计算题(线段/矩形相交)、系统设计(智能指针/线程池)。项目复盘:务必理清项目的技术链条(输入-处理-输出-优化)。准备1-2个失败案例,说明如何定位和解决问题(面试官超爱问这个!)。自动驾驶知识:必看文远知行的技术文章(如多传感器融合方案)。了解行业竞对方案(如Waymo、Cruise的路径规划特点)。💡 最后的小吐槽三面总监疯狂追问:“如果特斯拉FSD和我们的方案在十字路口相遇,谁的决策更优?为什么?”HR面被压力测试:“如果给你发offer,你会多快离职当前实习?”(差点没接住😅)欢迎讨论! 大家有面过文远或其他自动驾驶公司的吗?求分享经验~✨✨现在文远知行还在招实习!最后附上学长给的内推码以及内推链接,可以更快筛选简历 !✨内推链接:https://app.mokahr.com/m/campus_apply/jingchi/2137?recommendCode=DSvUVMDa#/jobs【内推码】DSvUVMDa #实习#     #校招#     #内推#     #自动驾驶#     #应届#    
点赞 评论 收藏
分享
03-06 10:21
已编辑
新余学院 C++
小公司 工具链开发 实习3k,转正10k
Hello_WordN:违约金9k,他指望违约金赚你钱呢
点赞 评论 收藏
分享
评论
15
88
分享

创作者周榜

更多
牛客网
牛客企业服务