自动驾驶找工作/求职准备

秋招算尘埃落定。又是一路坎坷,又是结果尚好。先大致总结一下自动驾驶行业求职需要做的准备。大家如有补充,欢迎邮箱/微信与我联系,我把建议补充到这篇文章里。辅助后来人。

泛泛而谈

自动驾驶目前已经处于下行期,这也是好事,可以避免劣币驱逐良币的事情发生。

敲定方向

个人建议你去一些公司的career里看看position的requirement,像PonyAI、TuSimple、PlusAI、Nuro、Argo AI这些,看看你得具备那些技能。之后专精一个方向,辅助一个方向即可。楼主本人是Simulation+System.

  1. vehicle simulation在将来会有更大的市场,尤其是multi-agent的interaction,甚至drl apply在vehicle上。可以在Carla平台上做一些项目。
  2. perception,应该是目前最火的方向,基于camera的computer vision和lidar的point cloud processing,一些传统算法像3D reconstruction, optical flow, LK tracking要了解,能用python或C++实现。lidar的看看PCL上的tutorial
    像YOLO这些state-of-art的算法可以从Github上drag一个下来跑一跑。数据集可以在kitti dataset上找。还有可以学一些sensor fusion的算法,在ROS上把lidar data和camera data register到一起。
    SLAM, 尤其是visual SLAM可以先了解下
  3. prediction & motion planning,这两者是不分家的,可以学习下RRT算法和一堆衍生算法,与控制紧密相关,车辆工程的学生可以重点关注一下
  4. Control, 经典的PID和业界较常用的LQR,一般和硬件打交道都是C++,所以要把C++学好,光java或py好是远远不够的。同上。
  5. machine learning,这个就不用说了,Andrew Ng的课可以看看,pattern recognition那本书也很推荐,要把数学基础打好不能只会套用框架。熟练掌握一种框架,推荐新手入手Pytorch
  6. Hardware,可以了解各类传感器的特点和优缺点,如何sensor fusion弥补信息的差异
  7. System, basis是编译原理,操作系统,计算机系统,相对来说更适合车辆工程,有先求广再求深的特性。

基础准备

  1. C++11/14 ,multithreading ,cocurrency control,smartpointer,virtual,C++重要性no.1,不然早晚会挂
  2. 面试前狂刷leetcode,最少得400题以上。
  3. git/linux等

补充

  1. 对于Simulation。
  • c++基础要好。从个人获得的信息来看,simulation和游戏开发的技术栈有不少重叠,c++的重要性毋庸置疑。各个无人驾驶公司对这个岗位的基本要求就是c++熟练。和sde不同的是,其实对刷题的要求不高(个人有一点OI基础,整个申请季刷题也就在百来道上下),考的比较多的是对stl库的灵活运用和OOP。当然,如pony这种top coder组成的公司可能会考一些非常刁钻的算法题,算法不局限在lc题库里,可以参考下NOI的算法及数据结构考查范围(或者ACM?不太清楚具体难度,应该不会那么难…)。
  • 会有相应的专业考核。这点和职位高度相关,大部分职位是ML/CV相关的,simulation是和图形学关系比较大(面试考到过geometry和mesh的基本概念、3D math、各种渲染算法、unity和unreal应用)。
0%