今年早些时候我走了 Two Sigma 的 DS 面试流程。不是 quant research scientist 那条线(那是另一套更重的流程)。我面的是偏 analytics/engineering-support 方向的 data scientist 岗。下面是每一轮具体考什么。
SQL 轮:这是正经 SQL,不是玩具题。45 分钟两题。一题是 window functions:算 rolling average,并在按某个类别变量分段的时间序列数据里标记异常。另一题是 joins + aggregation,但业务逻辑有个小 twist。你需要熟 CTE、window functions(RANK、LAG/LEAD、PARTITION BY),以及写干净、可读的 query。我建议如果你最近没练,去刷一下 LeetCode SQL medium 到 hard。
Statistics / probability 轮:这是我准备最不充分的一轮。问题从经典统计(假设检验、p-value、Type I vs Type II error)到更应用的概率。一题是设计 A/B test:你的 minimum detectable effect 是多少、怎么处理 multiple comparisons、如果 randomization 不完美你怎么办。另一题是一个我会形容为 bayes-adjacent 的概率题。不算特别难,但不能硬蒙。
Case study:他们给了一个涉及数据集的场景(口头描述,没有实际数据),问我会怎么分析一个具体业务问题。我的题大概是:trader performance 在这个时间窗口里变了,你会怎么调查原因。我需要讲清楚数据来源、特征选择、模型选择、怎么验证并呈现结论。
Behavioral:比我想象中轻。两题关于跨职能合作,一题关于把复杂分析简化给非技术受众的经历。
总体:SQL 和 stats 两轮是主要分水岭。我在其他几家公司也面过 DS,Two Sigma 的 SQL 深度是我见过最高的。窗口函数要准备到位,统计基础也要很扎实。