查看: 27871| 回复: 24
跳转到指定楼层
上一主题 下一主题
收起左侧

[找工就业] 个人经验教你如何准备MLE/AS的面试 -- Part 2

   
全局:

2022(1-3月)-CS博士+3-5年 | 网上海投|BayArea湾区 MachineLearningEng全职@FLAAG

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

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

x
在过去大概四个月,我自己尝试面试了一些公司的MLE/AS role,因为我自己在准备的过程中发现其实能找到的资源非常有限,所以想着在这里分享一下我自己的心得。我大概会分两到三篇写完,这是第二篇。如果你没看过第一篇(主要讲解coding, ML Design),非常建议看完了再来看这篇:https://www.1point3acres.com/bbs/thread-901595-1-1.html。也非常感谢很多小伙伴对我的支持。
. 1point3acres
说明:. 1point 3 acres
  • 我自己面的都是Sr role,有可能对于entry-level的面试要求会有一些不一样的。
  • 不同公司本身面试也会不一样,请谨慎参考。. check 1point3acres for more.

. check 1point3acres for more.
在 Google/Meta/Amazon/Microsoft/Apple/Tiktok/Pintest/Airbnb/Netflix公司里面,除了我工作过的公司(~5年ML经验),剩下的公司我都面过,除了一家剩下的都拿到了offer。公司不一样可能title上会有一些小的区别,但基本上都叫做MLE/Applied Scientist/Data scientist (modeling track)。在以下的说明中,我都会统称成MLE。



3. ML knowledge
. check 1point3acres for more.
有的公司会有专门的ML knowledge轮,有的ML knowledge会在design中连带问道。我的感觉是绝大多数公司MLE面试对ML Knowledge并不深,相对来说如果你面试的title是Scientist的情况会更加注重一些。这也非常好理解,MLE本质更在乎engineering所以对hands-on的要求更高一些。当时实际上不同title做的东西不会有很大差异。

对于ML knowledge, 基本上你需要准备这几块:

. 1point 3acres
  • Traditional ML algorithms. 这个主要分成几个方面:i) GLM like linear regression, logistic regression。GLM其实可以问的非常深如果你碰到一个统计PhD背景的面试官建议不要深聊... ii) random forest; iii) GBM熟透。当然还有很多别的传统算法像gaussian process, SVM, graph, clustering, etc。我自己基本上只准备这三个。因为它们最常被问到,然后如果你不熟悉会是比较明显的red flag。你往往需要非常认真的知道这些算法的每一个details。比如常见的问题包括:i) Logistic regression和naive bayes的区别; ii) random forest每个node怎么做split. iii) GBM中的gradient怎么定义, etc.
  • Algorithms in your specialized area. 这个会因人而已,毕竟每个人过去做的方向不大一样。当然更普遍的是NLP/CV/RL。我自己做NLP比较多,准备面试都会把stanford cs224n重新看一遍。 而对于NLP/CV之类的方向你需要懂deep learning和常用的模型。你需要了解: 1) 里面的deep learning的知识像dropout/activation functions, etc. 2) 模型的具体架构。像RNN/Transformer的架构和各自的优劣势。每一层大致是什么样的。
  • 常用的ML concepts很了解像bias-variance tradeoff/overfitting vs. underfitting/regularization, etc。我甚至被直接问到过手写loss function然后手动计算gradient(当然这个uncommon)。
  • Probabilities and Statistics。我见到问这些问题的并不多。一般DS的面试会更常问到。但我自己作为面试官挺喜欢问别人的,因为这些基础决定着你是一个调包侠还是一个能在算法上有innovation的人。常见的问题比如一些跌骰子的概率计算; 给你一些visitors and conversations,怎么计算significance; 什么是type I/II error; 等等。
  • 其它。理论上ML相关的knowledge是非常广的,并不限于上面这些。其实也可以问你linear algebra, optimization (LP, IP, numerical convergence, etc)等等。但一般并不常见。

. 1point3acres.com . Χ
4. Behavior questions(BQ). ----
. 1point3acres.com
我觉得BQ往往level越高的面试越重要。因为这反应了你处理问题的方式,有没有leadership,怎么跟人collaborate,etc。不同的面试者由于背景不一样,所以tech面试可能会有差异。而一个好的Sr. level的面试者,基本上都是非常能够很好的回答BQ的问题的。. 1point3acres.com

对于经验有限的小伙伴,一个BQ问题答好答的高级往往非常不容易。比如说:你有没有项目受到挫折的经历。
. From 1point 3acres bbs
  • 低级的回答: 我有个项目做的挺好的,后来被de-prioritize了就没做下去了。
  • 中级的回答:我有个项目刚开始performance不好,然后我就各种尝试不同的模型,后来就成功了;
  • 高级的回答:我的项目launch A/B test发现performance不好。然后我dive deep into it,首先check 有没有engineering bugs;然后check 模型performance是不是和offline metrics match;然后check feature distribution有没有shift。然后我发现了问题所在。然后我做了这几个change,然后重新上线了,performance improve x%。.1point3acres
. ----
. 1point 3acres
这里面低级的回答显示了你没有problem solving/project planning之类的能力,非常糟糕。中级的回答虽然解决了问题,但没有显示出一个系统性逻辑性的解决问题方法。而高级的回答显示出了面试者quantitative and critical thinking的mindset。而往往你问题的回答其实对应于你自己平时解决问题的方法,所以平时工作的时候就应该多注意提升自己的软实力。当然即使是这里面的低级回答,这都是工作中经常遇到的情况,如果你能够换种方式回答就会显得很不一样。比如说:
  • 我有个项目,刚开始的时候我通过分析方向有很好的潜力并且得到了leadership的support,并且在做的过程中跟leadership保持着持续的交通。但后来我们通过online的表现发现customer其实并不buy-in这个feature,并不能给business metrics带来很好的提升。所以跟leadership讨论之后,我们决定de-prioritize这个项目。虽然我感到很挫败,但我学到了A/B/C并运用到了后面的项目中,从而渐渐的能够更好的fail fast fail early。

. Χ
当然有的公司有非常独特的文化像netflix/amazon/airbnb,针对于这些文化进行准备效果更佳。建议去地里找相关的资源。

5. System Design
Per my knowledge, 我只知道Meta面MLE会需要考察System Design,而别的公司并不需要。而我自己不是这方面的expert,就不深入展开。地里有很多shared资源。



除了这些之外,如果对怎么如何怎么argu offer, 不同公司ML track的区别,怎么从零开始成为一个MLE,怎么从DS/SDE转成MLE等问题感兴趣的话。请多多加米,将会在后面几期中聊到。

评分

参与人数 93大米 +101 收起 理由
fengyingyang + 1 赞一个
JFreeman + 1 赞一个
ryechan + 1 赞一个
最爱喝牛奶 + 1 赞一个
nyc_cityofall + 1 欢迎分享你知道的情况,会给更多积分奖励!

查看全部评分


上一篇:UX designer: Northwestern Mutual vs. Oracle 选哪家
下一篇:meta NG选组求教

本帖被以下淘专辑推荐:

  • · 面试准备|主题: 65, 订阅: 20
  • · MLE|主题: 6, 订阅: 4
  • · mle|主题: 26, 订阅: 0
全局:
dcdcdc753 发表于 2022-06-11 17:42:32
请lz继续分享不同公司ML track的区别,谢谢分享,非常有用的信息。
. 1point 3 acres
补充内容 (2022-06-12 08:49 +08:00):
我之前发过一个贴正好有ds转mle的建议  
如果在大厂  最好还是内部转组. ----
我现在也准备读 omscs不过是转了mle后的,现在想补底层计算机基础(硬件,分布式等知识)

个人一点感受,我觉得ds去mle有gap需要填:
- coding: 不光是算法刷题,对数据结构底层要有认识,最好还有一些软件设计ood经验.--
- ml,DS大多数是传统预测模型加上复杂的use case,需要可解释性强,mle一般是dl起,侧重实施细节,model之间的tradeoff考虑多,还有涉及速度优化vs precision, non-deterministic等层面的解决,偏软件工程
- 不少公司需要要么在模型上大牛,比如有paper要么是sde+ml的组合,就是有系统设计经验,我属于后者。因为ds这块知识基本为0,也是我感觉转mle最大的gap,最好在工作中接触,加上学习分布式系统的知识结合起来比较容易,没有实际经验很难学

楼主提到meta会面系统设计,这个应该是可选系统设计还是ML的,不少phd选ml,一般小硕等靠系统设计经验比较多
回复

使用道具 举报

全局:
dcdcdc753 发表于 2022-6-14 16:44
我看Amazon AS好像比较偏ML modeling,他们是主要负责reaserch和建model然后deliver给MLE吗

亚麻AS每个组不一样 有的组AS own整个pipeline,从建feature建model到deploy,当然platform是engineer搭好的,特别大的ML org像search,有的组只负责feature,有的只负责algorithm,有的只负责experiment。。

但是从tech stack的要求上来说,亚麻的AS就是Meta LinkedIn这些公司对SWE ML 或者MLE的要求。。

评分

参与人数 1大米 +1 收起 理由
dcdcdc753 + 1 赞一个

查看全部评分

回复

使用道具 举报

推荐
 楼主| loochani 2022-6-13 04:36:44 来自APP | 只看该作者
全局:
dcdcdc753 发表于 2022-06-11 17:42:32
请lz继续分享不同公司ML track的区别,谢谢分享,非常有用的信息。

补充内容 (2022-06-12 08:49 +08:00):
取决于你自己是什么样类型 学习方式的人。如果你有着很强的个人学习能力,很多coursera的课程已经足够让你在skill上达到所需要的level,而on-job learning显然比在学校里面效率更高。但绝大多数人的确自我学习能力有限/很需要有个大环境跟着学习,那可能读个CS master会显得更容易。然后学校也是一个很好的缓冲带从而有很长的时间慢慢找工作和得到一些资源。
回复

使用道具 举报

全局:
火线流明 好贴存了
回复

使用道具 举报

🔗
leihao1313 2022-6-12 07:47:05 | 只看该作者
全局:
加米了, MLE工资怎么样? 比起SDE区别很大吗?
回复

使用道具 举报

全局:
好贴mark,多谢楼主!

评分

参与人数 1大米 +1 收起 理由
mohanxue612 + 1 赞一个

查看全部评分

回复

使用道具 举报

全局:
请lz继续分享不同公司ML track的区别,谢谢分享,非常有用的信息。

补充内容 (2022-06-12 08:49 +08:00):
对DS如何转AS/MLE也很感兴趣。能否提前请教一下:DS转AS读一个part time CS (ML) master 例如Gatech OMSCS 来增强coding和ML的深入学习是不是一个有效的solution?还是应该采取别的更有效的path?有至少一年以上的准备时间的话。感恩🙏已加米
回复

使用道具 举报

🔗
jessie0320 2022-6-12 22:38:43 | 只看该作者
全局:
mark,谢谢分享
回复

使用道具 举报

全局:
leihao1313 发表于 2022-06-11 16:47:05
加米了, MLE工资怎么样? 比起SDE区别很大吗?
看你的track, infrastructure track薪资和SDE差不多,research track(指得是去deepmind, openai, Google brain做AI的大牛)拿的都是CS领域的顶包。
回复

使用道具 举报

全局:
虽然是mle,楼主级别比我高,好想能深入聊聊。
最近开始正好准备楼主提到的长线学习,比如看paper,不过平时用到主要是ts方面,好像不怎么面,火辣辣的transformer也有不少变种。
-baidu 1point3acres另外meta learning, graph NN这些会涉及到吗?工作基本没有接触
我理解面试技术这块也还是比较侧重基础,不太考fancy models?.
. 1point3acres.com
Ml sys design没有太多经验确实难办,估计只能多看video看面试教程找sr mock一下了

回复

使用道具 举报

🔗
 楼主| loochani 2022-6-13 04:29:08 来自APP | 只看该作者
全局:
oefox000000 发表于 2022-06-12 10:04:30
我之前发过一个贴正好有ds转mle的建议  
如果在大厂  最好还是内部转组
我现在也准备读 omscs不过是转了mle后的,现在想补底层计算机基础(硬件,分布式等知识)
对。meta对于specialist可以选择ML design + system design或者两轮ML design
回复

使用道具 举报

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

本版积分规则

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