我在Meta的 DS loop 第二天就把笔记记下来了,等结果出来后(拿到 offer,L5 DS)现在分享。
Meta的 DS 面试跟大多数不一样,因为它确实是三个独立技能区,而且不会混着考。
SQL 轮: 这是我听说过的所有Meta DS loop 里最一致的一轮。两到三个问题,难度递增。第一题通常是热身:join、GROUP BY,可能再来个 window function。更难的会是类似:「每个 group 找第二高的 X」,或者「注册后 7 天内做了 A 但没做 B 的用户」。他们看重正确性和效率。用 CTE 没问题,而且老实说能让你的逻辑更清晰、更好讲。
我遇到过两次一种套路:给你一个有缺口的 schema,让你推断数据含义。表名一定要仔细看,记得问澄清问题。
product case 轮: 这是 metrics / product sense 轮。他们会说类似「we launched a new feature for Reels, what metrics would you track?(我们为 Reels 上线了一个新功能,你会跟踪哪些指标?)」,或者「Stories 的 engagement 掉了 8%,怎么回事」。结构跟 PM analytical 轮一样,但他们希望你更深入谈统计有效性:样本量问题、selection bias、p-hacking 风险。我提到 1 周的下滑可能数据不够,难以区分信号和噪音,这点反响不错。
stats / experimentation 轮: 这轮是Meta和大多数 DS 面试拉开差距的地方。他们期待你真的懂 A/B testing:怎么处理 low-power tests、network effects 违反 SUTVA 时怎么办、推荐系统里的 novelty effects 怎么处理。我被问到:用户之间有社交关系,无法单个用户随机分配时,实验怎么设计。答案是:cluster randomization,或者做 ego-network holdout。
对我有帮助的准备: SQL:Mode Analytics 练习题,再加一场 mock,我边写边大声讲思路 stats:经典的 Kohavi 等人的 trustworthy online controlled experiments 那本书有点超纲但值得 case:练习用「指标下滑」讲成一个故事,而不是只罗列可能原因