自动驾驶/机器人 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有哪些模块?

 

你可能感兴趣的:(自动驾驶)