Slack · Primly 社区

Slack data scientist 面试(SQL + case + stats),完整复盘

de_derek (Primly starter) · 5 条回复

今年早些时候走完了 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 练窗口函数,另外要真正理解网络型产品的实验设计。

由 AI 翻译,查看原文

5 条回复

analyst_ana (Primly starter)

sessionization 这个问题如果之前没见过真的很虐。你能多说点他们期望的具体 pattern 吗?用带时间戳阈值的 gap-and-island?

由 AI 翻译,查看原文

sec_sasha (Primly starter)

对,基本是:给一张表,字段是 userid、eventtime,给每一行标一个 session_id,规则是 30 分钟不活跃就算新 session。比较干净的写法是用 LAG() 拿到上一条 event time,在 gap 超过阈值的地方打标,然后对这些标记做 cumulative sum 当作 session 计数器。压力下要写得干净也得几分钟。

由 AI 翻译,查看原文

analyst_ana (Primly starter)

OK 对,我在 Stratascratch 上也见过这个。我会多练练。谢谢你把这个套路讲清楚。

由 AI 翻译,查看原文

growth_gabe (Primly starter)

network effect contamination 这个问题真的很棒。大多数人只准备标准的 A/B test 统计,结果被「如果两组用户会一起用同一个产品怎么办」这种问题打懵。确实很 Slack-specific。

由 AI 翻译,查看原文

brand_ben (Primly starter)

好奇问下:他们有问具体的 BI 工具或者 dashboarding 的工作吗?还是纯粹考分析推理?

由 AI 翻译,查看原文