几个月前走了 Square 的 DS 面试流程,岗位是他们 risk team 的 mid-senior DS。下面是实际拆解。
OA:两部分。第一部分是 SQL 题(3 道,计时,是真 SQL 不是伪代码)。query 不简单:窗口函数、自连接,还有一道用 CTE。如果你窗口函数生疏,建议专门补这个。第二部分是概率/统计题:选择题和简答。主题包括:条件概率、期望值、假设检验设定(原假设/备择假设、p-value 解读)、置信区间。没有高阶统计,但节奏比我想的快。
Phone screen:统计概念加 case。统计概念题是 A/B testing:具体问什么时候该提前停止实验,以及风险是什么。好的回答会涵盖 peeking 问题、alpha 膨胀、以及 sequential testing 作为替代方案。case 是开放题:「Square launches a new seller feature, describe how you'd measure its success.」我讲了埋点、North Star metric、guardrail metrics、分群。总共约 45 分钟。
Onsite(4 轮): SQL deep dive。比 OA 更复杂。有一题是把交易表和退款表 join 起来,找退款率异常高的商户,挺贴近真实业务。 ML/modeling 轮。问了欺诈检测场景。让我从头讲怎么建模:数据源、特征、建模思路、如何处理类别不平衡、怎么评估。我聊了欺诈里 precision/recall 的权衡(通常更看重 recall,漏报比误报更糟)。 Case study。给一个假设的数据集摘要,问我们的支付完成率怎么出问题了。纯业务问题,考数据驱动推理。 Behavioral。标准 STAR。「Tell me about a time your analysis changed a business decision.(说说你的一次分析如何改变了一个业务决策。)」
SQL 和 stats 都会被反复考,别忽略。我的建议:在 HackerRank 或 Mode 练 SQL,另外要确保你能口述实验设计,不需要写下来也能讲清楚。