• 自动驾驶感知算法面经(20+)


    原文链接: https://zhuanlan.zhihu.com/p/656952371

    本人2022年4月和2023年7月两次跳槽找工作,面经总结在这里,希望可以帮到需要的朋友。

    项目相关的问题主要和经历有关,参考性不大。

    2023年7月

    1. 文远知行

    • 自动标注算法岗位

    • 项目经历问的不深

    • coding两道题。

    • leetcode 55 跳跃游戏

    • NMS python

    2. 易控智驾

    面试体验较差,不说了。

    3. 斑马

    • coding:买卖股票基础版

    • 工作时间早十点,晚上八九点

    4. 蔚来

    第一轮:

    • 项目问的比较细

    • 几个公开数据集的lidar区别,对点云、模型检测的影响

    • domain adaption相关的方法,如何缩放点云

    • radar检测的具体优化。pointnetpointnet++的区别

    • pnp calibration

    • 栏杆检测为什么不用网络学习?

    • BN的mean和std的dimension,有哪些可学习的参数train和test的时候怎么用

    • coding:python 计算两批shape不一样的box的IoU。不用for循环。

    • numpy的broadcast

    • 自认为有技术领先性

    第二轮:

    • 问的都是些比较抽象的问题

    • 对视觉3d检测算法的了解。

    • 举例工作中遇到的困难,(技术/项目),如何解决的

    • 对之前公司的感知算法的问题,看法认识

    • 对未来自动驾驶算法的看法

    • coding:未知形式的函数f(x),零点在[-1,1], 求零点,精度要求1e-4

    5. 有个机器人

    • 纯纯八股文

    • c++语言特性,构造函数,析构函数

    • batch norm是什么,原理

    • MLP是什么, 欠拟合过拟合

    • 是否了解量化剪枝

    • 目前是lidar为主,未来会加camera。

    • 主要是做小型物流机器人。

    • 在做安防机器人。

    • 感知团队5-6个人,包括深度学习,slam。

    • 上班时间10-7 。

    • 大小周 周六上班。

    6. 井松智能

    没问什么技术问题,主要介绍下项目

    要去合肥出差

    工作时间:九点半到六点半

    7. 商汤

    • 智慧城市

    • 没问项目就开始coding

    • coding两道题:NMS,用pytorch手写一个transformer或者conv+bn+fc

    8. 禾赛科技

    第一轮:

    • 项目问的很细

    • 卡尔曼滤波Q和R怎么调

    • c++ 解释态,在哪些场景应用过

    • vector和list的差别,底层实现,各种操作复杂度

    • template是否算一种多态?如果不在.h里面定义他的函数,在.cpp里面定义会有什么问题?

    • 公司的优势:软硬件一体,易于沟通解决问题

    • 客户的不同硬件平台,不同的功能需求。

    第二轮:

    • 又问了些项目相关的问题。

    • 一堆点,找最大凸包。无序的话 用什么排序?极点排序,最慢O(n^2)

    第三轮:

    • 现场面试

    • 介绍下最有成就感的一个项目

    • coding:快排,时间复杂度为什么是O(NlogN)

    • c++ segment fault如何debug

    • vector 和list底层实现,基础操作复杂度

    • 问了些性格相关的问题

    9. 字节aml

    没有问八股,问了些大模型的较新的技术进展

    llama,MAE,flamingo

    transformer的encoder和decoder,position encoding,rope。

    10. oppo研究院

    第一轮:

    • 问了项目中涉及到检测跟踪的算法

    • 十几个人 四个方向。检测跟踪2个人,做手机相册相关算法

    • c++ vector底层实现,基本操作复杂度

    • 虚函数,设计模式有哪些,用过哪些设计模式

    第二轮:

    • 介绍下某项目中对模型做了哪些优化

    yolov5,v6,v7

    • clip有什么问题。为什么,适合什么场景

    • segement anything:prompt如何输入进网络

    • 认为自己擅长算法的哪些方面

    • 有些算法是外包的,准备转为自研

    11. navinfo四维图新

    • 泊车感知算法

    • 传感器:超声波传感器和鱼眼相机

    • L2行车泊车。今年年中/年末交付

    • 自动驾驶在内部相对独立。

    • 图像感知在北京。

    • 超声波传感器换了新版。输出的信息更多了,需要招人来。

    • 国资背景

    • 众包地图

    • 上半年刚进行改革。压力比较小。

    • 八小时弹性。无事不加班。

    12. 商汤自动驾驶

    第一轮:

    • 了解哪些目标检测算法,各自的优缺点anchor,anchor free,transformer

    • 传感器标定是怎么做的

    • domain adaption怎么做的

    • 描述两次代码重构的过程和思想

    • 描述卡尔曼滤波的过程,具体如何解决问题的

    • 后融合怎么做的,速度的gt如何得到

    • coding:dbscan

    第二轮:

    • 是否了解learning的tracking

    • 是否了解sota的bev感知算法

    • 是否能接受加班

    13. 理想第一轮。

    • 早九晚六/七

    – c++写的很多

    • coding;岛屿数量,延伸:如何统计不同形状的岛屿,如何对不同形状建模表示

    • 描述下dbscan过程

    • c++ 为什么要用引用传参

    • 目前lidar和融合一共20人

    14. 地平线(合资)

    第一轮:

    • 加班没有特别频繁。上海会新开office在虹桥/张江。

    • coding:快排

    第二轮:

    • 问的c++问题相对较难:

    • 内存分配,内存池

    • 野指针,一般是什么情况下会产生,如何避免

    - 智能指针,如何实现一个shared_ptr类,各个成员函数什么时候调用,成员变量什么时候更新。

    • new一个新对象时候发生了什么,如何能只创建对象不分配空间?

    • 调用一个派生类的构造函数时发生了什么?

    15. 英伟达

    • 自动驾驶support岗位,每周去车上测试一次

    • 描述图像resize的过程并实现

    • c++编译出现undefined reference如何debug

    • 迁移软件时,出现找不到的binary怎么解决

    • c++多态,虚函数,构造函数可以是虚函数吗,为什么

    • 内存泄漏如何避免

    • c++模板,应用场景

    • 智能指针,shared_ptr, unique_ptr

    • 指针和引用

    • external

    • 感受野怎么算,如果有branch

    • 描述NMS过程

    • yolo和ssd的box后处理的具体过程

    • transformer的self-attention过程

    • softmax为了让输出更稳定做了什么

    2022年4月

    ps:以下记录的公司相关的信息已经不太可信

    1. 滴滴

    ·第一轮:·

    • pointnet input transform,feature transform·

    • coding 834. Sum of Distances in Tree hard,dp+2dfs

    • C++ set和ordered set底层实现,insert和erase的复杂度

    第二轮:

    • 英文自我介绍&几个简单的问题

    • 主要问的tracking,ukf有没有用,具体的R如何根据mean和std调整

    • coding https://www.techiedelight.com/find-triplet-with-given-sum-bst/

    • bst遍历的时间复杂度,3sum用左右指针的时间复杂度:O(N^2)

      • Time complexity of all BST Operations = O(h).
      • Here, h = Height of binary search tree

    2. 轻舟智航

    第一轮:

    • pointnet input transform,feature transform

    • max-pooling可以用什么替代?怎样可以降低nx1024的参数量?

    • batch norm解决了什么问题?有什么优缺点?需要学习哪些参数?还有其他什么norm?

    • L1和L2 regularization,什么作用,具体怎么实现的,什么区别,和weight decay什么关系

    • 卡尔曼滤波器,P,Q,R怎么决定K和协方差阵的?

    • 状态量在平面坐标系,观测量在极坐标系,效果不好?

    • coding 547. Number of Provinces graph dfs

    • dfs的时间复杂度:O(N^2) 因为每个节点都要去遍历他的children,相当于两层循环

    • c++:

    • vector底层实现,空间是连续的吗?vector变量存在堆上还是栈上?里面的每一个值存在堆上还是栈上?

    • unordered map和map,有序还是无序?底层实现,insert和erase的复杂度

    3. ecarx亿咖通

    第一轮

    • coding:DBSCAN

    • 主要业务:智能座舱+自动驾驶

    • 芯片:xinqing科技

    • 感知主要是lidar和camera

    • 去年(2021年)获得了hdmap甲级资质

    第二轮:

    • radar 后融合 直接用cluster

    • 偏向于lidar和camera

    • 目前还在实现大部分功能

    • 前装,乘用车,

    • 主线:多V,多R,多lidar

    • 高速+城区,逐步release

    • 双休,九点半到八点,不打卡

    • 徐汇滨江西岸

    • 平台,系统更大,自动驾驶,芯片,智能座舱,

    • 港股上市,

    • 和tech lead面试的问题:

    • 团队的组成?二十多个人做NN模型,研究生,平均四五年以上,大感知团队:有博士,

    • zhijia,小鹏,mmt,华为,

    • 自己开发的训练模型的平台,pytorch。

    • 平时有发paper或者刷榜的计划安排吗? 会和平时的工作相结合,互相验证。

    • 比较看重员工的什么能力?技术能力,沟通。创造力。

    • 做到25年的规划。

    • 23年单V落地。

    • 主要客户:泊车,adas,吉利汽车下面的。还有一些联合开发。

    4. 纵目

    • 一轮技术面:

    • 更复杂的tracking算法。

    • 传感器raw data。

    • 前融合。

    • freespace 用雷达

    • 视觉->系统供应商->雷达

    • 毫米波雷达感知七八个人,还有信号处理,一共100多人。华为,美团,江淮。

    hr面试:

    • 工作时间 九点半,五点半/六点半。双休,没有打卡

    • 毫米波雷达感知七八个人

    • 同一批人做量产/预研

    • 中级/高级差不多各一半。

    • 总监 工作了十几年。比较平衡。

    • 有mentor

    • 张江

    5. 采埃孚

    • ukf

    • 除了hm之外的其他匹配算法

    • 观测和预测的相似度计算

    • PQR都是怎么设置的

    • 单例模式和工厂模式的区别

    6. 感铠科技

    • L2,L3,adas功能实现,主要在底特律

    • 尝试前融合,目前是用原始radar detection和vision

    • 4d radar 从硬件到软件

    • 初创公司

    • 有期权

    • 乘用车

    • 公司名字可能会改,四月份确定

    • 项目制,

    • 马上要A轮

    • 在新江湾城

    7. 文远知行

    第一轮:

    • 卡尔曼滤波,怎么用同一个filter同时适配车辆横穿的场景

    • 感受野计算。

    • centernet等基于center的recall不够高,有什么办法来改善

    • 做二分类,有80%的数据是标注正确的,20%是标注失败的,如何训练?

    • anchor-baseanchor-free的优劣;

    • 如果anchor-based的方法,设置很多不同的anchor,对于非正常宽高比的物体以及小目标会有改善吗,除了计算速度以外会有什么其他问题

    • c++11之后的新特性有没有用过

    • 智能指针

    void test (const std::vector<shared_ptr<xxx>>& aaa){
    
    aaa[0].b += 1;
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    编译能不能通过

    • std::vector generate()void generate(std::vector*) 哪个效率高

    一般是第二个效率高,因为函数返回值默认会赋值一份空间,除非编译器有做return value optimization

    • 单例模式的实现:static、全局变量、指针判断(默认是空,每次用的时候判断是不是空,空就创建一个)

    • coding:二叉树的直径 543

    • 上海这边一共50人,感知6~7个人

    • 大家同时做几个产品线,通用算法

    • 毫米波雷达和视觉相关都有

    第二轮:

    • coding:105. 从前序与中序遍历序列构造二叉树, 7. 整数反转

    • 环卫车项目,要在广州2个月左右,目前是二三十个人,主要是基于已有的融合,tracking框架加入环卫车特有的一些规则

    后面稳定下来后可以参与感知算法

    8. 极氪科技

    • 面试官是radar负责人

    • 7,8点下班

    • coding:区间合并 56

    • 目前毫米波雷达只有两个人

    • 背靠吉利,在供应商面前占有强势地位,有conti的4d radar在手

    • 目前可以拿到传感器目标级和点云级的输入

    • 毫米波雷达在高速上比较重要,未来会扩展城区场景

    • 主要来自蔚来,华为

    第二轮:

    • 面试官是感知负责人

    • 感知包括定位等,一共目标一百六七十,

    • 感知算法,目标检测这边目标八九十。

    • 前融合,feature级别的融合

    • 量产 要求较高

    • 最终目标是城区场景

    • 目前是装的eq5

    • 也会涉及到lidar,融合等算法

    • 九点半之前上班。

    9. autox

    第一轮:

    -coding:number of islands

    -unorder_map map区别,unique_ptr

    • int const * const x; const放在*右边,指针的指向不能改,这一行第一个const也可以放到左边,const int也不能改
      int * const y; 指向int的const指针,int值可以改,指针指向的地址不能改
      const int& i = *y; i的值不能改,read only
      int& j =*y; j是别名,可以改,改了的话y指向的变量也会改

    • 毫米波雷达感知只有美国一个人,国内十几个人在做autox自己的雷达。

    • 也会做和camera,lidar的融合

    第二轮:

    • 卡尔曼滤波器,要是系统不是线性的会产生什么问题?

    • ekf是怎么解决不是线性的问题的?

    -匈牙利匹配是一个全局最优的,有没有试过其他的匹配方法

    • coding:判断一个点是否在一个旋转的box内

    10. pony

    `第一轮:

    第二轮:

    • 是否了解radar如何测角测速

    • `coding:无序数组,选三个连续子数组,每个子数组都是两个元素,求这三个子数组的和的最大值

    • 用前缀和思想+

    • 也会做和lidar,camera的融合,

    • 有不同的项目线,基本上用同样的code base,自己决定做哪个项目

    • 算法迭代需求主要来自于路测问题和evaluation结果

    • evaluation工具比较完善

    11. 千挂

    • 主要在北京,一共30, 感知5-6个人,前融合

    • coding:实现shared_ptr

    • 两个bst,各选一个数,加起来等于target

    12. 主线科技

    第一轮:

    • 重卡,物流运输,

    • 干线物流+港口物流:L4,无安全员。

    • 北京:港口,L4前瞻调研,lidar和vision提供general感知,地图等。300人。

    • 按照博世系统来,

    • 上海:算法十个人,平均工作五年以上

    • 去年(2021年)九月份成立,主要是为了高速干线物流量产,落地,合作商用oem top2,radar后融合with lidar和vision,环境搭建,会来一位大佬,做过前后融合,目前没有人做radar,打算招7~8个人。目前是用目标级输出,未来用点云。50人->100人。算法三十人。

    第二轮:

    • 先做后融合,

    • 当前是L2

    • 第三轮:

    日- 常的工作的大概内容?

    • 路测数据,主导开发的原则,

    • 比较看重员工的什么能力?

    • 背景,学历,个性。

    • 主要是Apollo系统,

    • 组织架构合理,有凝聚力

    • 毫米波雷达+融合。

    • 嘉定安亭。上海汽车城大厦。九点到六点半。十一点半到一点午休。没有打卡。

    13. 云骥科技

    • 第一轮coding: 54. 螺旋矩阵

    • 感知15个人,lidar,camera,radar,

    • 干线物流,城市货运,乘用出行三个场景,从城市场景开始做?

    • 做一个统一的平台,优先做robotaxi。然后做robo bus

    • 园区L4无人小巴,计划六月份在上海公共道路

    • robotaxi已经有公司在做了,和友商比较的核心竞争力是什么?域控,有自己的gpu,不用ipc

    • 团队完整,资金足够,王京傲的影响力。

    • 自驱力,自我成长,团队合作精神。

    14. 禾多科技

    代客泊车和自动驾驶

    第二轮

    有多个项目

    5R + 1V

    5R + 7V

    5R + 7V + 3L

    一个人会参与多个项目

    上海这边感知4/5个人

    15. appen澳鹏

    第一轮:

    澳洲上市的外企

    主要工作:数据预处理,后处理,算法开发。

    上海有两个分部:local和global。这个岗位负责global业务,准备招4~5个人

    流程:本地验证,和annotator合作验证,跑过线上ab test,由engineer部署。

    第二轮:

    coding:两个排好序的数组,找公有元素。

    Product quantization (PQ)

    问了概率计算,sample数据实现。

    个人的优缺点

    主要客户:Google,Apple,

    16. 智加

    coding:number of islands

    量产由其他team负责,这个team负责预研及量产。

    17. 商汤

    • 点云和图片的区别

    • pointnet为什么没有用conv?

    • focal loss的参数如何调

    • 有哪些loss

    • anchor free和anchor based的区别

    • anchor-free的target assign是怎么做的,怎么解决多个目标中心点位置比较靠近的问题?

    • centernet网络输出是什么

    • 描述卡尔曼滤波器

    • 如果分类问题中几个类别有overlap怎么办,如何设计网络结构

    • 是否了解mmdetection的hook

    • 如果需要在mmdetection中加一个backbone,需要改哪些代码?

    • coding:二叉树中序遍历,不用递归

    18. 禾赛科技

    第一轮:

    • 数据,标注,感知,后处理,工程

    • 15个人,点云特征,十点-八点

    第二轮:

    • coding:环形链表,每一个node是一个point(x,y),连起来是一个多边形,判断凸凹性

    19. 均胜电子

    • 准备单独上市,去年(2021年)刚成立,准备从100人扩张到200人

    • 目前有五家公司在谈合作。

    • 先做国内再做国外

    • 算法:感知10人->20人。

    • 主要做L4 taxi,L2,L2++,芯片

    • 目前主要在高速场景

    • 老板郭济顺

    • 客户稳定,传统tier1,有积累,有资源,70%业务来自于国外

    • 第二轮:面试官以前在上汽,主要做视觉感知,七八年

    • 上海office在莘庄。莘学路。 两栋楼。

    • 有食堂。

    • 九点-五点。

  • 相关阅读:
    Scrum联盟权威认证CSM<ScrumMaster>官方认证课
    epoll机制 对比 select、poll机制的优势
    倍福PLC实现绝对值编码器原点断电保持---bias的使用
    OpenFeign快速入门及使用
    C++ string操作
    Linux友人帐之命令
    【MySQL基础】-【数据处理之增删改】
    AutoJs学习-实现复制文件和文件夹
    市场研究:3D打印材料行业规模政策及发展趋势调研分析
    Unity UI自适应
  • 原文地址:https://blog.csdn.net/weixin_38346042/article/details/134013097