赞
踩
有需要可以帮看简历:
mail:157206438@qq.com
23年6月初终于尘埃落定,今年受大环境影响,这一路可以说是步履维艰,我的投递的行业主要面向机器人和自动驾驶,投递岗位大部分是算法工程师,其中也包括C++开发和少量的测试岗,在面试过程中加深了对车企、自动驾驶、扫地机、测绘等的认识,现在关于这几个领域的话题也能侃侃两句。就校招面试过程中的一些经历做个记录(涉及隐私的就删去了哈):
1.自我介绍
2.问项目
3.问ORBSLAM、问字典
其他的忘了
1.自我介绍
2.问项目 问实习
3.问了cmake怎么编译的,怎么添加库
一面技术官面
1.自我介绍
2.问项目
3.coding(忘了什么题,是一道简答题目)
二面算法负责人面,反而没细问,不知道是不是kpi
1.自我介绍
2.问项目
其他的忘了
一面面试没有自我介绍,面试官看我有古月居和B站经历就没有多问了,C++八股只是问了一下会不会没有考,关于项目也是一直在聊怎么做的,有哪些loss,现场还加了微信,向我共享了屏幕展示了他们目前的工作总结ppt,主要是做一个用iPhone拍出的图像进行三维重建的项目
后来知道面试官是后端的,不太懂算法
1.自我介绍
2.slam是什么,全称是
3.定位是什么意思
4.coding
没有后端的思维,第一题没太听懂,大致意思是写一个抽奖小程序
第二题是给一个字符串返回第一个只出现一次的字符的下标。哈希表两个遍历。
面了20+分钟,没有coding没有八股,问的多是测试
1.自我介绍
2.讲一下一个算法要测试哪些方面
3.建图效果测试
4.耗时分析?
5.平时用什么社交软件?微信消息传输机制测试哪些点?
6.回家要开门,发现没有钥匙,有几种情况
7.算法的为什么要投测试?
8.职业规划
反问:
1.偏测试还是偏算法?
2.新人培养机制?
没有问项目,电话面试,10+分钟
1.自我介绍
2.问了一下Linux和ros
3.问了cmake怎么编译的,怎么生成可执行文件、动态链接库和静态链接库
4.问了一下C++八股文
C++三个特性、进程和线程
其他的忘了
晚上8点突然一个电话打过来开始面试
1.介绍一下自己做的项目
2.问了项目相关,用的什么计算设备,耗时多少
3.是不是每个项目都写了回环
4.代码量多少
5.C++八股
6.多线程读同一片内存会引发什么问题( 当两个或多个线程同时对一块内存区域进行“只读”时,不会有问题,但如果发生“写”时,就会有问题,需要加锁)
7.单例模式是什么
保证整个系统中一个类只有一个对象的实例,单例模式节省公共资源、方便控制
饿汉模式的意思是,我先把对象(面包)创建好,等我要用(吃)的直接直接来拿就行了
懒汉模式的意思是,我先不创建类的对象实例,等你需要的时候我再创建。
8.说说你对自动驾驶的看法
9.说说代码编程规范
反问:
1.部门做什么的
2.多少人
3.还有几轮,几天出结果
1.自我介绍
2.看你学的
3.问目前拿了哪些offer,那你考虑哪些地域?你期望薪资是多少?拿到的offer多少薪资?
4.你求职对公司更看重什么?(行业、职业发展)
hr面,感觉是kpi面,同门面问了平时打不打游戏
1.自我介绍
2.问时事
3.问了其他的乱七八糟,还说什么自动驾驶算法很难要加油,一共20+分钟吧
打电话说我这岗位竞争激烈,2w多简历,双非怕我竞争不过问我转不转岗,一面面评很好,之后拒了转岗要求
群面
直接谈薪
直接offer,薪资超低 总包12个w左右
1.自我介绍
2.coding
3.问为什么不在之前实习的公司、就业地点考虑、工作规划
4.问项目
背景?怎么做的?
框架?
创新点?
策略?
回环检测?
5.实习做了两个项目?没细问
6.可能是前面耽误了太多时间,直接反问
部门做什么业务?
什么传感器?
组里主要做什么?
建图、定位、标定等
一个老哥推荐,没有自我介绍,没有coding,直接项目,主要是问特殊环境下slam的解决思路
1.地下slam最难的是什么,解决
2.精度评定过没
3.针对地图重叠有什么好的方法
4.异地组网、分布式怎么弄;地下无卫星信号怎么办
5.实习的时候为什么用legoloam不用别的
6.他们也用过r3live,发现很吃性能,怎么办
7.为什么不做紧耦合,esikf之类
8.小树林没有gps,或者信号弱怎么办,提示说livox的imu精度比较低,换用九轴imu
9.简历里写售出一台产品什么意思
10.职业规划
11.反问
问:这个方向目前多少人在做
一个博士面的
1.论文在投?什么期刊?
2.说说激光雷达在测绘的了解
3.legoloam有没有做后处理
4.激光的打在一片白墙上怎么解算
5.为什么用ndt
6.你精度评估做得不好,想看看你论文因为B站和博客都偏向于工程应用,交谈也很流利
7.做导航定位的时候imu是怎么用的
8.基于ros的,有没有不用ros的,比如其他分布式,效率提高30%,可以去了解了解
9.为什么要做基于手机的定位
10.学硕吗?三年专硕?估计以为是学硕才问论文
1.为什么要做融合
2.在哪种情况激光失效、视觉呢
3.会不会画pcb
4.直接法基于一个什么假设
5.项目偏工程应用?
6.有没有offer
面试前:hr打电话约面的时候说线下宣讲的时候笔试分挺高,一面是leader面,说我学校有点难,目前公司这个slam应用岗位也是要求会算法的,我询问了他的意见,他说回去根据面试结果和leaders商量后给具体岗位。
1.自我介绍
2.讲一下数字孪生项目
3.激光什么情况下退化?
为什么?
有没有从激光打在平面上造成的夹角角度分析?
4.怎么融合?松耦合?怎么判定哪个失效
5.面向墙壁问题
slam部门,虽然面试题目一看就是准备好的,但是有水平的
1.自我介绍
2.多融合用了哪些传感器
3.具体怎么融合的
4.激光失效怎么用视觉补偿
5.时间上怎么处理,激光imu频率分别是多少,有没有做过内参和外参的标定
6.长直走廊前后退化,但是两侧是可以作为约束的,有没有考虑过
7.听出来你这个系统很吃性能,你说正在优化,怎么优化
8.原始点怎么筛选
9.ORB熟悉2还是3,2的整体框架是什么
10.后端优化常用什么,stsam、ceres还是g2o,后端怎么优化的,局部优化还是全局
11.重定位、词袋怎么解决灰度变化问题
12.共视图是什么
13.回环误判定怎么解决
14.平时用的什么语言编程,c++,问八股
什么操作会导致内存泄露?
指针指向改变,未释放动态分配内存。
如何防⽌内存泄露?
将内存的分配封装在类中,构造函数分配内存,析构函数释放内存;使⽤智能指针
智能指针讲一下?
多态中的虚函数
在基类中实现虚函数的方法是在函数原型前面增加 virtual.
虚函数与纯虚函数
纯虚函数首先是虚函数,其次它没有函数体,取而代之的是用“=0”。
纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。
反问:
1.部门主要做什么
2.多少人
1.自我介绍
2.外参标定算法框架、loss
3.imu预积分
4.legoloam算法
5.orbslam框架
6.接受北京吗?
反问:
1.做什么?
2.产品还是技术方案?
在北京
1.自我介绍
2.主要是问项目,符合他们的技术栈,对答也比较流畅,还算满意
3.问了一个重定位相关
4.问了一个特征点与直接法
5.问了之前用的哪个回环检测,有什么改进
6.问了评判标准
反问:
1.主要做那个方向
2.有没有3d激光的规划
3.加班情况
4.新人培训
6.slam岗位主要看重啥?
算法体系
各个算法框架、理论体系、优缺点
编程能力
1.自我介绍
2.学过哪些SLAM算法
3.讲一个SLAM框架
4.SC回环怎么做的
5.后端是GTSAM?
反问:
您主要是做什么的?
公司 对slam有什么要求?
投的是C/C++,面试问题也就c++八股,C++八股背的很少不是很熟
1.自我介绍
2.最近做的一个项目是啥?这个项目里用到了C++里的哪些std?
3.vector和list有什么区别?
1. vector底层实现是数组;list是双向链表
2. vector是顺序内存,⽀持随机访问,list不⾏,list是链式存储结构
3. vector在中间节点进⾏插⼊删除会导致内存拷⻉,list不会
4. vector⼀次性分配好内存,不够时才进⾏翻倍扩容;list每次插⼊新节点都会进⾏内存申请
5. vector随机访问性能好,插⼊删除性能差;list随机访问性能差,插⼊删除性能好
4.vector特性?
5.map、set、unordered_map等?
set,map,multiset,multimap底层实现为红黑树,unordered是哈希表;
set不允许两个元素有相同的实值。
multimap和map的唯一不同就是:map中的key是唯一的,而multimap中key是可以重复的
6.C++多态?虚函数?
多态的实现主要分为静态多态和动态多态,静态多态主要是重载,在编译的时候就已经确定;动态多态是用虚函数机制实现的。
没有函数体的虚函数就是纯虚函数
7.讲一讲进程与线程?
进程是程序的⼀次执⾏过程,是系统运⾏程序的基本单位,系统运⾏⼀个程序即是⼀个进程从创建,运⾏到消亡的过程。
但线程是⼀个⽐进程更⼩的执⾏单位。⼀个进程在其执⾏的过程中可以产⽣多个线程。
线程不拥有系统资源,但⼀个进程的多个线程可以共享⾪属进程的资源;进程是拥有资源的独⽴单位。
8.多进程之间的通信方式
(1)基于内存的⽅式
1. 匿名管道
2. 信号
3. 消息队列
4. 共享内存
(2)基于磁盘的⽅式
1. ⽂件
2. 命名管道
(3)基于⽹络的⽅式
1. socket
2. 消息队列
3. RPC
4. HTTP等各种⽹络协议
9.线程安全怎么保证?
10.访问一个网页是怎么样的一个流程?
用代码把共享数据锁住,其他尝试操作共享数据的线程必须等待 锁定->操作->解锁
死锁
至少两个锁头(互斥量)才能产生死锁问题
解决死锁的办法
1.只要保证两个锁头的上锁顺序一致。
2.std::lock(mutex1,mutex2),
3.std::lock_guard<mutex> mylocgad(mutex1,std::adopt_lock);这个函数可以让lock_guard不执行构造函数,只执行析构函数,意思是可以手动lock,让lock_guard来帮助自动unlock,在lock的时候更加灵活了,在unlock的时候也更加方便了
11.做了两个题,coding,都写出来了
反问:
1.是做什么的?有哪些业务?
hr面。
1.在电脑面前从远走到镜头
2.拿起身份证,报身份证号
3.自我介绍
4.核对本硕学校,是否非全日制
5.老家远,为什么投这
6.对苏小妍的了解
7.预计上班会遇到的挑战
8.职业规划
反问:
还有几轮?
新人培养机制?
1.自我介绍
2.实习过吗?实习中的C++项目?
3.c++编程最难的是?
4.HTTP属于应用层
5.tcp/ip属于什么层?
6.C++三大特性
7.为什么选择中国移动?
8.目前有什么offer
1.自我介绍
2.讲一下实习机器人定位这一块
3.ndt怎么定位
4.讲一下数字孪生,数字孪生跟你这个做的不相关吧?
5.地下空间怎么定位
6.地下空间这个项目背景
7.了解什么slam算法?ORB的流程?
8.三角化的原理讲一下?重投影?共享屏幕画一下
9.研究生比赛等
反问:
1.工作base哪里?
2.做什么项目?
3.还有几轮面试?
27min左右
1.自我介绍
2.实习项目你遇到的问题怎么解决
3.实习代码量写了多少?
4.做题:两个题,选了个简单的爬楼梯,另一个是数据结构相关
5.B站和CSDN
反问:
这个岗位需要学些什么?
智能功能安全工程师,因为研究方向不符,所以面试官先给我介绍了一些这个岗位的工作职责
1.自我介绍
2.数字孪生系统项目介绍?做到了什么程度
3.几个人做的?如何分工?
4.怎么评估性能的?
5.时间同步?有没有做过对比?
6.硬件了解到什么程度?通信是自己写的吗?
7.Linux底层自己写的吗?
8.参加了比赛?
9.论文?专利、软著都是数字孪生相关吗?
10.成绩排名?
11.英语怎么样?四六级过了吗?口语如何?跟老外交流过吗?
12.期望工作地点?
反问:
岗位不符,如果要进应该学些什么?
后面约二面,感觉岗位不符,拒了
1.自我介绍
2.给我介绍他们那边的工作相关
3.你做的项目介绍一下
4.C怎么样
5.电赛和智能车竞赛讲一下C相关
6.matlab会吗
反问:
进入这个行业具体还要学什么?
岗位像本科做的嵌入式,不太符合
1.自我介绍
2.实习legoloam
3.z轴偏移解决,在那些情况下发生这种情况
4.r3live了解多少,改进在哪
5.ORB初始化讲一下
6.r3 vio初始化是怎么的
7.r3 lio讲一下
8.loam和fastlio区别
9.古月居课程?
10.看了B站和古月居
11.C++构造函数的四种方式?
问的很多,什么都问,地图测量过没,怎么解决问题,撕了一道题,数组找第k大,快排忘了
我说能不能转实习,实习可以的,估计还有一轮面试,难度低一点,本场面试1个多小时
1.自我介绍
2.ndt定位讲一下
3.ORB的初始化,imu怎么参与
4.标定做过imu的标定嘛
5.其他的忘了
面了半个多小时,总体来说还行,会有一轮更简单的复试
hr综合面,半个小时,考察综合能力,问了对自动驾驶的了解,有哪些公司在做自动驾驶,实习,做过最难的项目,对公司的了解,为什么不考虑在之前实习的公司留下,公司规模什么样才好
然后给讲了公司的大致情况,成立时间,规模
半个多小时,全程被拷打
1.自我介绍
2.问算法,问项目,问slam十四讲很深
旋转矩阵自身是带有约束的,正交且行列式为1,他们作为优化变量时,会引入额外的约束,优化变的困难,通过李群李代数的转换关系,把位姿估计变成无约束的优化问题。它们之间的关系通过指数映射完成
李群上只有乘法没有加法,所以没有办法求导,所以要转换为李代数,通过李代数求导。
李代数 se(3) 的维数是6,3×1的平移向量ρ和3×1的旋转向量Φ组成。
O1O2P组成极平面,O1O2的连线与两帧图像的交点称为极点,极平面与两帧图像的交线称为极线
词袋向量、特征向量
ORB特征是采用FAST方法定位特征点坐标,但FAST特征本身是不具有方向性的,所以在ORB特征中添加对特征方向的计算是采用矩方法计算特征点方向,使用BRIEF计算特征点描述子并根据特征点方向使得描述子具有旋转不变性
灰度质心法计算特征点的方向
H 8
F 7
E 5
在ORBSlam2的Tracking线程中,进行相机状态初始化的时候,当使用对极约束时,求解了第一帧和第二帧之间的单应矩阵和基本矩阵,并通过三角测量得到两帧匹配点的三维位置之后,使用了全局BA算法进行了一次细致的位姿优化。
这一过程比较单调,就是普通的BundleAdjustment优化过程
先设定帧顶点,再设置MapPoint顶点,然后添加边信息。
最简单的利用经验值筛选最小距离4倍的matches或者小于最大距离的0.6倍;
通过RANSAC方法计算透视变换矩阵来筛选符合相同透视的特征点,这样做可以去除很多错误的匹配。
随机采样一致性(RANSAC)是⼀种根据含有外点的数据拟合参数模型的迭代⽅法。外点(outlier) 是“不符合”模型的测量,内点(inlier)是“符合”模型的测量。RANSAC是⼀种概率算法,只有花费⾜够时间去搜索,才能确保(提⾼)找到合理答案的概率。
RANSAC以迭代的⽅式进⾏。在基础版本中,每个迭代包括以下五个步骤:
(1)在原始数据中随机选取⼀个⼦集作为假设的内点(例如,如果根据数据拟合一条二维直线,则选择两个点)。
(2)根据假设的内点拟合⼀个模型(例如,根据两个点拟合直线)。
(3)判断剩余的原始数据是否符合拟合的模型,并将其分为内点和外点。如果内点太少,则该次 迭代被标记为⽆效并中⽌。
(4)根据假设的内点和上⼀步中划分出的内点重新拟合模型。
(5) 计算所有内点的残差,根据残差和评估模型。
迭代上述步骤,把具有最⼩残差和的模型作为最佳模型。
RANSAC的优点是它能鲁棒的估计模型参数,它能从包含大量outlier的数据集中估计出高精度的参数。RANSAC的缺点是它计算参数的迭代次数没有上限,如果设置迭代次数的上限,得到的结果可能不是最优的结果,甚至可能得到错误的结果;RANSAC只有一定的概率得到可信的模型,概率与迭代次数成正比;RANSAC只能从特定的数据集中估计出一个模型,如果存在两个(或多个)模型,RANSAC不能找到别的模型。
反问:
公司成都这边什么业务?多少人?
面一小时,问项目、写题、C++只问了多线程
1.自我介绍
2.问项目,问去畸变,跟图像去畸变区别
3.配准效果,精度和耗时看重哪个
4.teaser++自己改了还是直接调用
5.fpfh是直接调用还是自己写(公司更看重自己写库)
6.ndt
7.数字孪生系统介绍
8.手机orb没有做成app
9.orb哪个部分耗时
10.多线程了解吗,orb里的多线程讲一下
11.激光相机怎么标定的,相机尺度问题怎么解决(找适配场景)
12.相机标定过吗,标定结果参数是什么
13.因为面的算法,做一题
反问
1.后面还有几轮
2.部门做什么
3.要适配该工作应该怎么努力
后面就闲聊,工资啊地区差异等(不计入面试成绩)
一小时多一点,全程不卑不亢 差点吵起来
1.自我介绍
2.你在旷视做了啥,用的什么雷达,频率是多少,问了很多都忘了
3.为什么要用legoloam巴拉巴拉
4.地下矿井针对退化怎么解决,(视觉),视觉也会不行的怎么办
5.古月居
6.电赛做的啥
后面是hr来面:
1.拿了多少offer
2.为啥选择XX不选XX
3.XX开多少
4.职业规划
5.找工作看重什么
反问:
1.项目组做什么的,是不是解决方案提供商(3d 2dslam 有产品我觉得是吹)
2.几个人
1.自我介绍
2.视觉相关做过什么
3.激光和视觉的区别
4.左乘和右乘区别
5.为什么用四元数
四元数四个变量,矩阵9个更难操作
6.为什么用李群和李代数
旋转矩阵行列式为1,引入多余的约束
7.回环检测方法
8.IMU预积分推过没有
9.讲一下卡尔曼滤波
10.项目中你改进最大的一个是什么,举例说说
11.在嵌入式开发过没有
12.极大似然估计和贝叶斯
13.对极几何、本质矩阵、三角化
面了40min,觉得基础还可以,就没有问C++和编程相关
面试官是视觉派,战队特斯拉,公司视觉多,他视觉slam十四讲看了多遍 用过livox40
他觉得我激光更会一点,视觉太少,至于融合 对于视觉+激光觉得我还欠缺
20年8月投的,23年3月捞起来,京东主要负责slam的,面的不太好,大概没了
1.自我介绍
2.旷视负责什么
3.teaser++原理
4.fpfh什么原理
5.项目,sc原理
6.你还知道哪些回环检测方法
7.词袋模型介绍
8.BOW的正反
新投的成都部门
自我介绍
介绍旷视实习
数字孪生系统
问的不多不深,看过CSDN
了解公司吗
公司系统老熟人了hhh
后面说岗位匹配度不是很大
hr
2月投的,现在校招刚开始 还在找工作吗
之前签了三方了嘛
问了期待薪资
英语怎么样 六级多少
用英文面:
介绍自己
你会的能为ADAS做什么
后面还有两轮面试,一轮国内一轮德国 德国是全英语国内部分英语
我人傻了,突然来个电话 以为是约面试而已 直接开始测试英语水平
全程“OK OK that’s all 3q my name is auto car"尬住
问项目,问三种slam框架优劣势,问了很多C++八股,问git等等
问实习
问项目
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。