不同公司对MLE和DS的面试要求和工作内容都不太一样,下面我简单介绍一下我了解的大部分硅谷公司的情况:
【工作内容】
-
MLE也可以被认为是backend software engineer + data scientist。在product team的MLE在工作中除了做模型设计,也会负责把模型实现到产品 (e.g. backend service) 中,因此这部分有时候会涉及一些分布式系统设计的工作。如果公司比较大,有专门的ML infra team,那么infra team的MLE就不做产品开发了,而是focus on optimizing ML infra performance,比如减小inference latency,optimize model training cost等等。
-
绝大部分公司都不会要求Data Scientist单独负责产品开发(当然有时候DS会与engineer合作开发产品),因此DS主要的工作,除了模型设计之外,更多地会参与A/B Testing实验设计以及实验结果分析(MLE在工作中会用到A/B Testing,但是很多时候都需要DS support)。很多公司的DS会与Product manager有紧密的合作,因此会做一些data analysis的工作,比如产品开发前期的opportunity sizing,以及实验结束之后的impact analysis,以及下一步的planning。
【面试要求】
- 常见的MLE面试内容包括:算法编程 + 机器学习理论 (以case study形式出现) + 分布式系统设计。onsite过程一般是:2轮算法编程 + 2轮ML case study + 1轮system design + 1轮简历面试 or hiring manager discussion。MLE面试中A/B Testing问题出现的频率不高。
- DS的面试内容非常不确定,不同公司不同org可能面试内容和方向完全不同。整体来说,我总结DS面试要求的内容包括:SQL, A/B Testing (以case study形式出现), 机器学习理论 (以case study形式出现),Practical data analysis (形式是take home exam 或者 45mins的python notebook practice)。当然,有些DS面试的case study并不涉及任何A/B Testing or modeling的知识考察,而是结合具体商业场景考察求职者problem solving能力 or domain knowledge. 这种面试就和data analyst的case study很像了,咱们在集训营课程给大家用具体的例子介绍过。
希望以上的经验分享能对大家有帮助。