okay this is week 34 of my search and i finally got through an Uber coding loop, so here's the data.
For context: I applied to L5 SWE, backend focus. The flow was: recruiter screen, then a take-home OA, then two live coding rounds in the actual loop.
Take-home OA: HackerRank platform. Two problems. 90 minutes total. I got one medium and one problem that was medium-hard sliding window. Both were solvable if you've done standard Leetcode prep. No tricky tricks, no obscure algorithms. Time complexity discussion wasn't part of the OA but I wrote comments anyway.
Passed OA within 3 days, recruiter emailed me to schedule the live loop.
Live coding rounds (2 rounds, 45 min each): Coderpad. One interviewer per round. Both mine were backend-leaning questions.
Round 1: Graph traversal. BFS variant. More about handling edge cases correctly than raw speed. They asked me to optimize memory usage after the initial solution, which required thinking about iterative vs recursive with explicit stack.
Round 2: This one was more system-adjacent. Given a log of ride events, find overlapping windows and compute something about driver utilization. Required interval merging logic. Felt like they pulled it from an actual Uber backend problem, which is kind of nice because it's not pure abstract puzzle.
Both interviewers ran out the clock talking through trade-offs. Neither was rushing me.
Difficulty overall: Medium Leetcode comfort zone is probably the floor. Hard Leetcode fluency probably overkill unless you're aiming for very senior. I'd focus on graphs, intervals, sliding window, and string manipulation.
Not top-of-the-funnel vibe anymore though. I've done probably 30 OAs in 8 months and Uber's was one of the more legitimate-feeling ones. The live rounds actually tested engineering judgment, not just memorized patterns.