Uber Interview Process - Mid-level Backend Engineer
Uber SDE II Interview Experience | 6 Rounds
My Uber SDE II interview process had six rounds in total: an online assessment, a business phone screen, and four full-loop interviews.
Round 1 - Online Assessment (CodeSignal)
The OA had four coding questions on CodeSignal. I found the difficulty ranged from medium to medium-hard.
Round 2 - Business Phone Screen (DSA)
I was asked one graph problem based on topological sorting. It was very similar to Course Schedule, where you have to find a valid order given a set of prerequisites.
The follow-up was to return the lexicographically smallest valid order if multiple orders were possible. This was a hands-on round where I was expected to write code in a language of my choice.
Round 3 - Full Loop 1 (DSA)
The first full-loop round was a coding interview. The problem combined binary search and DFS. Binary search narrowed down the candidate answer, and DFS checked whether a candidate was feasible. This was a hands-on round where I was expected to write code in a language of my choice.
Round 4 - Full Loop 2 (Low-Level Design)
I was asked to design and implement a parking lot system. The interviewer focused on code modularity, so how I split responsibilities across classes and organized the implementation mattered. This was a hands-on round where I was expected to write code for the design in a language of my choice.
Round 5 - Full Loop 3 (Hiring Manager)
This round was 40 minutes discussion my resume, previous projects, and the technical skills I had used in my past roles. The conversation was largely behavioral and drew on examples from my own work.
For preparation, I used Amazon’s Leadership Principles to formulate relevant stories. The STAR format helped me structure those answers around the situation, task, action, and result.
Round 6 - Full Loop 4 (System Design / Bar Raiser)
I was asked to design an airline reservation system. We spent a significant part of the round clarifying requirements and discussing the API contracts. Once we agreed on the scope, I was expected to cover the finalized requirements within the one-hour interview.
Two areas came up in the deep dive:
Double booking. How do you prevent two customers from booking the same seat when their requests arrive concurrently?
Data freshness. How do you keep flight availability up to date when the inventory data comes from the airlines?
This was one of the toughest rounds I faced. A substantial part of the hour went into agreeing on what the system should support and getting the APIs right, so I had to cover the design and handle detailed follow-ups in the time that remained.
Received offer in 2 Days, post last round.
Was this experience helpful?
Be the first to mark it helpful
No comments yet
Be the first to ask the author a question or share your own take.