去年春天在 Tesla onsite 之后被拒了。recruiter 给的反馈很泛。接下来三周我照老习惯:复盘大概率发生了什么,然后想如果重来我会怎么做。
背景:Senior SWE,14 年后端和分布式系统经验,面的是 Autopilot data pipeline 相关岗位。
我认为每一轮哪里出了问题:
Coding(LeetCode 风格,2 轮):我当时觉得还行。一道图题,一道堆相关的题。都做出来了。现在回头看,我的解法应该是对的,但我推出来的速度慢。Tesla 的 coding 标准看起来是「对,而且要快」。对 senior 来说,速度比我想的更重要。
System design:我觉得我就是在这轮崩的。题目很模糊:设计一个系统,在规模化场景下处理和存储来自车辆的 telemetry 数据。我在分布式队列架构上讲太深了,Kafka 风格、分区策略、consumer groups,大部分 45 分钟都耗在这。面试官问了好几次关于车端处理和 edge 限制的问题,而我明显没把这点当重点。我在回家路上才意识到:真正的设计题一半是「上云前在车上处理什么」,另一半才是「云上怎么做」。这是 Tesla 特有的软硬件权衡,而我太 cloud-native 了。
Behavioral:感觉还行。问了 scope、模糊性、和 manager 的分歧。我都有故事。可能不够「Tesla 味」(我举的例子偏大厂流程,他们可能不这么干)。
如果重来我会改: system design 前先研究 Tesla 的具体技术约束。edge/cloud 权衡几乎是他们所有东西的核心。 coding 轮更快。计时练,不只追求正确。 behavioral 的故事用速度、约束、和「能扛事」来框,而不是流程和共识。
还是很不爽。但确实让我更锋利了。