刚从 jane street 的 ML engineer 面试 loop 出来。直接说:这不是标准的 ML 面试,如果你按标准 ML 面试去准备,你会在一些方面准备不足,另一些方面又准备过头。
有什么不一样:
没有传统意义上的 ML system design。 他们没让我设计推荐系统或广告排序系统。相反,design 题更像是:给你一个包含金融时间序列数据的建模问题,带我走一遍你的思路。非常偏应用、非常偏领域。你需要理解比如 signal decay、non-stationarity,以及为什么一个回测表现很好的模型,上线实盘可能并不好。
coding 比大多数 ML loop 更难。 我有两轮是纯算法/数据结构,基本是 senior SWE level。没有那种“implement gradient descent(实现梯度下降)”类型的问题。他们要的是会写代码的 ML engineers,不是主要用 notebook 的 ML engineers。
数学是真的要会。 有一轮是概率和统计题。不是那种刁钻的脑筋急转弯,而是真正的应用概率。条件概率、分布、以及在真实交易环境里思考不确定性时会用到的那些东西。我被问到一道期望值相关的问题,设定很不明显。
没出现的内容: transformer 架构深挖、LLM fine-tuning、MLOps/模型部署 pipelines(以这个 role title 来说还挺意外的)。
面试轮次: Recruiter Screen take-home(用 python 做数据分析,python 没问题,不要求 notebook) 两轮 live coding 应用 ML/统计轮 system design(见上面)
真实感受: 如果你来自 LLM/NLP/应用 AI 产品公司,强项是 prompt engineering 或 fine-tuning,那会很不适配。如果你一路是做 signal processing、time series,或者任何偏 quant 的方向,你会更如鱼得水。
最后没接 offer(原因不一样,不是流程问题),但整体评估很严格也很公平。