一大波ML Eng/Data Scientist 面经以及跳槽面试体会

因为NDA 所有面经不会透露题目. 我觉得大多数题目都是interviewer 自己的project的,透题是没有任何用处的. 更重要的是知道什么是重点什么,什么只需要懂个大概, etc…
个人背景Stats MS + 1.5 yr Data Science工作经验 (data mining + analytics) 这次主要跳槽的目标是找一个hardcore ML的工作(以modeling为主, 非analytics, 非experimentation, 非inference, 非data pipelining). 这种position在各个公司有自己的叫法, 比如data scientist, ML Engineer, Software Engineer in ML, etc… 由于楼主背景有限, research scientist完全没有尝试.

总结起来 所有的面试分下面几类:
纯leetcode style coding: 最无聊但也最好准备 楼主很懒 一共就刷了不到60题… 也因为leetcode 挂过面试ML coding: 白版实现经典算法. 少量推公式. Follow up 一般是问如何提升这个基础算法, 和如何scale这个基础算法ML system design: 用ML solve 一个business problem. 做一个plan 从define business metric 到 brainstorm feature, modeling, offline/online evaluation, data pipeline 设计等等

下面是面经 以结果来分

简历拒:
Robinhood, 超喜欢他们的产品, 其实并不知道他们有什么ML, 无奈被拒简历…AirBnB, 感觉他们家的data culture很棒, 可惜简历被秒拒… (海投一天后直接拒掉…)

withdraw:
Lyft: 面了一轮hr screen和电面. 做到take home发现position偏analytics 就withdraw了. 貌似他们家所有data scientist 都是analytics 和experimentation. 做ml的是research scientist 貌似bar很高Pinterest: 投了ML engineer, HR screen 问愿不愿意做analyst, withdrawFacebook: Data scientist, analytics 同上

On-site:
Facebook (Data Scientist, Infrastructure):
挂. 楼主的第一个试水面试. 比剩下所有的可能早4-5个月. 真正的0准备 onsite…ds infrastructure 主要是做关于hardware infra 和software infra 方面的forecast, regression 和监控. 感觉这个position 要求很全面. modeling + deployment + data pipelining + reporting 好像都得会,还得和很多不同的team 合作. 非常重time series. 然而楼主完全不懂time series一轮leetcode coding, 2轮teamwork/collaboration/behavior (就是partner team), 一轮ml system design (直接做interviewer最近的一个project, 非常全面, 从当场推公式到ab testing 到implementation), 一轮 SQL + ML basics

Thumbtack (data scientist):
挂. 挂了之后HR还会提供feedback. 独此一家.感觉因为是startup, 做的东西比较杂 包括recommendation, spam之类的各种.Thumbtack是我这次找工作体验最好的公司. 流程设计的非常好 1轮project deep dive (1小时present一个自己的project) + 一轮ml system design + 1轮hands on modeling (当场发数据给你建模, interviewer在旁边看) + 1轮coding (需要run + 过test case, 1小时建一个mini search engine 非常酷)

Google (Software ML Engineer):
Offer. 2轮leetcode coding + 2轮ml coding + 1轮ml system design.Google 面试流程特别长, 最后我还在team match的时候 因为感觉大部分team的是ads 不喜欢就withdraw了. 因为我Google 投的晚并且要赶上其他公司, 所以recruiter直接帮我skip 了电面, 直onsite. 有类似情况的同学可以提这个要求.个人觉得Google的面试流程(junior position) 不够吸引人. 因为只能见到hiring manager, 给的information也不足. 其他公司的话onsite 基本半个team 都认识了. 同时team match的variance太大, 有可能去assistant 或者brain 也有可能做legacy product… 听说senior 一些的可以先team match 再hc

Credit Karma(data scientist):
Offer. 主要是做recommendation. 我觉得CK 可能是湾区最stable的unicorn. 已经proftable很多年. 上市的话应该很稳. 他们家的comp非常好 我觉得是高于FLAG的…1轮ML coding 2轮ML system design, 1轮ML basic, 1轮 hiring manager behavior

Etsy(data scientist):
Offer. 主要是做search & recommendation.团队15个人左右. 老大很牛. 工作是applied ML + research. 团队实力很强 能发顶会paper. 全公司唯一的一个ML team1轮ML 推公式, 1轮 hiring manager behavior, 2轮ml system design

Twitter(ML Engineer):
Offer. 最后决定去. 主要是做Deep learning. 和楼主兴趣完美契合4轮面试. 每一轮都是2个interviewer的panel. 1轮 leetcode + 1轮ML system design + 1 轮ML coding + 1轮 hiring manager behavior感觉twitter每个engineer的个人impact比FANG大不少

等着被挂: OpenAI. 偶像级别公司. 超级酷炫. OA巨难 1小时的问题 结合了low level coding, statistics, probability 需要推公式+implementation 绝对是我做过的最有意思的coding problem. 貌似他们公司很小. Recruiting email都直接是来自co-founder的.

总结一下经验
Google在想去的公司里面 一定要最先面. 因为他们真的很慢.公司越大, 在面试里面coding的比重越大fancy 的ML model 不一定要会. 但是基础一定要很稳. state-of-the-art 的model 总共被考过1,2次 但是k-means, knn几乎每家必考. 所以implementation, theory, 或者优化必须非常熟悉. 如果一个junior的ML engineer能展示扎实的ml基础和快速进入某一个sub-field的能力, 就足够拿到offer要想清楚自己真正想要什么. 是想要brand, comp, research, 还是 impact, 具体的technical field, business/industry, technology 还是work life balance. 很少能有一个position给你以上所有.

4 Likes

coding就是需要时间培养的,没经验又不练习,当然就不行了,这个极少有例外。

可是你以后做产品,leetcode都写不利索,大概率写出来烂代码给别人添乱,这是实际经验。这种东西和GRE不一样。

做产品并没有比做分析“硬核”,只是不同路线。

不知道你指的硬核是什么,但是没有phd不太可能做。

我觉得在MS level, stats, cs, software eng背景在找ML工作方面没有任何区别. 当然如果你目前title 是software engineer的话 可能比较少recruiter直接找你做ML.

我所说的ML coding 基本上就是实现算法, 比如implement k-means, knn, decision tree

谢谢大佬分享经验~ Twitter的DL主要做的是哪方面的呢? NLP吗

请问楼主,ML coding 具体是什么样的题目,和leetcode区别是什么

不谢~ 据我了解(还没入职), Twitter 的ML有recommendation, ads, nlp, 等等. 具体用不用DL看team吧 https://blog.twitter.com/enginee … ttertensorflow.html

感谢楼主

楼主面经总结得好详细 信噪比很高 赞一个~

不过学到的最重要一课可能是大S宇宙第一的stats ms也会被flag简历据 23333

牛逼!!!!!!!

感谢LZ分享!

楼主投google的software ML engineer是通过什么渠道投的?一般的general hire不招ml engineer吧?

请问楼主openai的邮件是哪位cofounder联系的呢?
我下周phone screen但全程是专门的recruiter联系的:sweat_smile:

cofounder?typo吗?

@Xavier 没有typo呀,cofounder加不加杠都一样。