2024届SLAMer秋招算法岗面试题总结

devtools/2024/9/24 5:24:45/

2024届SLAMer秋招算法面试题总结

    • 1 实习面试
      • 禾多科技
      • 小米
      • Nreal
      • 极智嘉
    • 2 秋招面试
      • 商汤
      • 南测(线下)
      • 影石
      • 零束
      • 中移上研院(线下)

先说一下本人的情况,研究方向视觉slam+多传感器融合,bg双985,一篇SCI二区,项目做的比较水。
起初目标瞄准算法岗,结果从实习开始就没找到,秋招更是一片惨淡,进面试的概率是1/10,只拿到一个算法岗offer,很遗憾,最后决定彻底放弃算法了。
如果有正在面临春秋招的slamer看到这篇博客,希望能给到你一点帮助。


算法岗要准备的内容包括:

  1. slam十四讲基础理论:PNP、本质矩阵、基础矩阵、单应性矩阵、Ransac、对极约束、李群李代数等
  2. 项目细节:算法原理、流程、创新点、设备平台、标定、场景问题等
  3. C++编程基础:三大特性、指针、引用、数据类型,个别情况会问到开发中的进程线程、垃圾处理等
  4. 力扣刷题:个人观感,要过大厂笔试,只刷简单和中等是不够的
  5. 常用开源算法框架:做视觉要熟悉VINS、ORB-SLAM、GVINS,初始化、重投影、预积分这些要非常熟练,优化库像ceres里的编程过程也要熟悉
  6. (可选)视觉方向非常非常建议你去搞点深度学习,传统方法去面试感觉真不够用了
  7. (可选)嵌入式平台开发
  8. (可选)opencv图像处理
  9. (可选)数据库

1 实习面试

禾多科技

围绕项目提问,每一个项目都会问到,非常关注深度学习应用

  • 线特征是用什么提取的
  • 线特征和消失点是怎么构建残差
  • 为什么要做分割、分割的精度
  • 有没有做过用深度学习做前端
  • 数据集是怎么做的,网络输入输出怎么设计的
  • 检测结果衡量指标,对于误检测和漏检测怎么处理
  • 对于车载前向单目,怎么实现逆向的重定位匹配?加后视、环视
  • NetVLAD提取到描述子的过程是怎么实现的
  • 有没有做过嵌入式平台的部署

C++部分

  • const用法(主要是函数传值)
  • 指针和引用的区别(是否需要初始化)
  • vector怎么分配指定的内存空间,怎么释放
  • resize和reverse的区别

小米

一面
先问项目,再写代码

  • 线特征残差是怎么构造的,消失点约束是怎么构造的,几何意义
  • 点线特征在做优化的时候,信息矩阵是怎么给的
  • IMU预积分姿态是怎么推的
  • 陀螺零偏随机游走、加速度零偏随机游走在哪里有用到

代码手撕
Leetcode第一题 两数之和(哈希表)

二面

  • 消失点怎么构建
  • 对于图像匹配错误的情况怎么解决
  • MSCKF简单讲一下这个系统架构,它的滤波状态量有什么,对于地图点是怎么处理的
  • 优化和滤波各有什么特点,你觉得哪种应用更好

基础知识部分

  • 为什么要用李群和李代数
  • 边缘化是怎么做的

C++部分

  • 常量指针和指针常量
  • 函数传参 什么时候用引用,什么时候用指针
  • 虚函数的作用

Nreal

非常注重公式原理的考查

  • 线特征自由度、表示方法、对极约束是怎么建立的
  • 消失点的约束是怎么建立的
  • LBD描述子是怎么实现的
  • 标定(用的什么相机、标定板大小尺寸、标定精度重投影误差、怎么评价内外参标定结果的好坏)
  • 两个图像帧各有一百个跟踪点 怎么区分内点和外点
  • VIO和GNSS做滤波,有哪些状态量,对于高楼有遮挡条件下怎么处理
  • 对极约束公式
  • BA问题求雅可比维度(3个相机6个量,10个地图点3个量)60*48

写代码(打开vs共享屏幕)
一个nums数组求第k大的元素(力扣题,快排)

极智嘉

这边做激光应用,并且表示不用视觉方案,所以没有对视觉SLAM做深挖

  • 对于车体前进方向上怎么做约束
  • 最小二乘和卡尔曼滤波的区别,有什么相同点,优缺点
  • 卡尔曼滤波是关联相邻两个时刻,怎么能够关联多个时刻

编程题
给一个二维的vector,存储平面特征点坐标xy
拟合平面直线(思路就是构建Ax=b方程,编程实现)


2 秋招面试

商汤

先问项目,再问slam14讲,再问C++

  • 开阔场景和隧道场景怎么处理
  • 出隧道后轨迹存在跳变怎么解决,怎么平滑处理
  • 卡尔曼滤波基本原理
  • VINS初始化基本流程
  • E、F、H矩阵都需要几个点
  • Ransac原理
  • SVD分解有奇异性问题吗
  • BCH近似

C++

  • reverse和resize
  • vector和list
  • 自定义类型排序,对自定义类型有什么要求
  • 赋值构造和拷贝构造
  • static关键字修饰类成员变量和函数
  • 对于常量的初始化,可以放在构造函数里面吗,在哪初始化
  • week_ptr有什么用处,会增加引用计数吗
  • 左值引用和右值引用
  • 虚函数表指针存在什么地方,是父类子类都有还是共用
  • 非静态成员函数可以调用静态成员变量吗

南测(线下)

介绍项目,问slam基础,场景方案设计题

  • VINS、GVINS框架流程
  • 有没有学过摄影测量,前方交汇
  • 场景题:无人机战场下观测,确定一个目标的位置,怎么设计一套方案
  • 视觉方案成果验收,提供哪些指标
  • 怎么看待传统测绘行业和车企互联网

影石

围绕项目问,没有C++和编程考查

  • 问项目中用的设备类型,惯导零偏参数水平
  • GNSS/INS滤波组合过程
  • 怎么解决抖动问题

零束

围绕项目问,没有C++和编程考查,流程很快十几二十分钟

  • 卡尔曼滤波流程,EKF为什么要做线性化
  • 问项目设备

中移上研院(线下)

  • 视觉定位本质是观测什么
  • kalibr标定原理
  • 车载Z轴激励不够怎么办
  • 如果GNSS各种方差协方差指标都很好,但观测质量有问题,怎么剔除

http://www.ppmy.cn/devtools/39483.html

相关文章

Node.js v20.12.2版本执行npm run dev 报openssl 错误2024最新修复方案

Node.js v20.12.2版本执行npm run dev 报openssl 错误2024最新修复方案 故障描述修复方案 故障描述 ERROR SyntaxError: missing ) after argument list C:\Users\xxx\Documents\workspace\WebstormProjects\xxxx\node_modules\webpack\lib\util\createHash.js:135return new …

Unity构建详解(12)——自动构建

【前言】 自动构建是指整个构建流程不需要人工操作,只需要输入启动构建指令即可获取构建结果。实现这样的自动构建需要满足以下条件: 支持命令行参数启动 我们不可能每次构建时都打开Unity去手动点击构建,必须支持通过命令行启动Unity自动执…

Middle for Mac:简洁高效的文本编辑软件

追求简洁与高效?Middle for Mac将是您文本编辑的最佳选择。这款Mac平台上的文本编辑器,以其独特的魅力和实用的功能,赢得了众多用户的喜爱。 Middle注重用户体验,采用简洁直观的界面设计,让您能够迅速上手并享受高效的…

在k8s中安装Grafana并对接Prometheus,实现k8s集群监控数据的展示

🐇明明跟你说过:个人主页 🏅个人专栏:《Grafana:让数据说话的魔术师》 🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、Grafana简介 2、Grafana的重要性与影响力 …

【小迪安全2023】第61天:服务攻防-中间件安全CVE复现K8sDockeruettyWebsphere

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

OpenCV使用 Kinect 和其他兼容 OpenNI 的深度传感器(75)

返回:OpenCV系列文章目录(持续更新中......) 上一篇:使用 OpenCV 创建视频(74) 下一篇 :OpenCV使用 Orbbec Astra 3D 相机(76) 目的:​ 通过 VideoCapture 类支持与 OpenNI 兼容的深度传感器(Kinect、XtionPRO 等)。…

【算法刷题day49】Leetcode:123.买卖股票的最佳时机III、188. 买卖股票的最佳时机 IV

文章目录 Leetcode 123.买卖股票的最佳时机III解题思路代码总结 Leetcode 188. 买卖股票的最佳时机 IV解题思路代码总结 草稿图网站 java的Deque Leetcode 123.买卖股票的最佳时机III 题目:123.买卖股票的最佳时机III 解析:代码随想录解析 解题思路 定…

【Java】获取近六个月的年月

数据库里面存储的字段类型就是varchar&#xff0c;数据格式就是类似2024-12这样的年月格式。 目标&#xff1a; 以当前月份为标准&#xff0c;向前获取近6个月的年月&#xff08;year_month&#xff09;形成列表 // 获取近6个月的年月列表List<String> recentMonths ge…