自动驾驶/机器人 SLAM算法 面经1
欢迎关注公众号:内推君SIR,加微信:neituijunsir 加入自动驾驶交流群
Case 1
一面
项目相关
1、简历中的项目相关问题,项目是三维重建相关的,深度学习的深度估计
2、具体细节上,网络结构、loss设计、数据、训练泛化效果
3、非公共区域如何处理、精度如何保证
基础:
1、非线性优化
2、视觉slam基础
场景题:
1、只有相机的情况下,采用深度学习的方案,如何实现高精度、强泛化的模型效果
2、cnn,不做三维了,做其他方向,怎么准备
二面
简历中的项目相关问题
基础:
三维相关:
1、双目立体匹配,哪些方案
2、sgbm,全称,g是如何实现的,什么算法原理
3、kinectfusion等等开源三维重建框架,有没有玩过,看过
深度学习相关:
1、cnn 基础架构哪些,cnn总体可以分为哪两类任务
2、l1 l2 loss 优缺点、原因、l1 l2正则化,优点,原因,如何在pytorch代码里面实现
3、交叉熵loss,代码,二分类问题
4、多loss加和,如何实现自适应权重调节
5、transformer
6、目前的模型是在什么上面跑的,tensorRT搞没搞过,有没有用c++载入过模型,模型太大怎么办,网络结构怎么调
7、轻量级网络架构哪些,mobilenet知不知道
slam相关:
1、E矩阵 F矩阵,全称,至少需要几对点来计算,自由度、矩阵的秩
2、什么情况下无法正确计算E矩阵,为什么
3、ransac,ransac特殊形式
4、pnp问题,至少需要几对点,为什么很少的点就可以计算了,还需要那么多匹配对
5、orbslam相关,orbslam流程,fast关键点、brief描述子、旋转不变性、怎么实现三角化
6、5的1/3次方怎么算,只有加减乘除
7、非线性优化、牛顿法、高斯牛顿法、区别,各是几阶的,本质区别
Case 2
一面
1、简历中的项目相关问题,项目思想,展开讨论
2、选一个最熟悉的开源框架讲讲
3、当你写BA的时候, 如果发现问题,你一般怎么debug
4、ORBSLAM还有什么改进的空间除了回环检测之外,orbslam怎么消除累计误差
二面
1、项目中的code
2、讲一下lamda函数
3、虚函数表
4、两道代码题,一道是用类来实现一个计时器。另一道是动态规划题。
5、根据编程中的知识点问一些问题,类的生存周期,类的内存储存在哪?
Case 3
1、自我介绍
2、写一个梯度下降法求解a^2=b的算法题
3、简历中的项目相关问题,尤其探讨了深度学习相关的知识在检测和分割领域的应用
4、ORB-SLAM2单目的初始化,VINS-MONO的初始化。主要涉及到一些基础知识的问答
Case 4
1、详细讲一下cartographer的流程
2、在无人机上跑的时候计算平台是什么样的,carto在上面跑的时候的资源占用
3、你的3DSLAM主要用在什么上面
4、在无人机上做和在车上做有什么区别
5、简历上说熟悉loam,lego-loam,说说loam和lego-loam的区别
6、两步L-M和loam的一步有什么区别
7、你说lego-loam回环比较简单,你有了解过什么更好的吗
8、IMU和激光融合做的算法有没有了解
9、IMU和激光雷达紧耦合的开源项目有没有了解
10、IMU预积分有没有了解
11、激光雷达怎么判断适合你的使用的,即选型,你会看那些参数
12、假如让你用EKF做IMU和激光雷达的融合怎么做
13、简历上说熟悉非线性优化G-N/L-M,平时主要用那种
14、调的库还是自己写的
15、L-M跟G-N有什么区别
16、看你也有用ceres库,huber是怎么设置的
17、说说项目,EKF怎么调参的,调完有什么感想、心得
Case 5
一面
1、简历中的项目相关问题
2、光流原理
3、矩阵求逆的复杂度?矩阵分解有哪些方法,复杂度是多少?工程上哪种方法最通用,为什么?
4、H和F矩阵的自由度。
5、IMU预积分了解吗?
6、MLE和MAP的关系。
二面
1、三道代码题,hashmap,动态规划相关。
2、C++11如何有效防止内存泄露
3、智能指针,weak_ptr讲一下
4、array和数组有什么区别?
5、C++如何高效管理动态内存(关于这个问题我真的很迷)
三面
1、简历中的项目相关问题。
2、opencv、eigen、PCL库了解吗?PCL库里bug挺多,你说说有哪些bug。
3、ORBSLAM的代码有哪些需要改进的地方?
4、BA中,海塞矩阵的求逆有哪些可以加速的方法,除了边缘化和GPU,有哪些数值计算的方式能够加速?
5、ceres库的自动求解雅克比的原理?
6、ROS中,node属于多进程,如何把两个node放在一个进程中?
Case 6
一面
1、长廊问题怎么办?
2、为什要选用yolo这个模型?
3、动态SLAM的思路?与基础矩阵分割相比有什么区别?什么是三角剖分?与深度学习方法相比的优势?
4、霍夫变换的原理?单应矩阵为什么只有8个自由度?
5、RANSAC
6、ORBSLAM的初始化步骤
7、怎么用H的稀疏性加速?
8、滑动窗口中的边缘化?
9、R的性质,李群
二面
1、纯代码面,手撕两道编程题。记得其中一道与flood fill类似。
2、git的基本原理以及相关操作
3、还有一些C++基本知识
三面
1、PnP求解最少需要几个点?(4个,3个求解,1个验证)只有一个点的自由度是多少?两个点呢?
2、二维码恢复相对位置,六个自由度,哪个自由度上对噪声比较敏感?
3、怎么用EKF融合多传感器信息?
4、单目视觉如何测量深度?
5、相机内参K的单位。
6、如何通过光流一致性剔除动态物体?
Case 7
一面
1、简历中的项目相关问题,多传感器融合了解吗?
2、跑过哪些开源算法,是否做过对比,各有什么优劣?
3、对于光照明暗变化、动态场景,视觉SLAM如何去解决?
4、视觉SLAM的行业应用有哪些,阐述一下语义SLAM的未来应用优势与劣势?
二面
1、做了哪些项目,问得非常细,会抠项目的细节问。
2、你做的项目未来还有什么改进点?
3、一道编程题,位运算相关。
Case 8
一面
1、简历中的项目相关问题
2、ORBSLAM的哪个部分最耗时?后端H矩阵求解的算法复杂度是多少?如何去加速后端求解?
3、如何求解线性方程Ax=b?SVD和QR分解哪个更快?
二面
1、ORBSLAM怎么克服尺度漂移问题?回环原理讲一下,要估计哪些量?
2、做了一道题,嵌入式编程相关,设计位运算。
3、嵌入式方面,DRAM和SRAM的区别,速度差多少?
4、因为项目用了TX2,问到TX2有哪些模块?
自动驾驶/机器人 招聘 城市:北京/ 上海/广州/ 深圳/ 杭州/ 南京/ 苏州 /成都/ 武汉/长沙 /宁波/合肥/重庆