商业澳洲 文章 自动驾驶感知算法面经(20+)

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


 

 

 

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

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

  • 自动标注算法岗位

  • 项目经历问的不深

  • coding两道题。

  • leetcode 55 跳跃游戏

  • NMS python

面试体验较差,不说了。

  • coding:买卖股票基础版

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

第一轮:

  • 项目问的比较细

  • 几个公开数据集的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

  • 纯纯八股文

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

  • batch norm是什么,原理

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

  • 是否了解量化剪枝

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

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

  • 在做安防机器人。

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

  • 上班时间10-7 。

  • 大小周 周六上班。

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

要去合肥出差

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

  • 智慧城市

  • 没问项目就开始coding

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

第一轮:

  • 项目问的很细

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

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

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

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

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

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

第二轮:

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

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

第三轮:

  • 现场面试

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

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

  • c++ segment fault如何debug

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

  • 问了些性格相关的问题

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

llama,MAE,flamingo

transformer的encoder和decoder,position encoding,rope。

第一轮:

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

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

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

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

第二轮:

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

yolov5,v6,v7

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

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

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

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

  • 泊车感知算法

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

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

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

  • 图像感知在北京。

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

  • 国资背景

  • 众包地图

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

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

第一轮:

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

  • 传感器标定是怎么做的

  • domain adaption怎么做的

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

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

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

  • coding:dbscan

第二轮:

  • 是否了解learning的tracking

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

  • 是否能接受加班

  • 早九晚六/七

– c++写的很多

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

  • 描述下dbscan过程

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

  • 目前lidar和融合一共20人

第一轮:

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

  • coding:快排

第二轮:

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

  • 内存分配,内存池

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

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

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

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

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

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

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

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

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

  • 内存泄漏如何避免

  • c++模板,应用场景

  • 智能指针,shared_ptr, unique_ptr

  • 指针和引用

  • external

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

  • 描述NMS过程

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

  • transformer的self-attention过程

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

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

·第一轮:·

  • 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

第一轮:

  • 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的复杂度

第一轮

  • 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,吉利汽车下面的。还有一些联合开发。

  • 一轮技术面:

  • 更复杂的tracking算法。

  • 传感器raw data。

  • 前融合。

  • freespace 用雷达

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

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

hr面试:

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

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

  • 同一批人做量产/预研

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

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

  • 有mentor

  • 张江

  • ukf

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

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

  • PQR都是怎么设置的

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

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

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

  • 4d radar 从硬件到软件

  • 初创公司

  • 有期权

  • 乘用车

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

  • 项目制,

  • 马上要A轮

  • 在新江湾城

第一轮:

  • 卡尔曼滤波,怎么用同一个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; } 

编译能不能通过

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

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

  • coding:二叉树的直径 543

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

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

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

第二轮:

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

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

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

  • 面试官是radar负责人

  • 7,8点下班

  • coding:区间合并 56

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

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

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

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

  • 主要来自蔚来,华为

第二轮:

  • 面试官是感知负责人

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

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

  • 前融合,feature级别的融合

  • 量产 要求较高

  • 最终目标是城区场景

  • 目前是装的eq5

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

  • 九点半之前上班。

第一轮:

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内

`第一轮:

第二轮:

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

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

  • 用前缀和思想+

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

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

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

  • evaluation工具比较完善

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

  • coding:实现shared_ptr

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

第一轮:

  • 重卡,物流运输,

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

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

  • 按照博世系统来,

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

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

第二轮:

  • 先做后融合,

  • 当前是L2

  • 第三轮:

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

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

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

  • 背景,学历,个性。

  • 主要是Apollo系统,

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

  • 毫米波雷达+融合。

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

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

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

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

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

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

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

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

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

代客泊车和自动驾驶

第二轮

有多个项目

5R + 1V

5R + 7V

5R + 7V + 3L

一个人会参与多个项目

上海这边感知4/5个人

第一轮:

澳洲上市的外企

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

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

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

第二轮:

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

Product quantization (PQ)

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

个人的优缺点

主要客户:Google,Apple,

coding:number of islands

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

  • 点云和图片的区别

  • pointnet为什么没有用conv?

  • focal loss的参数如何调

  • 有哪些loss

  • anchor free和anchor based的区别

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

  • centernet网络输出是什么

  • 描述卡尔曼滤波器

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

  • 是否了解mmdetection的hook

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

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

第一轮:

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

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

第二轮:

  • coding:环形链表,每一个node是一个point(x,y),连起来是一个多边形,判断凸凹性
  • 准备单独上市,去年(2021年)刚成立,准备从100人扩张到200人

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

  • 先做国内再做国外

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

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

  • 目前主要在高速场景

  • 老板郭济顺

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

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

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

  • 有食堂。

  • 九点-五点。


 

 

原文链接:https://blog.csdn.net/weixin_38346042/article/details/134013097?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169900313916800226553889%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=169900313916800226553889&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-4-134013097-null-null.nonecase&utm_term=%E6%BE%B3%E6%B4%B22023

作者: 知澳头条

知澳资深作者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

联系我们

1300766331

邮箱: info@getau.com.au

澳洲本地网站设计开发团队 超20人团队,悉尼设计开发14年 联系电话:1300766331 微信: XtechnologyAU
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部