← Back to Directory

NVIDIA interview notes, page 11 of 17

FAANG / Big Tech

Most of these NVIDIA write-ups come from Software Engineers (137), then Product Managers (15) and Data Scientists (10). The most reported rounds are the technical phone screen (106), the system design round (28), the hiring manager screen (13) and the product sense round (13).

166 interview notes · updated Aug 2026

NVIDIA·Software Engineer·Onsite - System Design / Architecture

Jun 2026
NVIDIA system design round for a software engineering role. One meaty question about designing a build event ingestion system with top-K query support. The pseudocode-only requirement sounds relaxed until they start asking about complexity and scale.
  • Design a system that ingests a stream of build events (each with a target ID and timestamp) and supports two operations: recording a new event, and querying the top-K most-built targets, optionally filtered by a time range.

“I started with the all-time case since that felt simpler: just a hashmap from target ID to count, then a min-heap of size K to get the top results.”

View Post

NVIDIA·Software Engineer·Technical Phone Screen

Jun 2026
NVIDIA Linux Engineer interview that was basically one meaty design problem about a key-value store with a tricky O(1) constraint. Not a lot of fluff, just got thrown into the deep end pretty fast.
  • Design and implement an object-oriented key-value store with set(key, value), get(key), and setAll(value) operations, where setAll applies to all current and future keys. All three must run in amortized O(1) time.

“The set and get parts were fine, standard hashmap stuff.”

View Post

NVIDIA·Software Engineer·Technical Phone Screen

Jun 2026
Got a coding question at NVIDIA for a software engineer role that was basically 'build a mini VM manager from scratch.' Pretty open-ended, which I wasn't expecting. The design freedom was nice but also a little stressful since there's no single right answer.
  • Design and implement an in-memory virtual machine manager that supports creating, listing, updating, and deleting VMs, each identified by a unique ID.
  • What data structure would you choose to store the VMs in memory, and why?
  • How would you handle errors consistently across all operations in your VM manager API?
  • Walk through how your update_vm function handles a request to update a VM that doesn't exist.

“The open-endedness is what got me.”

View Post

NVIDIA·Software Engineer·Onsite - System Design / Architecture

Jun 2026
Brutal NVIDIA hardware-adjacent design interview for what was listed as a software role. The whole session was a deep dive into low-power SoC architecture, power domain crossings, and CDC schemes. Not what I expected walking in.
  • In a SoC with two independently power-gated domains A and B running at potentially different supply voltages, how do you architect a registered 1-bit control signal crossing from A to B? Walk through the required boundary cells, reset strategy at source and sink, and where each cell lives relative to always-on vs. switchable rails.
  • If domains A and B run on different clocks and the control signal has ordering requirements (so you can't just treat it as async noise), which CDC scheme do you pick between a two-flop synchronizer, pulse-to-toggle, request/ack handshake, or async FIFO, and what STA/CDC constraints do you add to go with it?
  • How does your approach change if A and B share the same clock? Which constraints do you keep, which do you drop, and how do you verify timing in that case?
  • If the signal passes through logic in domain B and feeds back into domain A, how do you close timing and CDC across both crossings? And if B can be powered off, how do you decide whether to clamp the returning signal to 0, 1, a retained last value, or high-Z? Where does the isolation logic live, what powers it, and how do you sequence the wake-up correctly? How do you verify all of this with power intent tools?

“I knew level shifters were needed and said so immediately, but I fumbled on the isolation cell placement.”

View Post

NVIDIA·Software Engineer·Technical Phone Screen

Jun 2026
NVIDIA systems-level interview, probably for a low-level software or GPU compute role. The questions were deep in C memory semantics and hardware optimization territory, which I was not fully ready for.
  • Are memcpy and strncpy semantically equivalent? What are the actual differences?
  • Why is memcpy typically much faster than a manual byte-by-byte copy loop?
  • If you reinterpret a buffer as 32-bit or 64-bit integers and copy in word-sized chunks, you can get roughly a 4x speedup over byte-by-byte. Walk through why that works and when it's actually safe to do.

“I said 'pretty much the same thing' and immediately regretted it.”

View Post

NVIDIA·Machine Learning Engineer·Technical Phone Screen

Jun 2026
ML engineer interview at Nvidia, came down to a core ML theory question about model generalization. Pretty standard for this kind of role but it still tripped me up a bit.
  • Can you explain overfitting and underfitting, and which types of models are most prone to each and why?

“I knew the definitions but stumbled when they pushed on the 'which models and why' part.”

View Post

NVIDIA·Software Engineer·Technical Phone Screen

Jun 2026
Technical phone screen for a Research Engineer role at NVIDIA. One question, deep ML theory, and I realized partway through that I knew the concept but had never actually thought through all the measurement methods in one sitting.
  • What does it mean for a probabilistic classifier to be well-calibrated, how would you measure it, and what techniques exist to improve calibration?

“I started with the definition fine, the classic 'if your model says 0.7, then 70% of those samples should actually be positive.' But then they asked about measurement and I fumbled the ordering.”

View Post

NVIDIA·Software Engineer·Technical Phone Screen

Jun 2026
NVIDIA software engineer coding round, one algorithmic problem with a follow-up constraint added partway through. Pretty standard competitive-programming flavor but the follow-up tripped me up a bit.
  • A group of robots each have a score. The two highest-scoring robots are matched against each other, their scores cancel out, and only the difference (the larger minus the smaller) survives as a new robot. This repeats until one robot remains. Write a function to find the final score. A follow-up added extra constraints on top of the base problem.

“Priority queue was the move here, pretty much immediately obvious.”

View Post

NVIDIA·Software Engineer·Technical Phone Screen

Jun 2026
NVIDIA software engineer technical screen, one coding question the whole time. Pretty focused session, just a tree traversal problem with a specific implementation constraint.
  • Given an in-memory file system represented as a tree (each node has a name, a boolean indicating if it's a file, and a list of children), write a function that returns all full paths to files using DFS.

“The structure itself wasn't hard to parse but I second-guessed the path-building part for longer than I should have.”

View Post

NVIDIA·Software Engineer·Technical Phone Screen

Jun 2026
NVIDIA software engineering interview that covered a pretty wide range of fundamentals, from Git workflows to C++ memory management. No single topic dominated, it felt more like a breadth check than a deep dive into any one area.
  • Walk me through a feature development workflow using Git branches and pull requests. When would you rebase instead of merge?
  • Explain the difference between a Docker image and a container, how Dockerfiles work, and what you'd do to keep image sizes small and handle secrets properly.
  • In Python, what's the difference between using a virtual environment and a container for dependency isolation? How do you approach pinning dependencies?
  • In C++, explain RAII, move semantics, and const-correctness. Can you give a simple example for each?

“I fumbled the rebase vs merge part a little.”

View Post