The interviewer was good. He explained that there was a requirement in the Automotive department at NVIDIA, and they were looking for someone with a strong background in multimedia (image processing, computer vision, video processing, etc.) along with some programming experience. He then went through my resume and asked me about my projects, which he seemed to understand (to check my comprehension, I guess). Next, he asked some basic programming questions, such as optimization factors in a filtering operation (what could be done to make the process faster). I discussed a few parameters that I felt were relevant. He asked me a few more questions of a similar type, not too difficult.
The on-site interview was supposed to be a 4-5 hour process. I was given the name of the first interviewer. He received me on time and took me to a conference room. He was a software engineer, so he started with some basic C programming problems. They were the "Find what's wrong in the code" type. I am an average programmer, so it took me some time to understand the problems, but the interviewer was kind enough to provide hints and was generally helpful. I believe he realized I wasn't a very strong programmer, so he let me take my time to answer. I was able to answer the questions, but I was a bit slow and unsure of myself. So, I didn't think it went very well. I was planning to make amends in the next round, as I was better at multimedia and embedded concepts.
I was then taken to lunch by a Senior Manager. He was very kind, and we had a good casual chat while eating. After lunch, I was greeted by a Senior person who also wanted to test my programming skills. He began with questions about static and volatile variables, which I answered. Then, he asked me about a particular piece of code and whether it would work. I told him that it would and explained why. It was half right; there was a condition under which it might fail, which he explained to me. He then asked me to write a program to determine if a number is a factor of 2. I took some time but wrote the code. Overall, this round was also okay. I managed to answer the questions, but I was a bit slow on the coding part.
The third interviewer came in. He also stated he was going to test my coding skills. I was a bit surprised because, during the phone interview, I was told that it required a basic understanding of programming, and the position was mostly related to multimedia and embedded systems. This round was the WORST. As mentioned, the previous two interviewers were courteous and understanding enough to realize that I was a new graduate, not a professional with five years of experience. This third interviewer came in, discussed my resume, then went to the board, wrote a question, explained it briefly, and sat down, telling me to write the code. It was a very different type of question about memory mapping. I wasn't expecting it and, most importantly, I hadn't dealt with such a question before. I tried to understand it, but the interviewer was not helpful; he seemed to be smirking that I couldn't grasp it. When I asked him to please simplify and explain the question, he repeated the same thing. He was not helpful at all. I somehow managed to write pseudocode that satisfied most of the conditions, but he was upset that I didn't write proper code and that my approach wasn't efficient. I apologized and said I hadn't worked on such a problem before. He gave a rather condescending reply. I realized then that this was the final nail; I wasn't going to make it.
Then the HR came in with some generic questions about my status and so on. I asked him exactly WHICH position I was interviewing for because I am not a programmer by education. If I was being interviewed for a pure software position, I was obviously not the correct person. Also, I was led to believe during the phone interview that programming was somehow secondary for this position. He gave me the most nonsensical answer: that this was a GENERIC interview. If that's the case, what's the point of having a job posting? Just interview anyone. Furthermore, the HR had the name of the person who was SUPPOSED to interview me over the phone, not the one who ACTUALLY interviewed me. I pointed this out, and then he changed it. However, I then wasn't sure if I was given an interview believing I was responding to someone else's phone interview.
Memory mapping in registers is based on paging, where the page size was fixed.
Basically, you know the memory size and the start address, and you have to return the pages coming within that range.
This is what I understood after a lot of thinking. The interviewer was not very clear about it.
The following metrics were computed from 1 interview experience for the Nvidia Multimedia Software role in Santa Clara, California.
Nvidia's interview process for their Multimedia Software roles in Santa Clara, California is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for Nvidia's Multimedia Software interview process in Santa Clara, California.