Uber SWE Interview: Coding Interview Guide
Updated:
Estimated read time: 8-10 minutes
Summary: The Uber software engineer (SWE) coding interview in the loop checks repeatable coding ability across one or more rounds. Expect data structures, algorithms, optimization, testing, and changed constraints.
See the full Uber Software Engineering interview roadmap, including coding screens, loop coding, system design, behavioral or hiring manager rounds, and team/headcount approval. View the Uber Software Engineering interview roadmap
TL;DR + FAQ (read this first)
At-a-glance takeaways
- Loop coding rounds go deeper than the screen and may repeat across interviewers.
- Prepare for data structures, algorithms, optimization, tests, and changed constraints.
- Uber-flavored constraints can involve geography, timing, matching, availability, and marketplace data.
- Senior candidates should add maintainability and systems-adjacent tradeoffs after the base solution works.
Quick FAQ
How long is each coding round?
Often 45-60 minutes each, but confirm with your recruiter.
What matters most?
Correct code, edge-case tests, clear communication, and adaptation to follow-ups.
How should I use Uber-like examples?
Use them to practice domain constraints while keeping the core algorithm general.
At a glance
- Stage: Loop.
- Round: Coding interview.
- Typical duration: often 45-60 minutes each; confirm with your recruiter.
- Likely interviewers: software engineers.
- Relevant levels: intern through staff-plus, possible or role-dependent.
What happens in this round
Loop coding rounds go deeper than the screen. Prepare for trees, graphs, intervals, scheduling, heaps, top-k problems, rate-limiter-like variants, and debugging or optimizing initial code.
Expect follow-ups. Uber's marketplace and routing context can make constraints around geography, timing, matching, and availability feel natural. Prepare durable patterns instead of memorizing examples.
Level-specific expectations
Intern and new grad candidates should show fundamentals and recover quickly from mistakes.
Junior and mid-level candidates should show robust implementation and testing.
Senior and staff candidates should show coaching-level clarity, maintainability, and systems-adjacent tradeoffs.
Candidate-facing questions to prepare
- Given interval schedules for drivers, find available windows and handle overlapping trips.
- Use a heap to return the top-k nearby or highest-priority items from a stream.
- Traverse a tree or graph and return a result under time or distance constraints.
- Implement a simple rate limiter and explain how the design changes in a distributed setting.
- Debug initial code that fails on disconnected graphs, duplicates, or boundary timestamps.
- Optimize a working solution when input size or latency requirements increase.
- Explain what tests prove correctness and which risks remain.
Use a mock interview to practice loop coding with follow-ups, tests, and optimization discussion.
Strong signals
- Stable problem decomposition across multiple rounds.
- Correct code with edge-case tests.
- Comfort changing constraints.
- Clear tradeoffs around latency, memory, and correctness.
- Senior-level communication and maintainability awareness.
Common failure modes
Overcomplicating early. Build the smallest correct version first.
Not validating assumptions. Marketplace-style data often hides edge cases.
Weak testing. Unresolved bugs can dominate a loop round.
Practice two back-to-back coding rounds to build consistency and stamina.
How to prepare
- Practice graphs, intervals, scheduling, heaps, top-k, and rate limiting.
- Use Uber-like data to practice domain constraints while keeping the core algorithm general.
- Test edge cases and explain complexity.
- For senior roles, discuss maintainability and design-adjacent follow-ups.
- Ask whether the loop has multiple coding rounds.
Continue through the full Uber SWE roadmap to see how loop coding connects to system design, behavioral, and team/headcount stages. View the Uber Software Engineering interview roadmap