做了 coinbase 的 DS 全流程,目标是 mid-senior 岗(他们的 L4/L5 区间)。想把技术部分写下来,因为它和纯 SWE 流程不一样,而且几乎没什么资料。
形式: recruiter screen,一轮技术电话面(偏 SQL),然后 onsite 4 轮:advanced SQL、stats/probability、product case、behavioral。
技术电话面: 45 分钟,一道 SQL。不是简单聚合。我那道是对时间序列做 window function。他们给了一个假设的 transactions 表 schema,让我识别可疑活动模式。你得熟 LAG、LEAD、PARTITION BY、以及写子查询。如果你实战里只写过基础的 GROUP BY,会很吃力。
SQL onsite: 更深的版本,两道题。一道是找在滚动 7 天窗口内达到某个阈值的用户。第二道是经典留存 cohort 分析:给一个 login events 表,按 signup cohort 算 30 天和 90 天留存。两题都能用 window functions 解决。他们还让我解释会怎么验证结果,这点卡住了不少我聊过的人,因为很多人只准备了「写出 query」,没准备「怎么 QA」。
stats 和 probability: 这是最有意思的一轮。问题从基础到应用都有,比如「给 PM 解释 p-value」,再到「怎么给一个会影响交易频率的功能设计 A/B test,而 baseline rate 是 rare events」。rare events 的 A/B test 在 fintech 很典型:Poisson 分布或基于 bootstrap 的方法,不只是标准 t-test。这块要真的懂。
product case: 给了一个下滑的指标,让我诊断原因。coinbase 特有指标,比如 daily active traders 周环比掉 15%。常规诊断框架可用:按触点/入口分段,先排查 data pipeline 问题,再看外部因素,再看产品改动。他们很在意你如何给假设排序。
我会怎么准备: window functions 是硬要求。把 retention cohorts 和 rolling windows 练到下意识。 补实验设计:rare events、以及无法干净随机化的情况。 对产品指标诊断要有清晰的心智模型,能口头顺下来。 crypto 背景对 case 有帮助,但不要求很深的 domain knowledge。理解 fintech 交易动态(季节性、外部市场影响)比知道 ethereum L2 是什么更有用。