Did the NVIDIA onsite twice for two different roles (systems software and MLSys). Accepted the second one. Sharing the unfiltered version.
Both onsites were virtual (post-COVID, they seem to have kept it that way for most roles at least for remote candidates). One onsite was 5 hours, the other 6 hours including lunch break. Here's what the rounds looked like:
Typical structure for a senior SWE loop: Coding round 1 (45 min) System design round 1 (60 min) Lunch break System design round 2 (60 min) Behavioral / hiring manager (45 min) Coding round 2 or team-fit (45 min)
I've seen people mention fewer rounds, so it may compress based on team or level.
The real texture of it:
The system design rounds were the hardest part. Both times. These are not cloud-generic 'design Twitter' questions. The problems were embedded in NVIDIA's actual domain: GPU scheduling, distributed training infrastructure, storage systems for large checkpoints. If you've only prepped for generic system design, you will feel the gap.
The coding rounds were solid but not sadistic. The interviewers were not trying to break you. One of them gave me a genuine hint when I was going down a wrong path, which I appreciated.
The behavioral round with the hiring manager was the most interesting. Mine ran about 50 minutes (scheduled for 45) because the conversation got substantive. He wanted to understand how I think about hard technical trade-offs, not just whether I can tell a coherent story.
Post-onsite timeline: First loop I heard back in 8 days. Second loop took 13 days. Both times there was a debrief call from the recruiter to discuss outcomes before anything written arrived.
One thing that surprised me: the interviewers from different rounds actually coordinate. In my debrief call the recruiter mentioned that the panel had discussed specific moments from my design rounds. So they're talking to each other. That's actually good; it means a great round can compensate for a weaker one.