Technical Marketing Engineer - NVIDIA AI. NVIDIA has five rounds total, two with coding and three without coding. My interviewer was a data scientist. She asked me how many coding rounds I'd already had, and I said only one, so she said okay, then this round has to include coding, we can't just do a pure Q&A chat. Here's the whole flow, four parts: resume, technical fundamentals, coding, and questions for her.
Part 1 - Resume (15 minutes)
My first phone interview jumped straight into problems (no self-introduction, no resume talk at all). This second round was completely different — the interviewer kept asking about my resume. After I finished telling one story, she asked, "Any more stories? Tell me more, so I can write a good review." She didn't ask behavioral questions like handling deadlines, and she didn't dig too deep either — there was only one thing she didn't quite catch and had me repeat. This was completely different from Amazon's pure-behavioral interviews. Here are some of the core questions:
She asked about the first paragraph of my resume: Where do you currently work? What model do you use? Can you describe your work in that space? What is your role?
Then she asked about the second paragraph of my resume, then the third paragraph.
"So, yeah, go on, keep telling me more. The more you tell me, the better I can write your review, because I need to evaluate you on your knowledge of machine learning, deep learning."
Why are you moving on from your current company.
(I didn't catch the hint at the time and just kept talking about my software experience — I should have pivoted to talking about data science.)
Part 2 - AI Optimization Knowledge (5 minutes)
She asked: 1) Tell me more about optimization techniques. 2) How do Tensor Parallelism vs. Pipeline Parallelism work?
Part 3 - Coding (22 minutes)
Write a 2D convolution in numpy. Stride = 1. The example she gave was a 4x4 image and a 3x3 filter.
import numpy as np
# Define the 4x4 input matrix A
A = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]])
# Define the 3x3 filter K
K = np.array([[1, 0, -1],
[1, 0, -1],
[1, 0, -1]])
The hard part was doing it in numpy (I hadn't prepared for this — I forgot whether it's .shape or .size, and I was rusty on array slicing and so on). For the 1D conv piece inside it I used two nested for loops, and she asked if I could use array slicing, vectorized operations, etc. instead. Writing it by hand with for loops was too tedious and it's easy to get the indices wrong.
She had me share my screen the whole time, but once coding started she muted herself — no interaction at all, and when I asked her questions she barely answered (maybe she didn't hear me?). It seems like as long as you get it implemented, that's fine — you don't need to narrate every line of code to her (that would probably annoy her to death). She just wanted quiet and to see it get implemented. (I regret how weak my numpy fundamentals were.)
Part 4 - Questions for the Interviewer (3 minutes)
-
What's your favorite tech blog post you wrote recently? She didn't pick out one specific post — instead she said every post has a purpose: either 1) serve a customer — if they release a model, we recommend hardware for it, or 2) serve a product — when a product like Blackwell launches, I'll write a post about it.
-
If I get the job, what skills should I learn? Her answer: 1) definitely technical skills — read papers, NVIDIA is big on optimization, reducing cost and improving speed (so hard technical skills still matter most), and 2) being good at writing — explaining technical things to different audiences, like Jensen Huang does at GTC.
Discussion
Loading comments…