查看: 5896|回复: 32
收起左侧

[找工就业] 无人车MLE跳槽经验分享

    |只看干货
本楼: 👍   97% (38)
 
 
2% (1)   👎
全局: 👍   98% (81)
 
 
1% (1)    👎

2021(7-9月)-EE硕士+1-3年 | 内推| MachineLearningEng全职@

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
个人背景
这次跳槽投了大约10家公司的MLE职位,主要集中在无人车领域和一些楼主自认为有趣的职位。 每天上班刷题看paper复习ML知识,度过了一个紧张的夏天。最终收获了两个offer。楼主比较懒,在收到心仪的offer以后就withdraw了剩下的面试。楼主有3年MLE工作经验,inspired by地里其他大佬的经验分享:https://www.1point3acres.com/bbs/thread-781157-1-1.htmlhttps://www.1point3acres.com/bbs/thread-775808-1-1.html,想分享一些mid-level的无人车和MLE职位的面试经验。

Timeline
今年4月开始3天打渔4天晒网式的刷题,7月初开始找朋友内推,自己投简历,一边刷题一边电面。8月把onsite集中放在两周以内。最近签了offer。

面试流程和结果
楼主投了无人车不同的和ML相关的职位。Perception, Prediction, Planning, Simulation都有。主要也想通过和不同的组接触来了解一些行业动态。

楼主面完Apple, Cruise, Waymo,和小鹏的onsite以后收到了Cruise和小鹏的offer。楼主比较懒,拿到offer以后就把Snap,Nuro和Nvidia的onsite给取消了。最后去了Cruise,主要和HM聊得比较开心,做的东西挺有趣。其实还有其他很好的无人车公司还没有机会投,比如Zoox, Argo AI, Pony AI等。

Aurora: phone reject
TikTok: 简历挂
Cruise: phone -> onsite -> offer
Apple: phone -> onsite -> reject
Xpeng: phone -> onsite -> offer
Nvidia: phone -> withdrawal
Waymo: phone -> onsite -> reject
Nuro: phone -> withdrawal
Snap: phone -> withdrawal
Facebook/Google: withdrawal application, 投了1月才联系来不及了

换工作的想法从年初就有了,断断续续刷了几个月一直到7月份投出简历有了电面才开始紧锣密鼓地准备面试。面试机会来自于朋友内推,自己海投,和联系Linkedin上面之前connect过的猎头。无人车公司基本很快就回复了,Snap回复也很快。Facebook和Google过了一个月HR才联系我,所以就没继续了。Google投的是Project Starline,Facebook是AR/VR,Snap是general hiring,面过了可以选不同的做ML的组

MLE 面试,phone一般是ML + coding。60 min的面试前面15-20 min是问简历上的ML 项目,这部分比较简单如实回答就好了,涉及confidential的部分可以给面试官讲,然后跳过,不会问很深。不过楼主也遇到了第一轮电面聊着聊着就聊到最新的paper了,然后就开始畅谈扯淡了,1个小时扯完了居然又安排了一轮coding电面。。。楼主建议聊简历不需要花太多时间,除非面试官很感兴趣一直提问,否则会挤占后面写题的时间。Coding部分主要是LC medium类似的题,也被考过手写linear regression。Onsite一般如下:
Coding 2 轮
ML depth (ML design) 1 - 2轮
ML breadth (Fundamentals, model, techniques) 0 - 1轮
Behavior 0 - 1轮
System Design 0 - 1轮 (只有Snap遇到了,而且除了ML Design还有System design,不过楼主没面onsite)
楼主下面会分别详细讲一下每轮的准备

-baidu 1point3acres
Coding面试
  • 这部分是最直接的了,就是刷题,按照section刷,重点刷DFS/BFS和Graph,个人经验无人车公司喜欢考察这部分知识。搜索算法还要掌握Dijkstra和A*。楼主参考了huahua的视频和他的分类。这里推荐下huahua的视频,确实做的很好。
  • 关于语言的选择,楼主遇到过公司点名要求使用C++,大部分都没有要求。但是个人认为做无人车行业的ML,Python 和 C++是必须的,工作内容也逃不开。


ML coding/modeling面试

  • 这一部分有可能出现在一轮coding里,也有可能出现在ML fundamental里
  • 考察内容主要是implement一个基础的ML models,可能会套一个problem solving的马甲,但是和面试官交流结束后基本都是手写model。这里楼主准备的时候用numpy手写(别调包,面试的时候应该不会允许)了kmeans, knn, linear regression, logistic regression, softmax regressions,用pytorch手写了一个简单的MLP和ResNet,这里有几个需要注意的地方:
  • Coding style可以学习sklearn的model,写一个class,implement fit, predict, loss etc. 这样写有助于break down the problem, 而且也给面试官展示出严谨的coding style。
  • 写的时候尽量不要用for loop,input 自己assume都是batch input,model里面用numpy实现matrix multiplication。用了for loop面试的时候也会被问到能不能优化。
  • 写MLP和ResNet主要是熟悉pytorch/numpy的API,楼主有一轮面试的时候面试官直接发来一篇paper的link,要求读其中一个section然后实现这个section里面的一个module。如果平常工作里不会每天写模型的话建议熟悉一下API。


ML depth (ML Design) 面试

无人车的ML主要集中在 Perception和Prediction,Planning有一小部分。最近Simulation也会有所涉及 (具体可以参考GeoSim)。

  • 这一轮可能会deep dive你的简历,一直问到你回答不出来,也有可能会让你设计一个ML模块。举个例子:要设计一个Prediction system。
  • 要明确设计的objectives和requirements,比如prediction可以是预测一个pedestrian未来5秒会不会停下,也可能是预测范围内所有agent的轨迹。需不需要预测agent的heading都是可以先提前和面试官沟通的。
  • 分开讨论每个步骤,这里我喜欢先讨论model input,output,data type,ground truth data collection,metrics,最后再讨论model selection。(几轮面试下来这部分反馈都很好,大家可以酌情参考)

       这部分会被问得很细,举个例子楼主说可以用ResNet当feature extractor,面试官会顺便问ResNet有什么优点。
这里放一个楼主参考过的资料:https://github.com/alirezadir/machine-learning-interview-enlightener/blob/main/README.md


这部分如果有经验的话其实不用怎么准备,如果没有的话推荐读一些高引用的paper,比如Lidar Perception的point cloud encoder: VoxelNet, PointPillar。Prediction的VectorNet等这里就不展开了,各个领域都有明星paper,具体要准备什么看自己感兴趣的岗位. 1point3acres

ML breadth
剩下的就是八股文比武了,比如什么是Batch Norm,什么是regularization, overfit/underfit怎么区分,怎么避免,label imbalance怎么办(可以考虑focal loss),模型如果inference太慢了怎么办。这部分就是要看知识的广度了,如果实在不知道就只能说不知道了(楼主自己也遇到过,有些东西确实见过学过,太久不用也就忘了,诚实的说忘记了就好了)。这里放一个楼主自己看过的链接:
https://d2l.ai/index.html

其他也有很多网课可以学习,这里就不展开了。大家要是有啥具体的问题可以评论,我看看能不能比划比划。


Behavior面试
楼主认为这一轮自己准备的比较水,由于大部分面试onsite前都见过HM,走个流程。HM就选几个很常见的问题问一问,楼主就如实回答了,没怎么准备。可以参考地里准备香蕉厂BQ的帖子。


总结:
  • 个人认为Coding要求和SDE没有区别,会有medium/hard难度的题,也会有刚上来一头雾水很抽象的题。但是经过clarification和阐述自己的思路,一般都能得到Hint然后解决问题。
  • 自己用numpy手写常见的model很重要!楼主遇到过手写linear regression,k-means,读paper写module。
  • 针对不同职位可以适当做一些literature review,有助于ML Design。不需要SOTA,重点放在高引用的paper,理解初衷。(当然实际工作紧跟潮流还是很重要的,无人车行业日新月异,但是针对楼主这个级别的偏重engineering的职位的面试,个人认为这个不是必需的)
  • ML breadth可以找小伙伴一起mock一下,重点在于清楚流利的表达。

. From 1point 3acres bbs
-baidu 1point3acres

这是楼主第一次在地里发帖。这次面试在地里看了不少经验分享的帖子和面经,收获很大。这次面试完了以后也想着回馈地里。大家有什么问题可以评论,希望大家都能面试多多,offer多多。求加米。

评分

参与人数 56大米 +102 收起 理由
bananaFish + 1 赞一个
sunfish_fox + 1 给你点个赞!
hzww + 1 很有用的信息!
frizfealer + 1 很有用的信息!
Owenli20 + 1 给你点个赞!
Artemicy_D + 1 赞一个
lichking + 1 赞一个
沽名钓誉 + 2 给你点个赞!

查看全部评分


上一篇:空气床和早饭vs微软MLE
下一篇:求问雨林Physical Store Team怎么样

本帖被以下淘专辑推荐:

 楼主| yigedataozi 2021-9-16 00:59:17 来自APP | 显示全部楼层
本楼: 👍   100% (4)
 
 
0% (0)   👎
全局: 👍   98% (81)
 
 
1% (1)    👎
这里是我马甲呀 发表于 2021-09-14 23:15:55
想问如果inference太慢怎么办?
这个问题可以从很多方面回答,比如选择lightweight backbone,选择模型的时候做profiling。考虑用TensorRT, CUDA加速,training 用AMP,deploy的时候看有没有和其他service共享GPU,需不需要resource scheduler。

评分

参与人数 1大米 +2 收起 理由
lllbl + 2 很有用的信息!

查看全部评分

回复

使用道具 举报

mangopassion 2021-9-18 00:32:16 | 显示全部楼层
本楼: 👍   100% (2)
 
 
0% (0)   👎
全局: 👍   100% (12)
 
 
0% (0)    👎
yigedataozi 发表于 2021-9-15 22:34. check 1point3acres for more.
楼主做过一年无人车MLE。个人觉得除了ML Design其他差别不大。ML design也和组相关,比如同一个公司有做re ...

谢谢楼主回复。楼主读书就学的自动驾驶还是后来转到这个方向啊?另外ML Design一般都包括什么呀? 最近在考虑DS转MLE,ML design这块有点无从下手。
回复

使用道具 举报

pengzhao0524 2021-9-16 03:20:40 | 显示全部楼层
本楼: 👍   100% (2)
 
 
0% (0)   👎
全局: 👍   95% (46)
 
 
4% (2)    👎
请问关于编程语言, 你是c++,python两个都准备着, 还是只准备一个? 谢谢
回复

使用道具 举报

红魔1878 2021-9-15 14:00:57 | 显示全部楼层
本楼: 👍   100% (2)
 
 
0% (0)   👎
全局: 👍   94% (331)
 
 
5% (18)    👎
lz太强了 简直是神 =。=
回复

使用道具 举报

本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   98% (81)
 
 
1% (1)    👎
恭喜楼主!!
回复

使用道具 举报

本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   94% (2601)
 
 
5% (154)    👎
想问如果inference太慢怎么办?
回复

使用道具 举报

本楼: 👍   100% (2)
 
 
0% (0)   👎
全局: 👍   72% (2907)
 
 
27% (1084)    👎
无人车MLE确实比较容易准备 车上的machine learning model基本都是比较成熟和基础的 STOA model 很多accuracy好但inference太慢所以一般不会用也不会考
回复

使用道具 举报

mangopassion 2021-9-16 01:54:31 | 显示全部楼层
本楼: 👍   100% (2)
 
 
0% (0)   👎
全局: 👍   100% (12)
 
 
0% (0)    👎
想问楼主之前大概的工作背景是什么?无人车这块跟其他general MLE的面试有什么区别吗?
回复

使用道具 举报

mandmwantapig 2021-9-16 03:29:37 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   88% (7758)
 
 
11% (1057)    👎
赞经验分享
回复

使用道具 举报

本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   96% (1985)
 
 
3% (73)    👎
啊 把nuro withdraw了 公司错失大神
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表