2021自动驾驶定位方向秋招凉经---富贵凉中求
本人情况,因为秋招主要想找上海地区的自动驾驶公司,所以其他地区的公司没有投很多。
禾赛 感知算法一面,笔试- -----进人才库 原因:面试八股文没有套路,笔试从基础知识到代码都很拉。。。
Autox 牛客笔试通过,两题对一题,一面挂。 原因:八股文还是没准备好,面试官总是想让我推公式,推不来。。。
阿里机器人二面挂,项目问了五十分钟,面试官各种项目问题深度挖掘,挖的我精疲力竭。。。然后开始问c++,子类的析构构造顺序,共享指针的潜在危险,哈希表插入的复杂度,我全部答错(不能完全怪我菜,,,主要是刚开始项目问的太细,突然切换到cpp有点受不了)
毫末 笔试通过, 面试放弃,,,不想去北京
文远 算法工程师简历挂,数据工程师笔试放弃
indemind 一面二面通过 和Hr沟通 。虽然是小公司,但是感觉面试官的水平不错,CTO对于vslam还是很有自己很深的洞见的。怎奈我还是不想去北京。。。
美团无人车研发 笔试(四道题对了一题),9.08 一面,9,15二面,个人觉得没有太拉垮,然后就没有然后了。。。
图森 一面过,二面coding安排在国庆节后,岗位是关于目标跟踪的优化,其实不太感兴趣。
二面代码面:
代码题目1:题目不太好描述,需要用双指针实现,我用暴力法做出来了,但是复杂度高了 O(N2)
代码题目2:手写指数函数,先写了复杂度o(n)的,然后要求优化,我用递归优化了,然后面试官要求用cmath实现更简单的,以及实现基于迭代的方法,没写出来。。。
C++考察:
static_cast, dynamic_cast, reintepret_cast区别,当时说的还行吧,不错的回***
c++为啥要提出右值的概念,std::move的使用场景 参考回***
GPU,CPU加速的方式
如何解决共享指针的相互引用问题
C++代码里添加C代码需要extern c,extern c的作用是? 参考回***
我反问:如何提高c++水平,答:多看大的开源项目的源码,然后去理解一些比较难的代码,比如看chrome的js解释器的代码/V8引擎(懵逼)
多线程:fixed pipeline和乱序执行分别有那几个阶段?
python的garbage collection 垃圾回收机制怎样?
共享指针的相互引用问题怎么解决?参考回答
atomic原子变量了解吗?
git里面你push了一个超大文件,怎么彻底取消? git reset
图森面试还是挺开心的。。。面之前觉得自己菜,面之后发现自己原来可以这么菜。面试官的态度让人很舒服,一面二面的面试官感觉都挺年轻并且厉害的,全程态度尊重友好,二面的时候,代码写不出来的时候很耐心的引导,对于不会的点也没有估计为难或者judge你,个人觉得对于面试官的印象就基本等于新人对于公司的第一次直观印象,感觉秋招的面试过程中几乎所有面试官都给我流下了不错的印象。
图森三面,两位面试官,面试了40分钟,感觉不太好,因为面试官最后很急着结束,我本来想提问题的,最后也没有兴致提了。
关于多视觉几何,问我纯旋转的时候,F是否会失效,答对了,但是原因没有解释清楚,其实根据公式比较好解释,F的组成包括E,而E的求解是t的cross product和T相乘的结果。如果纯旋转,t是0,那F就是0
知道哪些具有尺度不变性的特征子吗?
ESKF的状态和观测
小马 笔试通过,一面直接写代码,多米勒骨牌,但是逻辑没有想清楚,有一些情况没有想到,面试官是一个acmer,非常嫌弃,很明显对我失去了兴趣,我最后也放弃提问了。
百度:笔试挂,不过当时也没做的很认真。。。
四月的时候面了小鹏地图开发一面挂,当时八股文和coding都没准备好,面试官评价“算法和开发能力有待加强”。
仙途面了产品经理算法方向,和面试官聊了很多从测试转产品经理的经验,面试官认为我对于自己的项目并没有从产品经理的角度或者说业务流程的角度解释的很好,我也坦然承认。
其他投简历没消息的就不说了。
轻舟智航(多传感器融合)
代码题: 图论,图的联通分量寻找,写了十分钟,说了一下思路。
项目:项目经历考察主要问了一下理论细节,三角化的过程;PCA的公式;不进行线性化,KF的哪些步骤走不通。我问了一下公司的一些业务,可能处于机密的考虑,,回答的比较模糊,然后我又问了一下对于理论和编程能力的要求。
百度IDG(定位算法)
12月突然简历被捞,因为秋招已过,是社招形式(之前笔试写了一点然后就懒得写了。。。)
一面问项目,没有为难,在激光雷达定位的项目中有问几个自由度不可观,然后优化问题求解问了一下拉格朗日算子的介绍,然后编程题要求写一下dfs,后来面试官的反馈是:算法能力一般,不过也过了。
二面可能是leader,(不确定),一开头就问我语义地图的相关经验,虽然我简历里没有。然后问我传感器融合时如何解决多传感器时间不同步的问题,以及做实时外参标定能否收敛,还是可能陷入局部最优,然后如何解决环境突然变化(比如上桥),不同传感器置信度的问题,还有就如果部分传感器在部分路段失效,该如何解决。二面的问题让我相当难受,确实工程经验欠缺,上述问题都没很好的回答。最后我反问了几个问题:百度做乘用车自动驾驶的优势是什么?面试官说:我们做的久,技术积累多;百度的乘用车量产项目和特斯拉小鹏这些有啥区别?面试官说:具体赛道不一样,感兴趣可以看百度每年的技术分享会(内心:不都是乘用车的自动驾驶,能有啥区别。。。)
截至2022年一月,之后一段时间应该不会再面试了哈哈
整体感受:
笔试
笔试最难的感觉是小马,然后是阿里,其他的会dfs和dp这些基本可以做出来一题。
面试官提问的关注点主要包括
1.cpp的水平
2.slam相关的基础知识,主要是状态估计和多视觉几何,还有激光slam的一些常用处理方式
3.项目深度,使用的一些算法有没有考虑过改进balabala
在沟通过程中,个人感觉不管是大厂小厂,面试官的态度和水平都很好,侧面说明从业人员素质很高吧,也感觉到面试官在平时的工作中,对于我提到的一些开源算法的理解非常深刻,甚至对于代码的细节也记得很清楚,真心佩服。
在对cpp的考察中,感觉考官的问题都非常灵活,不会只停留在概念上,而是会考察你是否真正能利用c++的特性。
反思
1.cpp确实掌握的还是不够好,一些知识点,比如智能指针,认知还是肤浅了
2. 一些定位算法的优化没有深刻的思考
3.不管是编程题还是面试的问题,个人觉得没有碰到很过分的问题,但是还是经常失手,确实应该注意平时的积累和面试前的复习
教训:
1. cpp的掌握一定要深入,对于数据结构的复杂度,常用语法、关键词的使用方式都要从深入的了解,比如static这些。。。
2. slam的基础知识真的非常重要,面试之前建议复习一遍
3. 投简历的策略一定要注意时间点,比如autox在牛客网投的“提前批”,当时以为就是可以“多一次机会”,但实际上挂了之后正式批也不会考虑你了。建议早投简历,可以把非意向城市的一些公司作为第一批投的对象。建议在面试前和Hr沟通了解好,如果没有准备好,也可以推迟面试时间,因为感觉挂了之后沟通非常费劲。。。
算法岗是大佬们之间的竞争,大部分自动驾驶公司是诚心招人的,但是前提是你足够优秀。
---------------------------------------------------------------------------------------
最后选择了驭势,岗位是开发和算法相结合的职位,虽然之前对于这家公司并不是太了解,但是二面的时候聊了很多关于算法工程化的内容,觉得面试官们都是在工程经验方面非常丰富的大佬。而且相对于纯算法的研究,觉得自己对于这种项目的落地和开发其实更感兴趣,所以oc后就开始半弃疗了。
此外,过去一段时间也加了一些大厂池子群之类,虽然觉得天天水群,听同学们半开玩笑的聊聊秋招的不顺和oc的兴奋以及一些行业情况也挺有意思(经常沉迷其中),但是也让自己浮躁的难以静下心来学习和娱乐,所以oc之后就把群都退了。应届生关注自己offer的工资天经地义,但是个人觉得过分的关注可能让自己失去了对于其他因素的独立思考,比如企业文化是否和自己的价值观匹配,比如公司的业务和赛道究竟怎样,自己是否看好,比如部门的培养机制和加班情况。而自己在各种秋招群里水了一段时间的感受也是,让自己失去了对于自我技能提升的关注,而你知道别的岗位,别的同学拿多少工资,真的很重要吗? 最后退群一是因为因为oc到手,不想冲了,二是提醒自己,作为一个技术人员,还是应该 Focus on your craft.
回想自己之前加入这个自动驾驶这个行业的原因,其实这个行业的迅速的大红大紫是我并没有预期到的,当初更多的是想到自己在robotics上所学的定位,控制等知识真的有进一步落地的机会,是一件很让人兴奋的事,所以选择寻找相关的实习,不断地自我提升。没人不想拿高工资,但是想想当初自己的动机,可能会让脚下的路更踏实吧。
祝大家都能找到心仪的职位!