今年早些时候面了 Morgan Stanley 的一个 ML engineer 岗位。团队是做风险建模的,不是量化交易台,所以如果你目标是别的组,体验可能不一样。下面是我看到的情况。
Screening
第一通电话是 tech recruiter。没啥特别的。他确认我有 Python 和 ML 经验,也问了我现在的工作。
第二通电话是跟 hiring manager。这一轮其实很硬。她问了我具体上线过哪些模型,我怎么理解 ML 系统的线上可靠性,以及我对监控 model drift 了解多少。这不是热身,是实打实的筛人。我建议按真正的技术交流来准备,而不是当成轻松的初筛。
Onsite(线上,3 轮)
ML fundamentals:核心 ML 概念、bias-variance tradeoff、regularization、面对一个具体分类问题你会怎么在不同模型里选。他们让我讲讲如果要训练一个信用违约预测模型,我会怎么做。他们不要求我知道具体的 MS 模型,更想看的是推理过程。
Coding:Python,LeetCode-medium 难度区间,数据处理。有一道题基本就是 pandas/numpy 风格(不偏算法),另一道更传统。只要你 Python 很熟,他们对两种思路都能接受。
MLOps/system design:这一轮让我有点意外。他们非常在意你怎么把模型真正跑起来。feature store、batch vs. real-time inference、监控 data drift、模型变差时的 rollback 策略。金融领域对线上可靠性的要求很高,你不能只靠“重训然后祈祷”。
我注意到的点
对大多数 ML eng 岗位来说,他们不太在意 deep learning 或 transformer 架构。这不是 GenAI 团队(至少我面的这个不是)。他们更看重传统 ML、干净的 feature engineering,以及能给风险委员会解释清楚的模型。可解释性优先于准确率,是一个真实的文化偏好。
级别是 VP(他们对应 senior IC)。我拒掉的 offer 大概是 NYC $240k 左右 total comp,base 占比很高。