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

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.mzph.cn/bicheng/12128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何解决NodeJS内存不足引起的程序崩溃问题?

当你的内存量不足(比如云服务器上),可以给系统设置虚拟内存,然后用这个方法增加NodeJS可用内存量,以此解决内存不足而导致的程序崩溃问题。 具体的,就是使用--max-old-space-size参数来增加V8引擎的最大内…

前端最方便正则验证手机号

let reg /^((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))\d{8}$/;if (!reg.test(this.phone)) {uni.showToast({icon: none,title: 请输入正确的11位手机号}) }

009.Rx(Reactive Extenstions)的关系

响应式扩展库在组成响应式系统的应用程序中发挥作用,它与消息驱动的概念相关。Rx不是在应用程序或服务器之间移动消息的机制,而是在消息到达时负责处理消息并将其沿着应用程序内部的执行链传递的机制。需要说明的是,即使您没有开发包含许多组…

【MySQL数据库】丨高可用之MHA集群部署

一、准备工作 1.1 修改主机名 vim /etc/hosts# 添加对应主机 192.168.28.128 mha1 192.168.28.131 mha2 192.168.28.132 mha31.2 关闭防火墙及修改selinux # 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 关闭自启动# 修改selinux vim /etc/sy…

nginx配置域名与IP访问服务冲突问题

在最近的一次开发中遇到一个问题,我在云服务器上部署了两个服务,A服务和B服务, A服务在服务器中用的端口是80端口,所以我在浏览器访问的地址就是 B服务在服务器中用的是9818端口,所以我在浏览器访问的是 现在我给B服务…

解决css使用@keyframes/animation属性失效的问题

导致该属性失效的原因可能有很多种,这里记录我遇到的一种: 因为在使用keyframes时用了 !important 导致属性失效,如: 以下代码阴影不生效: keyframes goshadow {0% {box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.12) …

RustGUI学习(iced)之小部件(九):如何使用绘图部件canvas在窗口画图?

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述 这是本专栏的第九篇,主要讲述canvas绘图部件的使用,会结合实…

Apache访问控制与虚拟主机

目录 一. Web服务简介 以下是一些 Web 服务的基本概念和特征 以下是一些主流的 Web 服务器 WEB 服务协议 二. Apache 服务的搭建与配置 2.1 Apache 介绍 2.2 Apache安装 2.3 Apache目录介绍 三. 访问控制 四. 修改默认网站发布目录 五. 虚拟主机 5.1 基于域名的虚拟…

产品经理也要学个PMP证书?

随着互联网行业竞争的加剧,越来越多的互联网公司将产品经理视为重点培养对象。为了提升自身能力,许多产品经理选择考取项目管理专业认证PMP(Project Management Professional)。那么,PMP对产品经理来说是否真的有帮助呢…

GPU型号-CUDA toolkit版本-driver驱动版本-VStudio版本

根据GPU型号确定可使用的CUDA版本进而确定其他软件的版本对深度学习、高性能并行计算都有重要的参考价值。鉴于互联网资料在此方面的总结较少,根据自身经验简单介绍版本之间的对应关系。 首先用户可以确定的是自己的GPU型号。根据自己的GPU型号可以确定该GPU对应的…

flutter递归方法,获取混合数据结构中的所有值

方法&#xff1a; // 递归函数&#xff0c;用于获取混合数据结构中的所有值/*data: Map类型的数据(实体类 toJson)values&#xff1a;存放递归出来的参数*/getAllValues(dynamic data, List<dynamic> values) {if (data is List) {// 如果是数组&#xff0c;递归遍历数组…

腾讯开源混元大模型-Hunyuan-DiT

网址 https://github.com/Tencent/HunyuanDiT 老实说&#xff0c;最近的大模型层出不穷&#xff0c;我是越来越看不懂了。 现在有些工具用起来都费劲&#xff0c;技术更新换代太快了&#xff0c;每个大厂都在自研模型。 感觉要是想玩这些工具的话&#xff0c;国内的可玩性还…

发布订阅模式

一、常见的发布订阅模式 1、Dom的事件 Event addEventListener dispatchEvent //订阅中心 const event new Event(zyk); //订阅 document.addEventListener(zyk, (value)>{console.log(我收到了&#xff1a;, value) }); //发布 document.dispatchEvent(e, 1); docume…

生活服务商家拥抱数字化,鸿运果系统加速“服务生意数字化”进程

在数字化转型的大潮中&#xff0c;生活服务商家正积极拥抱变革&#xff0c;以适应新的市场环境和消费者需求。鸿运果系统作为专业的“服务生意”数字化解决方案提供商&#xff0c;正助力商家加速数字化转型&#xff0c;推动行业向智能化、个性化服务转型。 数字化转型的背景 …

部分树上问题及图的联通性(图论学习总结部分内容)

文章目录 前言三、部分树上问题及图的联通性最小生成树知识点例题 e g 1 : eg1: eg1: 走廊泼水节&#xff08;克鲁斯卡尔思想的灵活运用&#xff09; e g 2 &#xff1a; eg2&#xff1a; eg2&#xff1a; B-Picnic Planning e g 3 eg3 eg3&#xff1a;L - Classic Problem&…

【ffmpeg】ERROR: x265 not found using pkg-config

在编译ffmpeg --enable-libx265是经常遇见 ERROR: x265 not found using pkg-config&#xff0c;然后x265实际上是已经编译过的&#xff0c;这可能是因为系统没有pkg-config&#xff0c;导致ffmpeg找不到x265&#xff0c;因为安装下即可。 1. 安装 # ubuntu下 apt install pk…

线程状态描述

在操作系统中&#xff0c;线程的生命周期通常包括以下几个状态&#xff1a;新建&#xff08;New&#xff09;、就绪&#xff08;Runnable&#xff09;、运行&#xff08;Running&#xff09;、阻塞&#xff08;Blocked&#xff09;、终止&#xff08;Terminated&#xff09;。不…

会议发布会展览展会,不用活动如何制定媒体邀约方案?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 在会议、发布会、展览展会等不同活动的情况下&#xff0c;制定媒体邀约方案是非常必要的&#xff0c;因为它可以帮助你有效地传播信息&#xff0c;扩大影响力。以下是一个关于如何制定媒…

Telnet 测试网络是否通畅

使用 Telnet 测试网络连接或检查远程服务器的某个端口是否畅通是一种常见且直接的方法。下面是使用 Telnet 测试端口连通性的步骤&#xff1a; 确保 Telnet 客户端可用&#xff1a; 在 Windows 上&#xff0c;如果系统提示“telnet不是内部或外部命令”&#xff0c;你需要先启用…

深入学习Linux内核之v4l2驱动框架(一)

一&#xff0c;概述 V4L2&#xff08;Video for Linux 2&#xff09;是Linux操作系统中用于支持摄像头和视频设备的框架。它提供了一组API和驱动程序接口&#xff0c;用于在Linux系统中进行视频采集、视频流处理和视频播放等操作。 V4L2的设计目标是支持多种设备&#xff0c;…