Timeline
- Referral → recruiter reached out
- 5 rounds — first 3 in-person, last 2 virtual
- Entire process: ~2 months
- Offer: ~3 weeks after final round
Background
- 3.7 YOE
- Tier-1 education, currently at a Tier-1 company
- Interviewed April 2026 for L4 (SDE-II)
Round 1 — BPS / Screening (In-Person) — Strong Hire
Problem: Robot navigating a grid with charging cells. Find optimal path with priority: minimum charging cells → minimum battery required → minimum moves.
Difficulty: Hard
This was a multi-criteria state-space search (modified Dijkstra with a tuple cost). The interviewer wanted:
- Logic overview with a dry run first
- Clean, optimal running solution
- Follow-ups
Being in-person changed the dynamic — more collaborative, whiteboard + laptop.
Round 2 — Coding 1 / DSA (In-Person) — Strong Hire
Problem: Find Median from Data Stream
Difficulty: Hard
Expected approach:
- Start with suboptimal (sorting / insertion)
- Move to optimal two-heaps solution (max-heap + min-heap)
- Clean running code tested on various cases
- Follow-ups on real-life scenarios (percentiles, bounded ranges)
Round 3 — Coding 2 / LLD (In-Person) — Hire
Problem: Design a Premium Cab Hailing Service for Uber
Difficulty: Hard
Focus areas:
- Cab allocation logic (nearest available driver)
- Clean, fully running code
- Multithreading scenarios (concurrent ride requests, no double-booking)
Key learning: Master ONE language for LLD. The interviewer let me check syntax but it caused context switches. Fluency matters here.
Round 4 — Hiring Manager (Virtual) — Strong Hire
Difficulty: Medium
Behavioral + project-based:
- Collaboration examples
- Complexity of projects I've led
- Working under tight deadlines and pressure
My approach: I structured my project explanations to naturally cover most behavioral themes (ownership, conflict, impact). Used STAR framework with concrete examples throughout. This round gives you a lot of control over the direction — use it.
Round 5 — HLD / System Design (Virtual) — Hire
Problem: Stock Price Change Alert System
Difficulty: Very Hard
Covered:
- Push vs Pull mechanism (core discussion)
- DB design and alert indexing
- API design
- Deep dive on trade-offs
- Handling high-volume data (Uber loves this — Spark/Flink came up)
Overall Experience
One of the most fun AND grilling experiences. The in-person format for the first 3 rounds made it distinctly different from typical virtual loops.
Key Takeaways
- DSA: Expect variations of standard LeetCode patterns. Graphs (DFS, BFS, DSU) are Uber's favorite. The gap between Hire and Strong Hire is mostly about how well you handle follow-ups.
- LLD: Focus on a fully running solution. Master one language — syntax checking mid-round causes costly context switches.
- HM: You control the direction. Structure your project stories to naturally cover behavioral questions. Always STAR + concrete examples.
- HLD: Toughest round, but Uber asks from a relatively common set of questions. Focus on trade-offs and reasoning — rarely a single right answer. Prepare high-volume data topics: Spark, Flink, stream processing.
Tips
- Get a referral — it speeds up recruiter outreach significantly
- Practice graph problems heavily (DFS, BFS, DSU, Dijkstra variants)
- For LLD, drill one language until syntax is muscle memory
- For HLD, study Uber-specific patterns: real-time systems, high-throughput streaming, geo-based matching