Nvidia Senior-Software-Engineer Tegra Cuda (IC3)
Round 1(Virtual) Started with a warm-up question. I do not remember the exact question, but it was super easy. Like just 5-10 lines of code.
Then he asked me to implement aligned malloc and aligned free. I have practiced it well, so I was able to solve it completely without errors.
We had some free time at the end, so the interviewer asked some more questions to kill the time. It was mostly related to concurrency like what threads and semaphores are, what is the difference between them, and what is atomic instructions etc.
Round 2(Virtual): Again started with super easy question, I think it was something like print all the numbers from 0 to INT_MAX i guess.
Then he shared a hacker rank link with some incomplete functions. It is a classic consumer-producer problem that we read in OS semaphore classes. I did not revise concurrency before interview, so I struggled a bit to get to final answer.
At the end he asked some behavioral questions like why should we hire you etc.
I felt like really bombed this round, but fortunately I was called to onsite interview, where I was called to their actual office and they booked the slot for 3 hours.
Onsites Round 1: Discussed about my work in my previous company.
Asked me to design a elevator. No need to write exact code, just what functions are required, brief of what each function will do. (I feel like I could not give a satisfactory answer to this question)
Next he asked me some OS concurrency related questions, like what is difference between threads and semaphores and can we solve a consumer-producer problem with a thread instead of semaphores, and the last question was something related to virtual memory(I do not recall this question exactly)
Onsites Round 2: Stated with some questions based on my resume. The questions were related to the work I did in my previous role.
Next write code for mem pool allocator. The constraints were easy, like there is a continuous memory, and assume who ever will call for memory first, he will be the first to release the memory etc. I was able to get a working solution.
Next we discussed what the team does and some general discussion regarding the team.
Onsites Round 3: This is the same guy why took my virtual round 2. We did not have any technical discussion, only behavioral, like I have only ~1.5 yoe, and why are you jumping to another company that early, why do you want to join this role and what will you do if we reject you, some general discussion.
Final Verdict: Rejected after 1.5 month of onsites. Reason for rejection: Bad performance in interviews
