I applied to Nvidia through on-campus in February . The interview process consisted of three rounds: one online assessment (OA) and two technical interview rounds.
Round 1: Online Round
The online assessment included two coding problems and aptitude questions. The coding problems were of medium to hard difficulty. I received the results within 2-3 days and was notified that I qualified for the next round.
Round 2: First Technical Round
The first technical round was an offline interview. Both interviewers were helpful and supportive. The first question was based on Tries and was similar to the Leetcode hard problem "Delete Duplicate Folders in System". I started by asking clarifying questions about edge cases and then explained my approach. The interviewer was satisfied with my approach and I coded the solution in a few minutes. We encountered some errors while running the code, but after a few dry runs and discussions, I identified the bug and updated the code. The code then worked correctly for the given inputs. The interviewer then asked me to consider different test cases and I explained my approach for those cases. The interviewer was satisfied with my approach.
Time taken: 35-40 minutes
The second question was a Dynamic Programming problem, similar to the Leetcode hard problem "Partition Array into Two Arrays to Minimize Sum Difference". I started with a brute force solution and discussed its time and space complexity. Then, I moved on to the optimal solution. The interviewer was satisfied with my approach and I coded the solution in a few minutes.
Time taken: 25-30 minutes
Key Takeaway
I noticed that DP, Tries, and Graphs are popular topics at Nvidia. You can expect to encounter problems related to these topics in both the online assessments and the coding interview rounds. It is important to remember that you should not just jump directly to the optimal solution without discussing brute force solutions and explaining corner cases. The interviewer is more interested in how you optimize your solution rather than the perfect answer itself. To prepare for this, practice solving problems as if you are explaining your logic to an interviewer. This will help you feel more confident in your approach.