I met these guys at a career fair and received a phone call not long after for a behavioral/resume questions. The next phone call was a technical interview. It sounded like questions could be tailored to your language of choice, and I went with Python since it's easy.
TL;DR: A few weeks later, I was flown down to Santa Clara for the interview, which consisted of five rounds. The questions covered a range of ML topics, behavioral questions, Python (which I believe stemmed from my stating Python is my jam), and CI/CD design.
For the whole story for those interested:
Round 1 was conducted by a PhD. I was given some simple Python data structure wrangling exercises. While I can't disclose the specifics, the questions required a deep understanding of how Python dictionaries are built under the hood in specific versions (e.g., 3.6 vs. 3.8). We did not discuss Python 2. The solution involved using built-in functions (e.g., map, filter, sorted), lambdas, and a few for loops. He actually asked the same question that was posed during the second phone interview.
Round 2 was conducted by another PhD. I was asked some tensor questions, primarily concerning data cleaning and normalization across three or more dimensions. I believe the secret to solving the question was to first solve it in one dimension and then apply it to higher dimensions. The final solution essentially involved four nested for loops, which was promptly followed by a multi-core parallelization question. This required knowledge of when a mutex would be effective, when it would not, and how to parallelize code.
Round 3 was with the hiring manager over lunch. He bought me lunch, and we discussed my previous experience. He was particularly interested in my Microsoft internships.
Round 4 was likely the most challenging round. The interviewer was new to the team and asked poorly defined questions, particularly regarding CI/CD design. He never seemed satisfied with my answers, perhaps due to difficulty phrasing his questions (I don't think English was his first language). There were many awkward silences, so I took the opportunity to ask him a series of questions to prevent him from posing more obscure CI/CD queries. Examples include: "Why don't you like the existing CI/CD system?" "What market do you think CI/CD poorly targets?" "What would you change about it?" After that, I inquired about company culture and the company's stance on Apple. He seemed pleased by the end.
Round 5 was the most rushed round. The interviewer presented an API for some web-like component and asked me to implement specific functionality using that API. It was meant to mimic low-level operations, such as the frequent interruptions and retries when reading a file with system calls. We ran out of time for this one, as I am a slow coder and the interviewer started late. He did not focus on the syntax of my code; I even used mathematical notation for some of it. At the end, he mentioned he disliked Python.
I flew back, took some finals in school, and received an offer after bombing a final. Life is good.
Can't say specifically, but something close would be like:
Given this tensor, how would you normalize it using 32 cores?
Is a mutex a good idea for this?
The following metrics were computed from 1 interview experience for the Nvidia Deep Learning Architect role in Santa Clara, California.
Nvidia's interview process for their Deep Learning Architect roles in Santa Clara, California is incredibly easy as the vast majority of engineers get an offer after going through it.
Candidates reported having very good feelings for Nvidia's Deep Learning Architect interview process in Santa Clara, California.