
Synthesized from 20 candidate submissions for ALL.
Nvidia’s hiring process is highly technical, with a strong emphasis on low-level programming, system design, and problem-solving. The process varies by role but consistently includes rigorous online assessments (OAs) with a mix of MCQs and coding problems, followed by multiple technical interviews. Candidates report a focus on DSA, OS concepts, C/C++ fundamentals, and hardware-aware programming, particularly for system software roles. Managerial and behavioral rounds are also common, especially for interns and new grads.
The interview process for the System Software Engineer Internship at NVIDIA consisted of two rounds: an online assessment and a technical interview. The process was rigorous, focusing on technical expertise, problem-solving, and innovative thinking. Out of 5 shortlisted candidates, 2 were selected for the next stage.
Platform: HackerRank. Format: 2 coding questions and 25 MCQs covering C/C++ fundamentals, OS, DSA, Probability/Permutations, and DBMS.
First round was an online assessment conducted on HackerRank with 2 coding questions and 25 MCQs covering C/C++ fundamentals, OS, DSA, Probability/Permutations, and DBMS. 5 members from the candidate's college were shortlisted for the next round.
Second round began with an introduction followed by questions on projects. The interviewer revisited 3 questions from the first round, focusing on pointers, signed and unsigned integers, and probability. Additional questions were asked on anagram checking, maximum depth of a binary tree, pass-by-value vs. pass-by-reference, stack overflow, stack usage, recursion, cache performance in loops, and multithreading with semaphores.
Explain the logic for checking if a given string is an anagram of a substring.
Find the maximum depth of a binary tree.
Given a code snippet, determine the output and explain errors. Modify the code to produce the correct output, focusing on pass-by-value and pass-by-reference concepts.
Explain what a stack overflow is, where stacks are used, and how recursion utilizes the stack.
Given a 2D array with nested loops for row-wise and column-wise addition, determine which loop is preferred for cache performance and why.
Modify a given multithreading code to ensure thread A prints 'A' first, followed by thread B printing 'B', using semaphores.
The candidate successfully cleared all rounds of Nvidia's interview process for a Software Engineer role. The process included an online test, two technical interviews, and a managerial round. The candidate received a selection offer but faced a delay in receiving the offer letter due to budget approval, which took two months after the final interview.
Conducted on HackerRank within 48 hours of receiving the link. Duration: 1 hour 30 minutes. Total questions: 12 (2 DSA, 10 data structure-related).
Online test conducted on HackerRank with a time limit of 1 hour 30 minutes. Consisted of 12 questions: 2 DSA and 10 data structure-related.
Solve two distinct DSA problems.
Solve ten distinct data structure-related problems.
A 1-hour technical interview focusing on two DSA questions: one involving linked lists (adding two numbers) and another tree-based problem (finding the root node and constructing the tree from given parent-child relationships).
Solve a linked list problem involving adding two numbers represented as linked lists.
Given parent nodes and their child nodes, find the root node and construct the tree by linking all nodes.
A 1-hour technical interview with 10 questions: one medium-level DSA graph question and nine cloud-based scenario questions requiring solution proposals.
Solve a medium-level DSA graph problem.
Provide solutions to nine distinct cloud-based scenario problems.
A 1-hour managerial round involving a discussion about the candidate's current project, technical probing of the project's details, scenario-based questions, a final DSA DP question, and questions about role expectations and career plans.
Discuss a project you have been working on for the past two years, including technical details and your contributions.
Solve a DSA Dynamic Programming problem.
Explain your expectations for the role and future career plans.