今年面了 Dropbox 的 DS 岗,级别相当于 L4。下面是每一轮的真实拆解。
SQL 轮。 比我预期的 DS 面试更难。不只是「write a JOIN and group by(写一个 JOIN 并做 group by)」,他们给了我一个多表 schema(类似 users、events、subscriptions),让我回答一个产品问题,需要 window function、self-join 和 subquery。我感觉意图是看我能不能在没提示的情况下,把分析问题翻译成可跑的 SQL。我在一个 subquery 上卡了一下,后来回滚重写;他们让我继续推下去。时长:45 分钟,一个主问题带 follow-up。
Case / 产品分析。 他们给了一个下降的指标(细节不能说,但类似核心功能的 engagement rate),让我讲我会怎么排查:按用户 cohort、平台、地区、订阅档位去分层。然后会追问你第一步到底看什么、为什么。这个部分非常偏产品 sense。你得对 Dropbox 的商业模式了解得足够清楚,才知道哪些指标真的重要。
Stats / ML。 他们让我解释一个功能实验的 A/B testing 怎么做:怎么定 sample size、怎么处理 network effects(因为 Dropbox 天生有 shared folders 的社交属性)、以及怎么判断结果是否足够结论性。这一轮 Dropbox 的领域知识会很加分,因为 social graph 会让朴素的 A/B 随机化变得很棘手。
总体:Dropbox 的 DS 面试确实很 technical。你需要很强的 SQL(window functions、CTE)、扎实的统计直觉,以及足够的产品语境,能用业务语言聊指标。准备的时候,技术题和同一段对话里会出现的「what does this number mean for the company(这个数字对公司意味着什么)」类问题都要一起练。