Did the NVIDIA coding / OA process earlier this year for a senior software engineer role on the CUDA compiler team. Going to lay out the format since I couldn't find a clean description anywhere when I was prepping.
For my loop there was no separate HackerRank/Codility OA. The coding happened during the interview itself. My recruiter said format varies by team: some teams give a take-home before the technical screen, some skip straight to live coding. Mine was all live.
Technical phone screen: One 45-minute session with a senior SWE from the team. One medium-difficulty problem: a graph traversal variant. Wasn't tricky but the interviewer asked me to walk through edge cases thoroughly, and then asked me to optimize the space complexity after my initial solution. That second part caught me off guard. Know your complexity math.
Onsite coding rounds (my loop had two): Round 1: dynamic programming, medium-hard. I'd put it at LeetCode hard territory. Not a famous problem but the same category as knapsack variants. They want you to code it clean, not pseudo-code it. Round 2: system/algorithm hybrid. The problem started as a straightforward implementation but evolved into a design question about how to scale it. Felt like a soft system design round dressed up as a coding problem.
Language choice: C++ is common at NVIDIA (GPU stuff is C++ world) but I did Python and nobody cared. One of my interviewers specifically said they care more about problem-solving than language. I'd still avoid something exotic.
Difficulty overall: harder than Google phone screen, roughly comparable to Meta E5 onsite coding. NVIDIA interviewers are less polished at giving hints than Meta or Google interviewers, in my experience. If you're stuck, ask clarifying questions proactively.
No LC premium subscription required but I'd grind graphs, trees, and DP before this one.