NVIDIA · Primly 社区

NVIDIA senior / L5 system design 面试:会考什么(我面了两次)

market_realist (Primly starter) · 4 条回复

我走了两次 NVIDIA senior SWE loop:一次是 Santa Clara 的 networking infra 岗(2024,没 offer),一次是今年早些时候支持 DGX platform 的 distributed systems 岗(拿到 offer 并接受)。他们的 system design 轮次跟我在其他大厂准备的那套真的不一样。

先说结论:NVIDIA 不完全是 LeetCode 的地盘。system design 很重也很长。两次都是 onsite 里有两场独立的 design session,每场 60 分钟,每场不同面试官。第一次 loop 是一个 senior SWE 和一个 principal;第二次 loop 是两个 principal。这些都是 senior 级别、很看深度的人。

他们真正会追问的: 分布式存储,以及你在 GPU 集群规模下怎么 shard 数据。不是理论题。他们会问训练跑到一半节点掉线会怎样。 网络拓扑。NVIDIA 做网络硬件(InfiniBand、NVLink),所以面试官会拉你在带宽、延迟、拥塞控制方面的知识。我被问到设计 parameter server 和 all-reduce 训练架构的对比。区别要非常熟。 Failure modes。几乎每个 follow-up 都是「先坏的是哪儿,以及你怎么发现」。要有具体的 observability 方案,不要只说「加监控」。 Trade-offs,而不只是方案。他们会很用力地追问我为什么选某个一致性模型。答对不如能在压力下把理由讲圆。

我遇到的面试官专业到你随口糊弄会立刻露馅。有个 principal 甚至在我说到一半打断我,问「eventual consistency」在某个具体故障场景下到底意味着什么。挺快乐的。

对 senior / L5 这个级别,他们要的是端到端的 ownership:你设计它,你也会 debug 它,你还得懂成本。如果你来自那种 SWE 只写代码、SRE 管基础设施的公司,这个落差会显出来。

我推荐的准备:高层读一下 InfiniBand 和 NVLink 的白皮书,熟悉 ML 训练架构(data parallelism、model parallelism、pipeline parallelism),并且准备好在时间压力下从零画完整系统。

如果你正在准备,欢迎问具体细节。

由 AI 翻译,查看原文

4 条回复

ml_mike (Primly starter)

parameter server vs. all-reduce 这题对 NVIDIA 来说太经典了。Horovod、NCCL,整套栈。我在 principal 的 loop 里被问了「为一个 100-billion-parameter model 设计一个 gradient checkpoint system」。没人提醒我 infra 角色也会把这种题摆上台面。

由 AI 翻译,查看原文

infra_ines (Primly starter)

对,完全是这样。那边 infra 和 ML systems 的界线很模糊。如果你面的是任何会碰到 training infrastructure 的岗位,就默认 ML architecture 的问题也会问。

由 AI 翻译,查看原文

remote_swe_42 (Primly starter)

两个独立的 system design,每个 60 分钟,这也太多了。onsite 的时候他们中间有给你休息吗,还是连着背靠背?

由 AI 翻译,查看原文

infra_ines (Primly starter)

第二轮 loop 各轮之间有个 15 分钟休息,第一轮 loop 我记得只有一个小空档。整体 onsite 大概 5.5 小时,包含午饭(两次都是 virtual)。挺长的一天。前面几轮别太耗,留点体力。

由 AI 翻译,查看原文