Glassdoor users rated their interview experience at NVIDIA as 100% positive with a difficulty rating score of 3 out of 5 (where 5 is the highest level of difficulty). Candidates interviewing for Sr. Machine Learning Engineer and rated their interviews as the hardest, whereas interviews for Sr. Machine Learning Engineer and roles were rated as the easiest.
The hiring process at NVIDIA takes an average of 21 days when considering 1 user submitted interviews across all job titles. Candidates applying for Sr. Machine Learning Engineer had the quickest hiring process (on average 21 days), whereas Sr. Machine Learning Engineer roles had the slowest hiring process (on average 21 days).
Here are the most commonly searched roles for interview reports -
I applied through a recruiter. The process took 2 weeks. I interviewed at NVIDIA (Santa Clara, CA) in Sep 2013
Interview
The HR contacted me via email seeing my LinkedIn profile. I had two phone interviews basically asking about my resume and experience. Few programming questions were also asked. Like explain an algorithm to show if a given set of strings is a subset of another set of strings. What is its O(n)? After passing the two phone interview, I was invited for onsite interview. The interview was really good. Interviewers were really kind and made me feel comfortable. The interview lasted for 5 hours. 6 people interviewed me(one was HR). Here are some of the interview questions :
1. a) Print each character is the reverse order. Eg : Input : " I just finished my lunch"
Output : " hcnul ym dehsinif tsuj I"
b) Reverse each word in the sentence . Output : " lunch my finished just I"
2. Reverse all the bits in 32bit int.
3. A question on merge sort. It was a little complicated involving two processor communication. One processor had a sorted list and the other also had a sorted list. Write a program to merge the list in a memory accessible to both the processors. (I know I am not clear on the explanation of the question, basically you will have to know how merge sort works )
4. Why is branching a bad thing for a processor? How does it slow the process down.
5. Given that in a switch statement, there are very large number of cases(say 10000). How best can you improve the O(n)? What data structure can you implement and how. FYI, each case statement can be a function. (Switch case statement is also branching ...)
6. Implement a 3x3 averaging filter(not considering the center pixel) given an image,width and height. What is the minimum memory needed to perform this action.