我走完了 Adobe 的 DS interview loop,团队是他们的 Digital Media analytics。做 DS 五年了,这是我第四个公司 loop,所以有比较的参照。下面是我的观察。
整体结构 先是 recruiter phone screen,然后是 technical screen,再是一个完全线上 virtual onsite,共四轮。
technical phone screen 30-45 分钟。两道 SQL 和一道轻量 stats。SQL 是中等难度:一道多表 join 加聚合,一道 window function(rank、lag 之类)。stats 问题是 A/B testing:如何决定样本量,什么是 statistical power,commit 一个 Type II error 是什么意思。
提示:A/B testing 的 stats 问题每次都会出现。在 Adobe 尤其重要,因为他们在 Creative Cloud 上做非常大的实验。要会在不打太多太极的情况下解释 p-values。
onsite 轮次 SQL deep dive(45 分钟):更难的查询。我遇到一道题是计算 cohort 的 7-day rolling retention。还有一道是从 raw clickstream 表里对 events 去重。这些都是现实业务问题,不是脑筋急转弯。 stats and probability(45 分钟):Bayesian vs frequentist 的框架(他们问我更偏好哪个以及原因),confidence intervals,一个不算太难的 probability 脑筋题,但会考你能不能把思路说出来。还有一道关于如何处理模型里 imbalanced classes。 product case(45 分钟):给了一份关于 Acrobat DC 用户行为的数据集,你会问什么问题,怎么组织分析?我需要选一个要提升的指标并解释理由。感觉像 DS/PM 的混合轮。 behavioral(45 分钟):和 PM、SWE 那边一样。Adobe 范围内关于协作、模糊性、影响力的问题。
他们最看重的点 说实话:SQL 熟练度和沟通。很多 DS 候选人 stats 知识没问题,但跟非技术方解释时就崩了。product case 那轮就是专门考这个的。「how would you explain this finding to the marketing team(你会怎么把这个发现解释给市场团队)」出现了两次。
难度对比其他 DS loops stats 深度比 Netflix 或 Airbnb 更简单。SQL 细节上比大多数中型公司更难。整体比较贴近实际。