我几个月前走了 Mercury 的 DS loop。按轮次拆开讲,因为我也喜欢这样读。
SQL round(45 分钟): 现场写 SQL,共享文档或他们自己的环境。题目从中等到偏难。一道是 window functions:计算每个账户 rolling 7-day 的交易量。另一道是多表 join,还带一些关于交易状态的棘手条件。他们在乎 query performance,不只是对不对。我提到可以加 index,面试官接着追问了「why that column and not another.(为什么用那一列而不是另一列。)」。问得很好。
Stats + experiment design(45 分钟): 这是我最没准备好的轮次。一道题:Mercury 要给 business accounts 上线一个新功能,设计一个 A/B test。听起来简单,直到他们开始追问:同一行业的 business accounts 之间的 network effects 怎么处理?你的 minimum detectable effect 是多少?要跑多久才能下结论?我一开始在 network effects 那块卡了一下,他们有引导我往下想,但我觉得那里丢了分。
Case / product analytics(45 分钟): 给了一个场景:transaction failure rate 周环比上升了 3%。带我走一遍你的排查。我这一轮发挥最好。我按维度拆:是不是某个 payment rail?某类 merchant category?有没有 time-of-day 的模式?是新客户还是老客户?我每问一个问题他们就补充一些信息,这也说明这一轮是偏协作的。
Behavioral(30-45 分钟): 标准 STAR,Mercury values。有一道题专门问怎么把分析结果呈现给非技术 stakeholder。提前准备一个故事。
整体: Mercury 的 DS loop 比大多数更偏重 SQL。stats 重要但次要。case 问题在考产品思维的比重不亚于数据技能。三块都要准备。