刚结束 microsoft data scientist 的一轮面试,目标是 experimentation/analytics org 的岗位。两天共 5 轮(线上)。把完整拆解分享出来,因为 microsoft 的 ds 面试内容相比 google/meta/amazon 真的信息很少。
第 1 轮:SQL 不是可选项,也不简单。他们给了我两道题。第一道是 join + aggregation,中等难度。第二道涉及 window functions(lag/lead + rank),要求我计算 rolling retention rates。每题大概 30 分钟。CoderPad 环境,没有自动补全。
如果你去面 microsoft DS 以为 sql 会很轻:别。 experimention org 很看重你是不是真的会 query data。
第 2 轮:stats + experimentation 这一轮最能拉开差距。我遇到的问题: “一个 A/B test 显示显著结果,但 treatment 和 control 的 sample size 不一样。你怎么办?” “如果你预期某个 metric 会有很强的 network effect,污染 control group,你会怎么处理?” “在发布一个产品功能的语境下,type I 和 type II error 有什么区别?”
network effect / interference 这个问题是典型的大规模实验题。他们要的是 SUTVA,不是只背课本。
第 3 轮:case / product analytics 给了一个场景:“bing search sessions 在某个地区环比下降了 8%。你会怎么诊断?” 很标准的产品分析 case。期待的结构:外部因素、产品改动、数据质量问题、分群拆解。我都覆盖了,并提出了一个具体的分析计划和我会拉哪些指标。
第 4 轮:ML concepts 对这个岗位来说不算很深(更偏 experimentation)。问了 bias-variance tradeoff、我会怎么 offline vs online 评估 recommendation model、以及什么时候我会选更简单的模型而不是复杂模型。这轮不写代码。
第 5 轮:behavioral 标准 growth mindset 叙事。其中一个问题专门问我:我如何把一个数据驱动的建议传达给非技术 stakeholder,而对方还 push back。
整个流程很尊重时间。他们对 timeline 也很直接。终面后第 6 天给了 offer。