我尽量讲得实用一点,因为外面有太多泛泛的 ML 面试建议,跟 microsoft 实际做法对不上。
背景:我走的是 Microsoft MLE 流程,岗位在 Azure AI / Cognitive Services org。ML 6 YOE(主要是 NLP 和 ranking system)。
结构: recruiter call,hiring manager screen,4 轮线上 onsite。
Onsite 四轮:
Coding:他们真的会让你写代码。不是 leetcode hard,但就是实打实写。我那题是用 python 从零实现一个简化版 k-means。他们要能跑的代码,不是伪代码。做好真写的准备。
ML fundamentals:经典题,但挖得很深。“用一种能帮你在两个模型架构之间做选择的方式解释 bias-variance tradeoff。”还问了 gradient descent 收敛、正则化取舍(L1 vs L2 以及各自什么时候更重要)、以及我会怎么 debug 一个 offline 表现很好但线上在掉的模型。最后这个很多人会翻车,因为要考虑 data drift、feature 分布漂移、label delay 这些真实世界的脏问题。
ML system design:“design a content moderation system for a platform with 500M users.”(为一个有 5 亿用户的平台设计内容审核系统)很开放。我讲了:分类方案 vs embedding 相似度、多语言内容怎么做、延迟要求 vs 准确率取舍、高风险决策的人在环、用反馈闭环捕捉模型漂移。面试官每一块都会追问。
Behavioral:标准的 growth mindset 叙事。“tell me about a model you shipped that didn't perform as expected and what you did next.”(讲讲一次你上线的模型没有达到预期,然后你做了什么)
我观察到的: microsoft 不太在意从零推公式那种数学推导,更看重应用层面的判断力。你该懂数学,但真正的信号是:你能不能务实地决定该用什么模型,以及为什么。
Redmond 的 L63 MLE 薪酬: 我的 offer 是 base $215k,RSUs $350k/4yr。按当前价格算股票这块挺有意义。sign-on 是 $50k,分 2 年发。