今年早些时候走完了 Slack 的 DS loop,面的是产品分析方向的 senior data scientist 岗位。四轮。下面是每一轮都考了什么。
SQL 轮(45 分钟,实时)。 比我预期难。不是只做基础聚合。他们出了多表 join、窗口函数(LAG/LEAD、running totals),还有一道从原始事件日志做 sessionization 的题。如果你还没练过用 LEAD() 或 gap-and-island 技巧写 sessionization 逻辑,面试前一定要补。数据集是 Slack 相关主题:用户事件、channel 活动、消息时间戳。
产品 case 轮(45 分钟)。 给你一个下滑的指标(某功能的 DAU)。让你走一遍排查框架。他们想看:先把指标定义讲清楚(是定义变了还是数变了),再做分群(平台、用户 cohort、地区、时间),提出假设,给出测量方案。这里产品 sense 很重要。追问里我被问到「how would you define engagement for Slack as a product(你会如何定义 Slack 这个产品的 engagement?)」。可以想想 active users、sending users、reading users 这些口径怎么区分。
统计 + 实验 轮(45 分钟)。 A/B test 解读。他们给了一个假想实验结果,问你 treatment 有没有效果、下一步怎么做。覆盖点包括:统计显著性、p-value、多重检验、新奇效应、网络效应(Slack 特有:只给半个 channel 上 treatment 会怎样?)。网络效应污染在 Slack 里很常见,要准备。
Behavioral + manager fit(45 分钟)。 常规行为题:无权影响、把不确定性讲给非技术 stakeholder、一个结果不如预期的项目。
纯难度上 SQL 最难。统计那轮概念上更难,但更看你能不能想清楚,不是背公式。
准备建议:Mode SQL Practice,Stratascratch 练窗口函数,另外要真正理解网络型产品的实验设计。