Data Scientist, Applied Scientist和Machine Learning Engineer的面试准备心得

Feb 14, 2021 00:00 · 1527 words · 4 minute read

1. 前记

在历时半年、投了上千份简历的求职历程结束后,我总结了一下自己的心得和经验(参见历时半年投了近千份简历后的求职心得)。当时的职位目标主要是Data Scientist(DS), Applied Scientist(AS)和Machine Learning Engineer(MLE)。在准备和面试的过程中,我发现很多公司对这三种职位的要求大方向是类似的,但是各有侧重。现在我们就聊聊其中的异同以及针对这三种职位所考察的知识点应该如何准备面试。

2. DS, AS和MLE的区别

每个公司对这个三个类别的职位定义不同,有的公司就是把DS就是当AS和MLE用,有的是分工明确,我们这里要聊的区别是根据那些分工明确的公司标准来说的。

  • DS: 以数据分析和机器学习或统计模型开发为主,对编程有一定要求但是不高,模型开发完一般交由软件工程师团队转化为实际的产品。
  • MLE: 以机器学习架构(MLOps)为主,需要熟悉机器学习从开发到上线的整个过程,更多是机器学习系统的架构,对编程要求最高。
  • AS: 可以认为是DS和MLE各50%,既要会机器学习模型开发,又要懂得如何将开发好的模型放到生产线上,对编程要求较高。

简单来说就是DS负责模型开发,但不负责模型上线,MLE负责模型上线,但不负责模型开发,AS是两者都干。当然,根据公司的不同,这些职责在大多数情况下是有重合的。

3. DS, AS和MLE的知识点准备

这三类职位的所需要的技能基本包括概率统计、机器学习和编程三大类,不同的职位对这三种技能的侧重有所不同。

  • DS: 概率统计>=机器学习>编程
  • MLE: 编程>机器学习>概率统计
  • AS: 机器学习>=编程>概率统计

三个职位所考察的知识点也各有侧重,我们用三个级别来代表对应知识点的重要性(3代表最重),其重要性如下:

  • 概率统计(DS-3, MLE-1, AS-2):
    • 基本知识: 贝叶斯公式、常见统计分布、基本概率计算、大数定律、中心极限定律
    • 模型相关: 统计假设检验、实验设计、模型准确性评估、参数估计
  • 机器学习:
    • 基础知识(DS-3, MLE-3, AS-3): overfitting, undefitting, regularization, gradient descent, cross-validation以及常用的模型评价方法。
    • 常用库(DS-2, AS-3, MLE-3): scikit-learn, xgboost, tensorflow, pytorch
    • 基础机器学习模型(DS-3, MLE-3, AS-3): linear models, Lasso, Ridge, Random Forest, Gradient Boosting Trees, Neural Networks。
    • 深度学习模型(DS-1, MLE-2, AS-3): CNN相关模型, RNN相关模型, GAN, Transformers, Encoder-decoders,以及其他经典的深度学习模型。
    • MLOps(DS-1, MLE-3, AS-2): 常用框架和库比如 AirFlow, MLFlow, ONNX等
  • 编程:
    • 常用数据结构和算法(DS-1, MLE-3, AS-3): 查找、排序、递归、动态规划、堆、栈、列表以及相应的时间和空间复杂度。
    • SQL及数据库(DS-1, MLE-2, AS-2): 基本的SQL用法,数据库的基础知识, Spark相关知识。
    • Leetcode: DS-easy, MLE-medium/hard, AS-medium。
    • 系统设计(DS-1, MLE-3, AS-2): 机器学习系统的设计、架构等等。

4. 不同类型公司对求职者背景的要求

DS, AS和MLE都是这几年新兴的职位,除了CS和统计这种相对对口的专业之外,很多公司也开始接受有其他专业背景的求职者。不同类型的公司对待“转专业”的人的友好程度也是不一样的,我个人的经验是越大的公司包容性越强也越看重个人的能力也越愿意花时间培训新人,越小的公司越要求专业对口越希望新人来了就能出东西。以下是我面过20多家公司后的总结:

  • 传统行业
    • 对转专业友好度居中
    • 薪资偏低,但总体待遇还可以
    • 偏重behavior questions
  • 现代中小公司
    • 希望技术、经验和专业对口
    • 薪资居中偏上
    • 技术要求高,case study多
  • 大型科技公司
    • 对转专业人员友好,更愿意接受不同背景的人
    • 薪资偏上
    • 技术要求高,behavior question也不少

5. 后记

准备面试就要是读透职位描述,找出关键词,然后对照这些关键词着重准备。很多时候,公司也不知道他们究竟想招怎样的人,所以面试的时候最重要的就是要把自己最好的一方面展现出来。自信会带来好运!

tweet Share

Related Articles