我做了两次 NVIDIA 的 onsite,分别是两个不同的岗位(systems software 和 MLSys)。第二次拿了 offer 并接受了。分享一下不加滤镜的版本。
两次 onsite 都是线上(COVID 之后他们似乎对大部分岗位都保持这种形式,至少对 remote candidate 是这样)。一次 5 小时,另一次 6 小时(含午休)。大概是这些轮次:
一个典型的 senior SWE loop 结构: Coding round 1(45 min) System design round 1(60 min) 午休 System design round 2(60 min) Behavioral / hiring manager(45 min) Coding round 2 或 team-fit(45 min)
我也见过有人提到轮次更少,所以可能会根据 team 或 level 做压缩。
真实的「质感」:
system design 两轮最难。两次都是。不是那种云通用的「design Twitter」题,而是深度绑定 NVIDIA 的真实领域:GPU scheduling、分布式训练基础设施、大型 checkpoint 的存储系统。如果你只按通用 system design 备过,会明显感觉到差距。
coding 轮次很扎实,但不变态。面试官不是来把你弄崩的。有一位在我走偏的时候给了个真正有用的提示,我很感激。
和 hiring manager 的 behavioral 轮最有意思。我那轮大概跑了 50 分钟(排的是 45),因为聊得很深入。他想了解的是我怎么思考困难的技术取舍,而不只是能不能讲一个完整的故事。
Onsite 后时间线:第一次 loop 8 天回信。第二次 13 天。两次都是 recruiter 先打 debrief call 讲结果,然后书面内容才到。
有一点让我意外:不同轮次的面试官真的会互相对齐。在 debrief call 里 recruiter 提到 panel 讨论过我 system design 里的具体细节。所以他们会交流。这其实挺好,意味着某一轮特别强可以补偿另一轮相对弱一点。