SLAM
旋转以及变换
- R1R2左扰动的求导过程
- SO3和SE3了解么?表示一个刚体的旋转可以用哪些方式?
- 欧拉角的万向锁问题
视觉里程计
- E矩阵,F矩阵,H矩阵的区别是什么,分别怎么用,是用来干嘛的,他们的自由度分别是多少?
- 本质矩阵的自由度是多少,至少需要几对特征点可以求解?
- 单应矩阵的自由度,至少需要几对特征点可以求解?
- PnP 方法通过DLT的方式求解,至少需要几对特征点可以求解?
- 相机的畸变模型,鱼眼和针孔分别是怎么去畸变的,单目和鱼眼的fov最大可以是多少度,鱼眼的fov如果大于180之后怎么办?
- FAST角点提取过程
后端
- 高斯牛顿法(GN)的原理
- VIO中LM算法的信息矩阵更新过程
- GN和LM的区别
VIO
- VINS里面提取特征的时候怎么保证在图像上均匀提取的
- VINS中边缘化是怎么进行的
C++
标准库
- C++标准库中的常用容器有哪些?
- vector和list的主要区别?
- 怎么样释放vector的元素?
- map和unordered的区别?查找这两个容器中的元素的时间复杂度?谁的内存占用率更高?
- deque和queue的区别?
- deque能不能用下标访问?
- emplace_back为什么比push_back的效率高?
- 排序算法?
- stl 底层原理,知道多少说多少
智能指针
- C++常用的智能指针有哪些?分别有哪些区别?
- 怎么样把unique_ptr传出去?
- Share智能指针底层原理
多态
- C++中的多态?静态多态和动态多态?
- 函数重载?
- C++虚函数底层是靠什么来实现的?有一个基类,有一个继承类;使用的时候我们声明了一个继承类的指针,他可以指向一个可以继承类的对象,调用的时候可以调用继承类的函数,为什么能够调用函数?
- 构造函数能不能是虚函数?为什么?
- 纯虚函数和虚函数的区别?
- 什么是继承?
Coding
- 有序数组查找元素
- 最长回文子串
- 链表排序