qinziwen
泡芙3级
泡芙3级
  • UID6
  • 粉丝2
  • 关注0
  • 发帖数39
  • 社区居民
阅读:1714回复:1

SLAM求职经验帖

楼主#
更多 发布于:2018-10-14 20:22
今天,由拿offer拿到手软的院长(谢晓佳)为我们总结一下他这几个月以来面试,笔试的一些经验,为后来的学弟学妹们找到心仪的工作提供一些帮助。希望大家能够有所收获,从中知道自己在面临求职时应该如何应对,为你的求职生涯提供一些参考。
从学校开放电子三方签约系统到现在已经过了一段时间了,终于有机会和大家分享一下求职经验。首先简单介绍一下自己,我叫谢晓佳,本科就读于电子科技大学,保送浙江大学控制系读研,主要研究方向为双目视觉,SLAM 以及多传感器融合。最终签约奇虎360-北京-人工智能研究院-三维视觉工程师。
大家知道,近几年 SLAM 开源算法越来越多,市面上也已经有了一些初步的应用。每当出现新的应用场景,就有着相应人才的需求,也就有了一些新的就业机会。如果同学们和我方向相近,也希望从事类似的岗位。我觉得读完下面的这些,你会有所收获的。
前期准备:

一、确立求职意向
研二下的寒假期间还是比较空闲的。在这个期间,可以关注一些微信公众号、多刷刷知乎、看一些资讯类网站,并结合自己的学习方向,初步确定想要从事的领域和工作。这一点是很重要的,不至于在后期盲目投简历,造成时间经历的浪费。就我而言,由于本科参加了一些机器人类的比赛,研究生研究视觉这一块,初步将方向定为:机器人、计算机视觉、无人车和 AR/VR。在后面投简历的时候也是投了对口方向的,并没有计算机算法、测试等岗位。
二、制作简历
寒假返校,这时候该制作第一份简历了。简历的排版还是比较讲究的,简介大方、突出重点,最重要的是要将参与项目中核心的工作清晰的展示出来。如果项目方便展示,可以截图或拍照保存下来,在投简历的时候可以附上作品
三、参加实习
很多公司还是比较看中实习经历的,而且有的公司可以实习转正。所以如果时间以及各方面条件允许的话,参加实习是一个不错的选择。大部分公司也是3、4月开始招实习生的,后面也陆陆续续会有。实习时间一般是2~3个月,尽量在秋招之前实习。实习的信息可以在自己学校的论坛和微信公众号“校招日历”中查看,关于实习就不细说了,因为我没有参加。
四、巩固知识与技能
在一大波校招笔试面试来临前,最重要的还是得增加自身的竞争力,学习以及巩固与知识。这里将其分为两类:计算机基础知识与技能,专业知识与技能。
1. 计算机基础知识与技能
计算机基础知识与技能包括:
1) 编程语言;2) 数据结构和算法;3) 操作系统;4) 网络编程;5) 数据库。
这个排序按重要程度排下来的,其中前两个尤为总要,至于操作系统、网络和数据库仅在笔试中会涉及,面试的时候一般不会问。在计算机视觉中,绝大部分的代码还是基于 c/c++ 实现的,所以这里主要强调 c/c++,当然如果你会 python 之类的脚本语言也是极好的。
就前面两点推荐一些相关书籍:

  • 语言篇:《C++ Primer 第5版》,《Effective C++》https://www.zhihu.com/question/20410487这里有个详细的五阶学习计划)

  • 数据结构与算法篇:《数据结构(C++ 语言版)》,《算法(第4版)》,《STL 源码剖析》(https://www.zhihu.com/question/34390525见罗必成同学的回答)

  • 实战篇:《剑指 offer》、《编程之美》、《编程珠玑》

在本次秋招中,c++11 问的比较少,不过个人觉得还是很重要的,特别是多线程这一块,推荐看看《C++ Concurrency in Action》以及《Effective Modern C++》。除了看书,当然还要刷题,个人比较推荐 leetcode 和牛客网。时间来不及的可以先刷刷这个帖子里(http://www.nowcoder.com/discuss/19305?type=0&order=1&pos=14&page=1)的题目以及牛客网中的历年题。
2. 专业知识与技能
专业知识与技能涉及的就比较多了,包括高等数学、线性代数、概率论、最优化、计算机视觉等,以及需要熟练掌握相关的函数库和工具。SLAM 的框架基本都差不多,前端更倾向于计算机视觉、通过图像的信息来估计帧间的位姿变化;后端更数学一些,通过给定观测来估计最优状态。首先推荐 Joan Sola 的《Course on SLAM》,前端后端都讲了一些,如果对其中某一部分有问题可以再分类别深入学习。当然了,高博正在撰写的《SLAM 十二讲》也快完工了,首推的入门材料。再此之前,还是看看还有什么其他的资料。
 未完待续... 【版权声明】泡泡机器人SLAM的所有文章全部由泡泡机器人的成员花费大量心血制作而成的原创内容,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力! 【注】商业转载请联系刘富强(liufuqiang_robot@hotmail.com)进行授权。普通个人转载,请保留版权声明,并且在文章下方放上“泡泡机器人SLAM”微信公众账号的二维码即可。 【编辑】涂金戈

最新喜欢:

hezihan745heziha...
qinziwen
泡芙3级
泡芙3级
  • UID6
  • 粉丝2
  • 关注0
  • 发帖数39
  • 社区居民
沙发#
发布于:2018-10-14 20:24
3.视觉学习 视觉方面,我觉得CSE486是一个比较好入门的材料,在湘厦人的博客中有部分中文翻译(http://www.cnblogs.com/gemstone/category/409734.html)。多视图几何则是进阶教材,配合计算机视觉中的数学方法以及Daniel Cremers的MVG课程视频一起学习,效果会更好。An Invitation to 3-D Vision没看过,但小伙伴觉得写得比多视图几何要易懂一些。 4. 数学基础 数学方面,大学应该教了很多相关的知识,至少在我们本科就有微积分线性代数概率论之类的,不过在SLAM又显得捉襟见肘,还是需要适当地补充一些。 Tim.Barfoot 的状态估计绝对是很好的书,应该全本通读。至于后端中的非线性优化,Methods fornonlinear least squares problems 是一篇比较短的介绍文章,深入的可以看看 NumericalOptimization。除此之外,线性代数、控制理论相关的就不推荐了,具体可以参考YY硕的回答。(https://zhuanlan.zhihu.com/p/22266788)
数学:Numberical Linear Algebra(ceres slover推荐书籍http://ceres-solver.org/faqs.html)、Numerical Optimization
SLAM:Course on SLAM(Joan     Sola关于Graph-SLAM的教程)、 State Estimation For Robotics(Tim.Barfoot)、概率机器人
计算机视觉:An Invitation to 3-D Vision,计算机视觉中的多视图几何, 计算机视觉中的数学方法(更多参考:https://www.zhihu.com/question/28813777
实战篇:OpenCV2计算机视觉编程手册、深入理解OpenCV:实用计算机视觉项
5. 编程练习 在学习以上的书籍的过程中,最重要的还是要练练手写写代码。
Eigen、OpenCV、PCL、ROS这些基础的工具需要掌握.OpenCV推荐2本比较practical的书。
后端优化的库g2o、GTSAM、Ceres solver可以先选一个开始学,工程上推荐用g2o,大家用的比较多,不过注释很少需要一定的功力才能看懂。
GTSAM代码写得要好读一些,而且具有优秀的编程规范,十分适合学习,GTSAM的doc目录下也有很多写得很好的文档,相比与其他两个库,其 iSAM 求解器是一大亮点。
Ceres 是谷歌出的优化库,代码注释十分良心,配合一些最优化的书学习最适合不过了。同时注意多写博客分享自己的心得体会,这个在招聘时也是加分项。
最后对于SLAM这一块,还需要读综述以及跑跑Demo,如ORBSLAM、SVO、LSD-SLAM 等。
以上列出的这几个开源SLAM算法目前在网上已经有了很完善的解读,在阅读的过程中即可以疏通整个流程,又可以看到计算机视觉和数学的具体应用,对今后自己改进以及实现一个SLAM算法是非常有帮助的。 这里再推荐一下我和吴博一起注释的ORBSLAM (http://git.oschina.net/paopaoslam/ORB-SLAM2)。到了这里,后面的路就要靠自己探索了,相信读者也会有自己的想法。 秋招:
6月份之后很多公司开始内推了,多与学长学姐联系,因为大部分内推可以省掉线上笔试,直接进入面试环节。正式校招一般8月底开始,到10月底会陆续结束。秋招时,信息渠道很重要,宣讲会、论坛、学校的就业网、同学等等都不能错过,这里推荐微信公众号“校招日历”,以及校园招(http://xiaoyuanzhao.com)。 这一时期最重要的是完善简历,将简历中设计到的核心工作从头到尾再过一遍,主要设计思路、流程都要烂熟于心。每次投简历之前要慎重考虑,找准想要的职位投递。每经历一次笔试或者面试,就要总结一下,看看还有哪些遗漏的知识点再补起来。 我投递的公司并不是很多,这里稍微列举一些面试中常考的题目。大部分问题的答案在前面提到的书中都可以找到。 1.连通区域算法(可以将  图像简化为二值图来考虑 http://blog.csdn.net/icvpr/article/details/10259577) 2. 实现RANSAC的框架(MRPT写得是比较好的,注意每次此迭代后需要更新 迭代次数。见libs/base/src/math/ransac.cpp) 3. Homography和Fundamentalmatrix的性质与区别 4. 简单实现cv::Mat() 5. 简述一下GN、LM等优化方法的区别 6. 推导一下卡尔曼滤波,描述一下粒子滤(http://blog.csdn.net/heyijia0327) 7. 描述一下SIFT或者SURF特征检测,匹配 8. 如何求解Ax=b (非迭代、迭代,其中非迭代的方法可以参考eigen手册,上面      列了一些(http://eigen.tuxfamily.org/dox/group__TutorialLinearAlgebra.html) 9. 简述一下Bundle Adjustment的过程 10. 对熟悉的某一个开源SLAM,简述其流程   HR面我没有特别准备,不过自我介绍、性格缺点、最有成就感的经历、最大的挫折之类、职业规划、为什么选择我们公司等问题,一定要准备到滚瓜烂熟。最后,当你拿到几个offer的准备签约时候,多调研调研情况,参考老师同学的意见以及结合个人情况,做出最后的决定吧。 【版权声明】泡泡机器人SLAM的所有文章全部由泡泡机器人的成员花费大量心血制作而成的原创内容,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力! 【注】商业转载请联系刘富强(liufuqiang_robot@hotmail.com)进行授权。普通个人转载,请保留版权声明,并且在文章下方放上“泡泡机器人SLAM”微信公众账号的二维码即可。 【编辑】游振兴
游客