I applied online. The process took 1 week. I interviewed at NVIDIA (Santa Clara, CA) in Jan 2011
Interview
Got a response within a week after applying online. Was then set up a phone interview, Phone interview was done by a very senior person (with 30+ years in industry), the guy was very cool. He asked mostly from my resume and a few C questions. After that got an onsite interview setup within a week. Had 4 1-1 interviews, 2 in the morning were easy was asked mainly simple c q's and about projects. afternoon interviews were tough , questions like traverse a binary tree without recursion and algorithms.
Interview questions [2]
Question 1
questions related to RTOS, was asked to write a solution for producer-consumer problem.
bit manipulation questions like, write a macro to check if nth bit was set , write a function to count no of 1's in a variable and what was the complexity of the implementation etc .
The process took 2 weeks. I interviewed at NVIDIA (San Jose, CA) in Sep 2009
Interview
I was contacted by Nvidia's recruiter. They first scheduled a one-on-one interview, followed by two phone interviews [second gentlemen was calling out of Germany ]. The phone interviews were straightforward with one or two "trick" questions. The one-on-one interview was also straightforward but the gentelmen who I was talking with appeared to be very cocky and somewhat rude. At the end of the interview he went on to comment on my coding skills, which he described as OK for someone with my experience. This is considering that I solved his problem correctly and was invited to do two more phone interviews.
Interview questions [2]
Question 1
Write and aligned malloc() that gets memory size needed and an alignment mask as its arguements. Write a free() function to go with the aligned malloc that takes only the pointer to the allocated chunk of memory.
Write a macro to which you can pass a name of a structure and a name of one of its fields and get a relative offset of this field within the structure.