我在 SpaceX 的 onsite 之后被拒了,大概 6 周前。写下来是因为我几乎找不到那种没拿到 offer 的人写的诚实复盘。
我走的流程 recruiter screen,然后和一个 engineer 的 technical phone screen(python + 一些 systems 问题),接着 4 小时 onsite:2 轮 coding、1 轮 systems design、1 轮 behavioral。
我觉得发生了什么 coding:我通过了我以为我通过的两轮。没什么模糊空间,面试官的信号都挺正向。
systems design:我觉得我在这轮翻车了。他们让我设计一个用于火箭发射遥测的 data pipeline。我默认按通用分布式系统回答。kafka、flink、s3,老三样。但我没做的是:围绕真实约束问足够多的澄清问题,比如延迟要求、飞行中通讯链路断了怎么办、如何处理数据的时间空洞。这些不是标准 web 公司关心的点。我答的是我复习过的题,而不是他们在问的题。
behavioral:我准备了 STAR 故事,但有一道题把我绊住了,大概是“说说你曾经在明知 deadline 不现实的情况下 push back 的一次经历”。我答得一般,因为那是第 4 轮,我很累。故事是真实的,但我讲得很急。
我会怎么做得不一样 systems design 方面,我会专门学习 embedded/real-time/aerospace 的约束,而不只是 web-scale 的分布式系统。这不是同一个领域。 我会把 behavioral 轮放到精力管理的第一优先级。它在 SpaceX 比很多人以为的更重要。 我会更多去问题目里 mission-specific 的上下文。他们不是想用 aerospace 的细节来坑你,但他们会注意到你是不是把领域当成不相关。
没有 offer。recruiter 给的是“not the right fit at this time”,并说 6 个月后可以再申请。我相信这是真的,我也会再试一次。