介绍Amazon Applied Scientist职位、面试情况和FAQ

avatar 771647
loochani
37299
85
楼主之前在amazon做Sr. Applied Scientist (AS@Amazon),这篇文章主要是介绍我所熟悉的amazon applied scientist这个job family。说明:
  1. 由于不同组的experience可能差别很多。所以我所讲的并不一定符合所有组的情况。请谨慎参考。
  2. 我自己在amazon呆过四年时间。也会有一些个人的bias。有什么不符合你认知的也欢迎在评论区讨论。


介绍

AS@Amazon整体来说的定义是要求你能够理解business问题,然后把business问题转化成一个ML的问题,然后提出并且implement ML solutions,从而improve business metrics的目的。它整体的定义有点类似于别的公司的half MLE + half Research Scientist的定义:
  1. 由于amazon本身没有centralized ML Research team,所以amazon基本上没有纯ML research (research for resolving general ML problems),而只会在每个product组有Applied Research (research for resolving ML problems under a specific business domain/application)。而amazon并没有类似于google research scientist的role,所以Applied ML Research是applied scientist重要工作内容之一。BTW, amazon本身有research scientist的title,但本质上是弱化版本的AS或者非ML domain的researcher。
  2. 同时amazon没有MLE的job family (有的engineer会把business title改成这个,但实际上并不存在)。所以基本上传统意义上的MLE的工作会一部分会分到别的job family:比如ML infra和实际的ux/customer-facing product可能有engineering team做,data pipeline可能有BI engineer/Data Scientist/Data Engineer来负责。而AS会主要负责模型数据的preprocessing, post-processing, ML model training/inference。然后AS可以创建一个模型inference的endpoint从而跟engineering team来interact。


整体来说AS在amazon是个非常prestigious的job family,常常会是一个大的ML project的主要lead,从而跟其他job family的人共同推进ML产品的开发维护。所以好的优势是:
  1. 项目的scope常常比较大,从而有着比SDE更快的promotion速度。一般一个L4的AS能够在1-2年到L5 (PhD hire也有可能进来就是L5),而一个L5 AS能够在2-4年到Sr. level。
  2. 据我所知,AS的total compensation在同样level的ic job families中也是最高的。L4有二十多万刀。而Sr. 40w+ 到 60w+。


面试

常常一个职位的面试跟这个职位所需要的人的skills是高度契合的。AS的面试主要分成三块:
  1. 一轮coding。基本上是leetcode easy - medium的题目。虽然内部要求AS达到entry level SDE的coding bar,而我的体验是很多都没有。很多AS面试的coding往往非常简单,会比很多公司的MLE的coding面试简单很多。这也使得很多非CS background的人有着更低的coding门槛。
  2. 三轮ML面试:ML breadth (类似于别的公司的ML knowledge) + ML depth + ML application (类似于别的公司的ML design,但相对更注重ML problem formulation rather than MLE八股文)。AS对ML的要求往往会比别的公司的MLE的ML要求更高更广。因为它需要你不但是个engineer也是个researcher。希望你有很好的ML基础同时有实际解决问题的能力。sample question比如说:
  • ML breadth: 有哪些做feature selection的方法。
  • ML depth: in details, transformer模型比RNN family的优势在什么地方; BERT集体的模型结构是什么;为什么需要multi-head attention。能不能写一下logistic regression的loss并且计算gradient。
  • ML application: 如果说现在amazon search bar只支持general retail products,然后我现在也想同时支持amazon fresh的搜索,你会怎么设计。(面试题一般非常取决于面试组的problem domain)

3. 一轮behavior questions (BQ)。常常是bar raiser面这一轮。熟悉leadership principles会非常重要。同时在其它四轮中也会有一到两个BQ.
research presentation。我不确定是不是每个组都需要。但如果有不错的research background是属于一轮bonus轮。

所以在准备面试过程中,你需要非常in detailed的准备常用的ML算法。同时针对面试组的domain problem有一个基本解决问题的方法。

FAQ

1.为什么amazon不跟别的大公司一样有centralized的research组,从而把AS拆分成RS和MLE的工作?

我个人的理解是 1)amazon的文化风格是每个组像一个个小的startup,所以相对比较独立。为move fast,从而每个组自己做自己的模型。2)amazon特别在retail很多的问题常常需要非常懂得business才能够比较好的提出solution。而centralized的research组显然没办法非常deep和产品组合作。而相对的对于像google这种公司,可能一个模型能apply to非常多的use case。而产品组本身的MLE更注重开发而不是research。而operations比较重的公司像uber/lyft应该是有跟amazon AS非常类似的职位。

2.如果我同时有别的大厂MLE的offer和amazon的AS怎么选择?

我觉得取决于你喜欢做什么和哪种职位要求的定义最容易让你能够更快的成长。比如说你就是一个非常geek的人对纯模型开发和写代码很感兴趣,但讨厌business shit和logic,那可能Amazon AS不怎么适合你。但相对的你更想leverage别的engineering resource来主要take工程的问题,而你想更focus on理解并且解决一个high ambiguity的business problem本身从而创造一个比较大的价值,那Amazon AS会比较适合你。

3.我在amazon做AS会不会非常不有利于将来跳槽去别的公司做MLE?

我之前也有这方面的concern,最近跳槽面了基本上所有大厂的Sr. MLE 职位,基本上都拿到了offer。我整体的感觉是对于ML本身,其实会比很多公司的MLE做的更深,从而有很大的优势;在BQ问题上,由于AS常常lead一个大的项目,使得soft skills的培养上往往会非常有优势。但相对但engineering相对更弱一些,所以需要通过多刷题来弥补。而这反而是自己能够很好的准备的。所以我反而觉得amazon AS会在面试上更有优势。而实际上我看到的很多例子也是很多mid-level AS (L5) 能面上别的公司Sr.的职位。

4.我听说amazon文化很差经常pip,是不是job security很差?

整体上的确amazon的work life balance普遍比别的大厂更差 (可能除了meta)。但对于AS来说,很多适合是因为有不错scope的项目,所以也更有利于很快的成长。而我虽然有看到过AS被pip的例子,但相对于SDE来说并不常见。原因也是因为你常常lead一个high impact项目。但如果你做的项目比较边缘并且你不能很好的deliver东西的话,依然有一定的风险。所以需要更多的学会manage expectation (特别是ML项目随机性比较大的情况下)。

5.我看别的大厂都有很多听起来很高级的ML/AI的产品像Google的alphaGo 和很多paper, 是不是Amazon的ML并不强?

多方面原因:1)amazon并不招做pure research的人/没有centralized ML team,所以很多不想做product的strong researcher应该会更喜欢google brain/openAI/MSR这些机构。所以amazon的paper相对没那么强势;2)amazon本身是更喜欢落地型的,相对来说不怎么爱投资短期看不到回报的AI产品,所以基本上很少看起来很fancy到赚不到钱的产品。可能最近Amazon Astro是个例外。

希望这些有帮助。也请多多加米。我会在评论区回答更多的问题。
  • 719
置顶回复
收起
avatar 771647
loochani楼主

1.不是非常了解除aws AI之外的aws team; 2. 换组+换title非常困难;3. 一般建议先升职再换title毕竟你已经干了一两年先锁住短期的win。实际情况可能更取决于opportunities,如果你短期也不大可能升职又有个可以转AS的机会,那抓住机会更重要一些。
大米 5
1
admin+5很有用的信息!
avatar 771647
loochani楼主

我一般建议去那些对engineering scalability/latency要求比较高的science组像personalization/search多锻炼。渐渐的你的skill set可能就不会有那么大的差别了。然后你需要明白刚进去的时候你还是会做更多engineering 的东西,但渐渐的捡一些别人不愿做的dirty work/小的scope的ML项目慢慢练手。另一方向跟manager沟通清楚。
大米 7
2
admin+6很有用的信息!
rewang2016+1很有用的信息!
avatar 771647
loochani楼主

我个人觉得search, Aws AI, personalization, amazon video的有些组, Alexa的有些组, product graph等等感觉都还不错。(我自己本身也并不了解每一个组,比较凭个人印象)
大米 5
3
QingfengMoon+1赞一个
admin+3
rewang2016+1很有用的信息!
avatar 771647
loochani楼主

Amazon有很多AS是统计PhD。当然拿不拿到面试我不知道recruiter那边怎么筛选,但多投一些职位拿到面试可能性还是很高的
大米 3
1
admin+3很有用的信息!
avatar 771647
loochani楼主

Amazon很多组还是非常鼓励发论文的。

面试是可以的。不过建议提前看一下推荐相关的论文有个基本的概念,否则ML application 可能会被面的一脸懵逼。
大米 3
1
admin+3很有用的信息!
85条回复