

Updated by Uber candidates

Staff Software Engineer (L5B), Ads Interview Experience
If I were doing it again, I would spend less time trying to grind every Uber-tagged LeetCode problem and more time on two things: their engineering blog and getting my behavioral framing right for staff.
Interview process
I got in through a referral, had a lightweight recruiter call, then an initial coding screen, and then a five-round final. The final was two coding rounds, one system design, one past-project round that turned into a behavioral deep dive, and one straight behavioral. What stood out was how much Uber cared about technical depth over polished cross-functional storytelling, especially for a staff role. Even the coding rounds felt like they wanted system-design-style tradeoff thinking, and they gave me the Number of Islands variant in the final coding round.
- Recruiter screen
- Technical interview
- Final round
Interview tips
If I were doing it again, I would spend less time trying to grind every Uber-tagged LeetCode problem and more time on two things: their engineering blog and getting my behavioral framing right for staff. Read the blog because their technical posts and postmortems are insanely good, and if you can speak their language back to them, it lands. For coding, don't stop at getting it to work. Assume they're going to ask how to optimize space, handle sparsity, or justify why your approach is the right one. Also use AI to research the org and the blog hard before the loop.
Company culture
This process felt technically rigorous in a very practical way. They care a lot more about how deep your CS instincts go than about hearing a polished story about cross-functional partnership, and even their producty questions are still really engineering-heavy. The ads side felt kind of Amazonian managerially to me: standard behaviorals, bog-standard coding, then a system design where the real game is how deep you can go after the obvious answer. It also did not feel like one of those companies obsessing over some special culture-fit ritual right now. A lot of it felt more like, can you do the job at this level, yes or no.
Questions asked
Overview
My first final-round coding interview was a pretty bare setup on HackerRank. The interviewer, an EM, just dropped the problem in and then pushed hard on optimization once I got to a working answer.
Question types asked
Specific questions asked
Solve a variation of Number of Islands.
Is there any way you can think of to make this more of a sparse data set?
How would you optimize the memory space for this?
Are there optimizations around just getting the number versus storing more state?
I solved it the straightforward BFS way first, which I thought was fine, and then the real test started. He pushed me to think like a staff engineer and go deeper on sparse representations, memory tradeoffs, and how little state I actually needed if I only cared about the count. It felt less like normal LeetCode and more like putting a system design lens on one LeetCode problem. That was the moment Uber's technical-chops bias really hit me.
Get full access with a membership, or share your experience to try it free.
