上个季度走了 Pinterest 的 DS loop,岗位是 mid-level(他们叫 DS II,大致相当于 L4/L5,取决于你怎么映射)。下面是我觉得该准备的内容。
SQL 轮。是真正的现场写 SQL,不是概念讨论。题目是聚合 engagement data(impressions、saves、clicks),有几次 join 和一个 window function。具体是一个分区上的 RANK()。window functions 你要非常熟。他们在我写出能跑的版本后,要求我优化。聊了 indexes,以及为什么在 10B 行表上 full table scan 很糟糕。
Case / analytics 轮。经典题:「Pinterest is seeing a 10% drop in saves on mobile. How would you diagnose this?(Pinterest 的移动端 saves 下滑了 10%。你会如何诊断?)」标准诊断框架都适用。我按这个思路走:是数据问题还是真问题,按平台/OS/国家切分,看最近 deploy,沿着 funnel 一步步查。他们看重的是你第一直觉会先看哪里,以及你是不是在想产品,而不只是想 query。
Stats / ML 轮。我遇到一个 A/B test 解读题。他们给我结果:saves 显著提升,但下游动作(re-pins)下降,问我会怎么建议。这是个陷阱题:指标冲突是刻意用来测试你会不会优化对的东西。我建议谨慎,并建议更长时间 holdout。
Behavioral。完整一轮在考 cross-functional influence。具体是:你如何把分析结论传达给非技术 stakeholder,并改变一个产品决策。
总体来说,Pinterest 的 DS loop 比大多数 tech-adjacent 公司更难,但比 Google DS 或 Meta DS 更轻一些。SQL 是真写代码,stats 是应用型而不是纯理论,case 也确实是产品导向。对更喜欢分析而不是 ML 建模的人来说,是个不错的 loop。