Uber Software Engineer Interview Questions
The short answer
Uber's Software Engineer interview tests core algorithms, runnable low-level design, and highly concurrent distributed systems. You will face a 60-minute Business Technical Phone Screen combining coding with architectural trade-offs, followed by onsite rounds covering data structures, thread-safe machine coding, system design, and behavioural evaluations mapped to Uber's cultural values like being Trip Obsessed.
A detailed breakdown of Uber's technical loop, covering the Business Technical Phone Screen, live machine coding, and distributed system design rounds.
Or skip ahead and have your answer scored — free, no account needed.
The Uber Software Engineer interview process
Uber's engineering loop is highly standardized, moving rapidly from initial screening to live execution. The process heavily prioritises runnable, production-grade code and rigorous architectural trade-off discussions rather than purely theoretical concepts.
Typically 2 to 6 weeks from recruiter screen to offer
Business Technical Phone Screen (BPS)
60 minutes: 45 minutes live coding on CodeSignal, 15 minutes architectural trade-off discussion.
- Algorithmic correctness under time pressure
- Queue and background worker design
- Data freshness trade-offs
Failing to complete the code or navigate the trade-off discussion results in immediate disqualification.
Coding Round 1: Algorithms & Data Structures
45-60 minutes live coding on CodeSignal.
- Algorithmic complexity and optimization trajectory
- Execution of invariants
- Edge-case handling
Coding Round 2: Depth in Specialization / Low-Level Design
60 minutes live machine coding.
- Class structure and extensibility
- Concurrency handling and synchronization locks
- Fully runnable functionality
You must write fully functional, compilable code, not just conceptual whiteboard designs.
System Design and Architecture
45-60 minutes live whiteboarding and discussion.
- End-to-end distributed design under constraints
- Failure mode analysis
- KPI and SLI definition
Collaboration and Leadership
45-75 minutes panel or 1:1 behavioural interview.
- Past project execution
- Team coordination
- Alignment with Uber's cultural values
Led by a hiring manager or Bar Raiser; heavily graded on operational terms like 'Trip Obsessed' and 'Go Get It'.
Technical Retrospective (Tech Comm)
30-75 minutes slide presentation and Q&A for L5+ candidates.
- Architectural decision defense
- Cloud compute and database cost breakdown
- Post-mortem execution and hindsight maturity
What Uber grades across the whole loop
- Operational and cost awareness
- Concurrency and thread safety
- Value alignment (e.g., Trip Obsessed, Go Get It)
- Runnable code execution speed
9 Uber Software Engineer interview questions
These are drawn from what software engineer candidates report being asked at Uber. Under each one is what Uber is testing and what a strong answer actually contains — not what technique to use.
Algorithms & Machine Coding (LLD)
These rounds test your ability to implement clean, runnable, and thread-safe code under strict time constraints, moving beyond basic whiteboard pseudocode.
“Design and code a local, thread-safe Splitwise expense sharing mechanism. Focus on transaction optimization to minimize the absolute number of payments needed to settle up among group members.”
Why they ask it
Uber systems handle massive concurrent financial transactions; they need to see if you can manage thread safety and write runnable optimization logic.
What a good answer contains
A fully compilable class structure using synchronization locks or concurrent collections, with a greedy algorithm or flow network approach that correctly minimizes transaction edges.
“Implement core Linux file system commands (mkdir, cd, ls, pwd) with fully runnable code. Ensure your class structure supports directory hierarchies and handles nested navigation edge cases.”
Why they ask it
Tests your object-oriented design, state management, and ability to handle edge cases like deep nesting or invalid paths in a runnable environment.
What a good answer contains
An extensible composite pattern representing files and directories, with clean error handling for invalid operations and a working implementation of relative path traversal.
“You are managing a secure network where each node is identified by a 4-digit numeric code (e.g., '1234'). You can transition between nodes only if their codes differ by exactly one digit. You can only transition through nodes that are in a provided 'Activated List'. Given a list of activated nodes, a starting node, and a target node, return the minimum transitions.”
Why they ask it
Tests your ability to model network routing and find shortest paths efficiently, mimicking real-world dispatch and routing challenges.
What a good answer contains
A Breadth-First Search (BFS) implementation with an optimized lookup structure (like a hash set) for the activated list, handling disconnected graph edge cases cleanly.
System Design & Architecture
Uber's system design rounds focus on highly concurrent, distributed systems operating under real-time constraints and municipal regulatory boundaries.
“Design a driver heatmap system for a large city to be displayed on an internal analytics dashboard. Handle two distinct latency paths: a near real-time heatmap representing the last 20 minutes of global GPS pings, and an offline view aggregated hourly over a 24-hour cycle.”
Why they ask it
Uber relies heavily on geospatial data ingestion. They want to see how you split real-time streaming architectures from batch processing pipelines.
What a good answer contains
A lambda or kappa architecture utilizing Kafka for ingestion, Apache Flink for the 20-minute sliding window aggregation, and a batch layer like Spark writing to a geospatial index (e.g., H3) stored in a distributed database.
“How does the Surge Calculator compute multiplier rates? Specifically, how do you handle regional surge calculations when H3 hexagonal zones overlap differing municipal regulatory boundaries (e.g., NYC capping surge rates at 2.5x while neighboring regions have no cap)?”
Why they ask it
Tests your ability to integrate complex, dynamic business rules and geospatial indexing (H3) with high-throughput, low-latency calculations.
What a good answer contains
A design that isolates the geospatial lookup from the pricing engine, using localized cache layers to apply boundary-specific regulatory rules before calculating the final multiplier.
“Write a topological sort to resolve service dependencies similar to LeetCode's Course Schedule II, ensuring you account for circular dependencies and print the optimal execution path.”
Why they ask it
Tests your understanding of dependency resolution and graph algorithms, which are critical for microservice orchestration and deployment pipelines.
What a good answer contains
A clean Kahn's algorithm or DFS-based topological sort that explicitly detects cycles, handles disconnected subgraphs, and outputs the correct execution order.
Collaboration, Leadership & Tech Comm
These questions evaluate how you navigate team dynamics, influence technical decisions, and take ownership of system failures or financial costs.
“Tell me about a time you had to influence a major architectural decision without having the formal authority to dictate the outcome. How did you use prototypes or benchmarks to win the argument?”
Why they ask it
Uber values the 'Go Get It' attitude and expects engineers to drive technical direction through empirical evidence rather than hierarchy.
What a good answer contains
A narrative showing how you gathered concrete performance metrics or built a minimal prototype to resolve a team deadlock, focusing on data over opinion.
“Walking through your prepared project slide deck: What was the exact cost breakdown of this architecture at scale, what would it cost if traffic increased 10x tomorrow, and what specific design decision do you now realize was wrong in hindsight?”
Why they ask it
Uber explicitly grades senior candidates on 'Cost Archaeology' and 'Post-Mortem Maturity' to ensure they understand the financial impact of their designs.
What a good answer contains
A precise breakdown of cloud compute, memory, and database costs, a realistic scaling projection, and a candid, detailed critique of a past architectural mistake.
“Describe a situation where a critical production system experienced a sudden, severe priority shift. How did you adjust resource allocations while maintaining service reliability?”
Why they ask it
Tests your adaptability and operational resilience under pressure, aligning with Uber's focus on maintaining high availability during rapid changes.
What a good answer contains
An explanation of how you triaged tasks, automated manual processes, or adjusted service level objectives (SLOs) to keep core systems stable during a pivot.
A worked answer, with the structure showing
This is written to be spoken, not read. Do not memorise it — take the shape and put your own experience through it.
The question
“Tell me about a time you had to influence a major architectural decision without having the formal authority to dictate the outcome. How did you use prototypes or benchmarks to win the argument?”
Senior Software Engineer, three years at a logistics and delivery startup.
Situation — 15 seconds
At my last company, our core dispatch service was experiencing severe latency spikes during peak hours. The team was split: half wanted to rewrite the service in Go, while the other half wanted to optimize our existing Node.js codebase. As a senior engineer without formal authority over the stack, I needed to resolve this deadlock.
Action (Prototypes) — 30 seconds
Instead of arguing theoretically, I built two minimal, functional prototypes of our bottlenecked routing algorithm—one in Go and one optimized in Node.js. I set up a local benchmarking suite using dummy geospatial data to simulate peak load, measuring CPU utilization, memory allocation, and P99 latency.
Results & Metrics — 25 seconds
The benchmarks showed the Go prototype reduced P99 latency by 65% and handled three times the concurrent requests with half the memory footprint. I presented these concrete metrics and cost projections to the team, demonstrating that a Go rewrite would save us 40% in monthly infrastructure costs.
Outcome & Values — 20 seconds
The data was undeniable. We aligned on migrating the dispatch service to Go, which I helped bootstrap. This completely eliminated our peak-hour latency spikes and proved that empirical data is the fastest way to build consensus.
Why it works at Uber
- Demonstrates a 'Go Get It' mindset by taking proactive ownership to resolve a team deadlock through empirical action rather than passive debate.
- Focuses heavily on concrete metrics (P99 latency, CPU, memory, and infrastructure costs) which aligns perfectly with Uber's analytical engineering culture.
- Shows practical prototyping and benchmarking skills, proving the candidate can validate architectural decisions with data before committing resources.
Free · no account needed
Say your answer out loud. Get it scored.
Reading about the structure is not the same as saying it. Answer “How would you design a local, thread-safe Splitwise expense sharing mechanism, and how do you handle transaction optimization?” the way you would in the room, and get a score plus three specific fixes. Aim for 60-90 seconds.
This browser cannot record audio. .
Practise these out loud with AI feedback
Reading the questions is not the same as answering them. Paste the actual Uber job posting and your CV, and prepare.fyi builds the twenty questions that loop is most likely to ask — then you answer them out loud, with a live AI interviewer and a scored breakdown of every answer.
What candidates get wrong in this loop
Hand-waving and keyword-dropping in system design
Uber interviewers aggressively drill down on named technologies. If you suggest Kafka or Flink, they expect you to explain the checkpointing mechanism, tumbling window strategies, and downstream backpressure handling.
Fix: Only propose technologies you can deeply explain. If you mention Flink, be ready to detail how it handles stateful stream processing and backpressure.
Treating the Low-Level Design (LLD) round as a conceptual whiteboard exercise
Uber expects fully functional, compilable, and runnable code in the 'Depth in Specialization' round. Conceptual diagrams or pseudocode will result in a failing grade.
Fix: Focus on writing clean, compilable code with proper class structures, synchronization locks, and concurrency handling directly in the IDE.
Treating the Tech Comm slide deck as a marketing presentation
Senior candidates often present high-level, promotional overviews of their past projects. Uber expects deep technical critique, concrete cost breakdowns, and honest retrospective concessions.
Fix: Include exact cloud compute and database cost metrics, explain what would fail at 10x scale, and explicitly highlight what you would design differently in hindsight.
Uber Software Engineer interview: frequently asked questions
- How long does the Uber Software Engineer interview process take?
- The end-to-end process typically takes 2 to 6 weeks. Junior loops (L3) are highly standardized and can be completed in 2 weeks, while senior loops (L5+) may take 1.5 to 2 months if extensive team-matching steps are required after the core loop.
- Is there a take-home assessment in the Uber SWE loop?
- Yes, candidates typically complete a 70-75 minute online assessment on CodeSignal or HackerRank consisting of 3 to 4 data structures and algorithms questions. However, candidates with strong internal referrals or those on senior tracks may skip this stage.
- What is unique about Uber's Business Technical Phone Screen (BPS)?
- Unlike typical coding screens, Uber's BPS is a 'gateway' round split into 45 minutes of live coding and 15 minutes of architectural trade-off discussion. You must complete the code and successfully discuss queue design, background threads, or data freshness to pass.
- Does Uber use AI tools during the interview process?
- Yes, Uber has shifted toward utilizing automated AI transcription and scoring platforms like Metaview during live sessions. This ensures highly rigid, standardized grading of independent traits like test-writing and optimization trajectory.
- How are frontend software engineering roles evaluated at Uber?
- Uber evaluates frontend candidates on actual UI performance, JavaScript/React architectures, and client-server latency budgets. This specialized track moves away from generic, heavy backend data structures and algorithms questions.
Other roles at Uber
Uber
Frontend Engineer interview questions
UI building under time pressure, JavaScript depth, and frontend system design.
Uber
Data Engineer interview questions
SQL at depth, data modelling, and pipeline design for messy production data.
Uber
Product Manager interview questions
Product sense, metrics and analytics, prioritisation, and execution rounds.
The questions every Uber round opens with
Each has the structure, example answers, and the same free grader.
Go deeper
How this page was put together
Compiled from public candidate reports, Uber’s own published material, and interview write-ups, last checked 6 August 2026. Interview loops change and vary by team, level and office — treat this as a strong prior, not a script. If something here no longer matches what you were sent, tell us and we will correct it.