📣 4th of July限时特惠: VIP通行证立减$68
查看: 58720| 回复: 56
跳转到指定楼层
上一主题 下一主题
收起左侧

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

   
🙏 6
全局:

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

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

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

x
在过去大概四个月,我自己尝试面试了一些公司的MLE/AS role,因为我自己在准备的过程中发现其实能找到的资源非常有限,所以想着在这里分享一下我自己的心得。我大概会分两到三篇写完,这是第一篇。

说明:
  • 我自己面的都是Sr role,有可能对于entry-level的面试要求会有一些不一样的。
  • 不同公司本身面试也会不一样,请谨慎参考。-baidu 1point3acres


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

在面试MLE的时候,大致你会需要准备这些方面:
. 1point 3acres
1. coding

这个跟SDE的coding准备没有本质的区别,你需要去刷leetcode的题,有的公司会需要compile代码然后either你自己写tests or 它有准备好的tests需要你通过。所以应该很多帖子都会告诉你基本的注意事项像:
  • 像clarification questions比如有没有内存限制;input的range/format之类的
  • 先跟面试官交流你大致的想法/data structure再开始coding。
  • 写代码时有比较清晰的轮廓知道每个部分在做什么。
  • 如果想不到最优的方法也可以start wtih一个可以跑的solution再优化。


可能唯一比较特别的是,有的公司会有专门的ML coding或者出的coding题会更数学一点,比如怎么设计一个sparse matrix (包括加减乘等运算)。这需要你懂得这些矩阵的运算大概是怎么work的。有的公司甚至可能会要求你implement一个具体的算法像kNN/k-means之类的 或者用DL framework简单写一些model implementation像transformer的矩阵运算(这种面试一般不是非常common)。所以建议的准备是对于最常用的算法你需要至少能达到写伪代码的程度。


2. ML design

这个是MLE面试和SDE面试最不一样的地方,基本上所有公司都会有一两轮考察这个。大概的面试题都是要求你按照一个实际的use case设计一个solution。比如最常见的怎么设计Youtube recommendation/doordash search box/auto suggestion/etc. 这种问题由于high ambiguity/很依赖经验,使得并不容易回答好。

我个人建议的准备方法:
. ----
  • 平时的积累。如果你有自己hands-on做过end to end ML项目像define problem, find related features, modeling, offline evaluation, online deployment, monitoring, iteration, etc. 那其实就成功一半了。其实不论面试的问题是ML的哪个方向,大致的框架都是类似的。只是往框架里面填的东西不一样。所以如果你没有做ML product的经验,至少应该有offline build模型的经验,然后再通过像medium里面的一些公司的blog来积攒经验。比如像Pinterest/airbnb的blog就有很多好的use cases。平时的积累也会反应在一些追加的问题上。比如对于NLP的应用可能会问你如果文本非常长怎么处理;推荐的应用上可能会问你怎么做counterfactual evaluation。而这些问题,你如果平时就多follow state of the art多看paper参加conference听talk就会有好的多的sense。而这些不容易通过短时间的准备速成。


  • 看相关的准备材料。<a> 如果你实在经验很少,可以看看educative的ML system design/Grokking the Machine Learning Interview入门至少知道一个大致框架。比如search的问题需要分成information retrival和ranking两个步骤。如果你没有search的经验可能会一脸懵逼。。。如果你自己有不少CV/NLP/search/recommendation的经验这些课程意义不大。<b> 然后还是跟第一点一样,可以看看相应公司的blog来了解他们主要解决的是什么样子的问题以及解决的方法。<c> 可以去youtube里面搜索一些相关的视频。我个人发现好的比较少,但也可以找到一些好的。比如我觉得这个talk就挺不错的:https://www.youtube.com/watch?v=lh9CNRDqKBk


  • 看相关的paper,对于一个平时有看paper习惯的人来说,没有什么比看paper更快的准备方法了。往往一篇好的应用paper都是从问题到features到methodology到evaluation和online results来讲story的。其实跟ML design的面试非常相似。其实常见的问题的经典paper非常有限。比如 <a> 对于推荐 Deep Neural Networks for YouTube Recommendations (如果你只有时间看一篇paper,建议把这篇吃透,因为search/recommendation是最常问题的问题); <b> 对于auto completion:Gmail smart compose: Real-time assisted writing; <c> 对于option generation: Smart Reply: Automated Response Suggestion for Email; <d> 对于ranking/personalization: airbnb有几篇paper写的不错等等。
.1point3acres

而在回答这个问题的时候,我自己的prefer的框架是:

  • ask clarification questions: 1) 比如像 what's the stage of the project。如果是早期可能需要考虑cold start的问题。2)traffic。这个会影响你engineering wise的robustness和latency的考虑之类的。3)assume常用的数据都log了。一般这个assumption都是成立的。不过依然建议double confirm。


  • 整一个大的八股文的结构。roughly的描述主要的几个component:对于online的部分包括像 数据 (有online user data的 和 直接database fetch的),ML service, ML model artifact, logging and monitoring 对于offline的部分包括feature processing, modeling, evaluation。你应该很容易找到这个标准的design图像前面提到的那些课程里面。建议直接跟面试官画图。比如我自己很喜欢remote面试的时候准备ipad在上面直接画。这个一方面面试官会觉得你很有条理;另一方面当你讲details的时候会知道你在讲哪个方面。

..
  • 具体的实现。这个包括:    <a> features。你会需要什么样的数据,这个需要自己多开脑洞。比如recommendation大致分成三块 document related features (like # of watches, text, video embedding), user related features (gender, geographic info ** super important for location related search **, previous watches, previous searches), interaction features (distance, watched/clicked before or not, matched words), etc. 而往往你会需要了解最常用的text embedding/image embedding/id embedding的方法从而能够知道怎么处理这些非numerical的数据。<b> 模型。这个就是整个design的meat了。你首先需要把问题建模成regression/classification/ranking/etc中的哪个问题。你对于input是怎么encode,你模型的框架什么样子(对于ranking bi-encoder vs cross-encoder vs poly-encoder,对于recommendation最常见的two-tower),然后模型的主体是一个什么模型 (往往会考察不同模型选择的优劣势logistic regression vs. random forest; LSTM vs. Transformer),然后模型的loss function怎么选择。<c> evaluation。你需要知道最常用的evaluation metrics像 accuracy/AUC/F1/precision/recall/MSE, 对于NLP像 perplexity/BLEU/ROGUE/BertScore, etc. <c> 其它的部分基本不大可能聊出花来。简单的延伸像是对于不同的数据用什么方式存储,data pipeline怎么设计之类的。


剩下的就是面试官对于某些具体的方面有什么问题了。那这个就完全取决于你的积累了。。。比如搜索中对于一个restanrant chains的搜索怎么处理;对于探索式的搜索怎么处理 (eg. movie for family); 数据量少的时候怎么办。那基本上你就会往knowledge graph/active learning/reinforcement learning/GAN等等方向扯淡了。

除了这些之外,如果对怎么准备ML knowledge,behavior question, 如果argu offer, 不同公司ML track的区别感兴趣的话。请多多加米,将会在后面几期中聊到。


补充内容 (2022-06-12 03:57 +8:00):
Part 2: https://www.1point3acres.com/bbs/thread-903176-1-1.html

评分

参与人数 166大米 +202 收起 理由
WindyZhu999 + 1 赞一个
williann + 1 赞一个
zoeuxuankong + 1 很有用的信息!
QueenieV + 5 欢迎分享你知道的情况,会给更多积分奖励!
宝宝棒棒棒 + 1 赞一个

查看全部评分


上一篇:谷歌选组 high tech support 如何
下一篇:求助!前端面试前的课题

本帖被以下淘专辑推荐:

全局:
本帖最后由 novavistamn 于 2022-6-6 11:19 编辑

感谢楼主分享。顺便也呼吁一下这个贴子有126收藏,但只有16赞+27米,大家看帖不要忘记给楼主点赞加米啊
回复

使用道具 举报

推荐
 楼主| loochani 2022-6-6 21:35:28 来自APP | 只看该作者
全局:
tommychang1983 发表于 2022-06-06 06:21:35
牛贴留名。请问楼主,是否有被考察过统计或者线代方面比较难的问题?
我没被问到过非常具体的,但被要求直接写back propagation, implement matrix multiplication, 写代码计算probability等等。

Actually我面试别人非常喜欢问概率统计,像A/B testing的significance计算,probability 的计算。所以我相信也会有人问的。
回复

使用道具 举报

推荐
xiyayan32 2022-6-12 08:18:52 | 只看该作者
全局:
troybitchen 发表于 2022-6-6 01:52
请问楼主,找CV相关的,跟MLE差别比较大吗?似乎CV一般不会考察推荐搜索这些?
.
我不知道其他人,我面试别人时候,如果对方是CV或者NLP的背景,推荐或者搜索大概讲讲就deep dive到CV或者NLP features的处理了
回复

使用道具 举报

全局:
哇期待!已加米
回复

使用道具 举报

🔗
troybitchen 2022-6-6 13:52:37 | 只看该作者
全局:
请问楼主,找CV相关的,跟MLE差别比较大吗?似乎CV一般不会考察推荐搜索这些?
回复

使用道具 举报

全局:
本帖最后由 liu夜尽天明 于 2022-6-5 21:36 编辑

想问楼主是一开始是DS后来转MLE了吗
回复

使用道具 举报

全局:
牛贴留名。请问楼主,是否有被考察过统计或者线代方面比较难的问题?
回复

使用道具 举报

🔗
 楼主| loochani 2022-6-6 21:30:52 来自APP | 只看该作者
全局:
troybitchen 发表于 2022-06-05 22:52:37
请问楼主,找CV相关的,跟MLE差别比较大吗?似乎CV一般不会考察推荐搜索这些?
具体跟公司有关。大致分成两种情况:1)有的公司MLE是general的面试,那你被问到哪个方向都有可能。而我个人感觉搜索推荐是概率最高的。2)有的公司如果你面specialist,他会让你选择一个方向。如果你选CV那最有可能直接面CV
回复

使用道具 举报

🔗
 楼主| loochani 2022-6-6 21:31:33 来自APP | 只看该作者
全局:
liu夜尽天明 发表于 2022-06-06 00:35:29.google  и
想问楼主是一开始是DS后来转MLE了吗
没做过analytics方向的DS。借的朋友账号。
回复

使用道具 举报

🔗
okmhtfc 2022-6-6 21:38:24 | 只看该作者
全局:
mark zszszs感谢楼主分享
回复

使用道具 举报

🔗
jessie0320 2022-6-6 22:52:21 | 只看该作者
全局:
mark一下,谢谢分享
回复

使用道具 举报

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

本版积分规则

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