applied for a senior ML infra role on the inference optimization team. six rounds total over 3.5 weeks.
recruiter screen: standard 30 min, mostly comp alignment and why NVIDIA. pretty smooth.
phone tech: this was heavier than expected. 90 minutes, two interviewers, one LC problem (graph traversal, medium-ish) and then a bunch of questions about CUDA memory hierarchy. like actual questions: what's the difference between global and shared memory, what happens when you have warp divergence, how do you profile a CUDA kernel. i am not a CUDA expert so i was honest about the gaps and talked through my reasoning. they seemed fine with that.
virtual onsite: 5 back-to-back sessions. coding: two more LC problems, one tree, one DP. nothing brutal but you have to be fast. system design: design a serving system for a large language model at 50k QPS. we talked about batching strategies, KV cache management, load balancing across GPUs. this was the most interesting round honestly. ML depth: transformer internals, quantization tradeoffs, RLHF from a training infra angle. cross-functional: a PM and a TPM. behavioral + how do you work with people who don't speak your language. hiring manager: 45 min, went deep on past projects, what i own vs what i just contributed to.
overall: they want people who can go deep and who have genuine opinions. if you're vague about how something works they'll notice. i got an offer at L5, Santa Clara based.