今年早些时候我面了 Tesla 的 DS 流程,岗位在 Demand Forecasting 团队。把他们到底怎么考写出来,因为不同公司的 DS 面试差异很大,而 Tesla 的资料不多。
轮次:共 5 轮(远程)
SQL 轮。 一轮 60 分钟,全程 SQL,共享环境里写。按我体感难度从 medium 到 hard。我遇到的包括:一个窗口函数题(按时间分区做 running totals)、一个 self-join(找满足条件的 pair)、以及一个查询优化题(要把慢查询改写)。他们还让我口头解释 query plan,这在一些 DS 面试里反而不常见。索引要懂,subquery vs CTE 什么时候更合理要懂,GROUP BY + HAVING 跟 window functions 怎么交互要懂。
Stats / probability 轮。 60 分钟,和一位 DS lead。概念和应用混合。问题包括:在对 Tesla 某个功能做 A/B 测试的语境下,解释 Type I 和 Type II error 的区别(我用的是 mobile app 新功能 rollout 来讲)。然后是一个跟车队事件相关的概率文字题。还有一个关于同时跑很多实验时的 p-hacking 问题,他们明显很在意,因为 Tesla 跑很多 OTA 实验。
Case / product analytics 轮。 给一个假设情境:Tesla 上线了一个新的 charging network 功能,使用率比预测低 20%。你怎么诊断,你建议什么?这其实是 mini product sense。要知道哪些指标重要(utilization rate、session completion、network latency、pricing sensitivity),并且能拆 funnel。
Python / coding 轮。 不算 leetcode-hard,更偏 DS 实战。我实现了一个基础的 time series decomposition,并回答 seasonal vs trend 的问题。然后是一个 pandas 练习,基于样例数据集。numpy 和 pandas 要熟。Scikit-learn 语法有讨论到,但不需要从零实现 ML。
Behavioral 轮。 跟其他 Tesla 岗位主题一致:bias to action、ownership、在模糊里工作。有一道题专门问你怎么跟业务方在数据解读上产生分歧。他们想看你用数据顶回去,而不是直接顺从。
整体 bar:SQL 和 stats 确实难。比 Google DS 容易一点,但比我面过的大多数 Series B/C 的 DS 面试更难。SQL 一定要练到手很顺。