I applied online. The process took 2 weeks. I interviewed at NVIDIA (Santa Clara, CA) in Mar 2016
Interview
They use a poll of applications, it is not about very specific positions with posts that are expiring, it is not dynamic like in the case of other companies. If you apply to several job openings and are called for an interview, they won't give you the specific number of the job opening.
Interview questions [1]
Question 1
In most cases you need to have some experience with CUDA. If you want to increase your chances of getting a job offer you need to know very well about linked lists. We used the collabedit.com for the interview. It is like a chat but for coding. I got the following question on the screen of collabedit:
// There is a chunk of memory in the kernel address space represented by kernelResource and an API exists to clear it. An IOCTL path exists to take a request from user-mode and using O/S services eventually dispatches to API_ZeroResource. From a security perspective what concerns do you have with this implementation? How would you fix them?
//
// KERNEL
//
BYTE kernelResource[10] = {0};
int API_ZeroResource( in_params *pParams )
{
if (pParams->offset + pParams->length > sizeof(kernelResource))
return ERR_INVALID_LIMIT;
memset(kernelResource + pParams->offset, 0, pParams->length);
return 0;
}
//
// USER
//
void ZeroResource()
{
in_params params = { ??? };
// an ioctl path exists to call API_ZeroResource
ioctl( CMD_ZeroResource, ¶ms );
}
Multiple steps, intro, team meet. Two coding sessions. Hard coding interview. Leet code style. Nice people. Took long time to schedule next. Felt that I was appreciated. Remote, people different parts over world.
I applied online. I interviewed at NVIDIA (Haifa) in Jun 2026
Interview
Online assessment consisting of 3 data structures and algorithms questions. First question an easy array question. Second was a hard heap question and the third was a medium 2D dynamic programming question.
Interview questions [1]
Question 1
DP problem: You are given several service options. For each option i, bandwidth[i] is the amount of bandwidth required, and request[i] is the number of requests that can be handled using that bandwidth.
Given a maximum bandwidth limit totalBandwidth, choose a subset of the options so that the total bandwidth used does not exceed totalBandwidth, while the total number of handled requests is as large as possible.
Return the maximum number of requests that can be handled.
I applied online. I interviewed at NVIDIA (Santa Clara, CA) in Jun 2026
Interview
I only made it to the screening round, which involves two technical rounds, I was interviewed by a director and a senior engineer. I could not answer the questions, but the interviewers were very professional and patient throughout the whole process.
Interview questions [1]
Question 1
What is the difference between a const pointer int vs a pointer const int?