秋招已经结束,目前拿到的offer有旷视,商汤,滴滴,华为,还有两个小厂,都是自动驾驶或者机器人偏slam方向,感觉一路走来经历很坎坷,虽然也没拿到什么大厂的offer,但是个人也比较满意了,看slam基本上没什么经验贴,所以想写一下个人经验供学弟学妹们参考。
我是本硕都是北京某个985学校(不是清北),研究生导师放养,完全没有slam方向的课题,都是纯自学,曾经在美团和momenta实习,感觉实习加分还是很多的,我觉得slam方向求职就我的经验来说有以下几点
1.如果你是科班大佬,能发slam方向顶会,那就不用愁了,工作应该很轻松,请直接无视我后面的哔哔
2.如果你对slam里面的数学知识,比如计算机几何学,非线性优化非常恶心,完全不想搞懂那建议最好转开发,因为面试会经常问你这些,光把泡泡机器人或者什么公众号的slam常见面试问题背会是肯定不够用的,那些一定要把概念理解的非常清楚才可以
3.好像扯远了,准备slam相关的岗位,首先要对C++的语法非常熟悉,比如手写一个智能指针这种问题是很常见的,但是不会问操作系统和计算机网络以及数据库的相关问题,只要把c++学好就好,至于要掌握到什么程度,我只能说the more the better,因为面试官可能会问到非常底层,大家可以牛客搜索c++面经,我就不详谈了
4.由于slam竞赛很少,所以刷竞赛的套路我没试过也没找到相关的竞赛,所以这个具体作用我也不祥
5.slam的基础知识非常重要,建议高博士的14讲看三遍以上,上面出现的所有公式必要要会手推,我曾经被面试官要求推导位姿优化公式(详见第一版14讲272页)
6.高博士的书只能算是一个入门,大佬可能一个月就能啃下来,接下来进阶可以看一些书和开源代码,书的话推荐机器人学中的状态估计和那本关于四元数的英文笔记(名字忘记了,是一个小册子),然后开源代码一定要看,要一行一行的读完一整个代码,不要求掌握百分之百,但是至少整体流程中的关键细节要弄明白,开源代码首推orbslam2和msckf,这两个最有代表性一个基于滤波一个基于优化。我当时看了这两个以后又看了colmap和vinsmono(vins最后只看了百分之60),粗略估计一个代码需要一个月的时间看完,不要着急沉下心来慢慢看。
7.leetcode一定要刷,hard难度不用刷,面试考不到,然后建议简单难度随便刷几道就够了,重点刷中等难度题,我刷了大约200道中等难度的题基本上就可以了,建议是不要顺着题号刷,leetcode可以按照类型刷题,每个类型都做几道,二叉树啊动态规划啊等等,避免出现知识盲区,动态规划和二叉树还有图绝对是重点中的重点。
8.矩阵论最好拿出来稍微复习一下,一开始没复习面试的时候很吃力,比如奇异值分解,广义逆,零空间等等
9.以上基础准备就差不多了,由于我导师放养我去做了两段实习,其实实习虽然部门都是自动驾驶和slam相关也不大,但是实习经历还是很重要的
总结:其实slam就业挺难的,我个人如果没有实习经历硬撑的话,可能对基础的要求就更严格了,所以感觉想去这个方向,最好有相关的实习经历或者有顶会,如果秋招实习顶会什么都没有的话,那可能你得再看两个开源代码。。。
补充:因为我不太懂激光slam,所以不多评价,然后视觉slam主要的就业去向是移动机器人,自动驾驶,无人机,ARVR,大家可以多关注这些关键字
码字不易,自己也是看牛客上大佬的C++面经准备的秋招,所以也写下这篇帖子希望能帮到师弟师妹们,最后祝大家校招顺利!
全部评论
(8) 回帖