Uber Interview Questions 2026

Published July 22, 2026 · Updated July 22, 2026

18 real interview questions asked at Uber. Covers System Design, Behavioral, DSA / Graphs, Domain, DSA / Arrays, Data Engineering / SLA Incident, Data Engineering / PySpark, System Design / Real-time Processing, System Design / Geolocation, System Design / Matching, Python / Geospatial, Debugging / Distributed Systems, Redis / Data Structures, System Design / Rate Limiting. Reported by engineers who went through the Uber process.

Questions Interview GuidesInterview Guides
18 questions
656 engineers asked
941 upvotes

System Design (4)

Uber Hard System Design round Distributed SystemsRedisKafka

Design Uber's driver-rider matching system. How do you match the nearest available driver to a rider within 200ms at global scale? Cover: geospatial indexing (H3/S2), the dispatch algorithm, how you handle supply-demand imbalances, and what happens when a matched driver rejects the trip.

↑ 99 upvotes · 98 engineers asked this · SDE2
Uber Hard System Design round KafkaRedisDistributed Systems

Design Uber's dynamic pricing (surge) system. When supply is low and demand is high in a geofenced zone, prices increase automatically. Explain the data pipeline, the pricing model, how you prevent oscillations (price going up → drivers rush in → price drops → drivers leave), and regulatory constraints.

↑ 75 upvotes · 74 engineers asked this · SDE2
Uber Hard System Design round Distributed SystemsRedisKafka

Design Uber Eats' order batching system. A single delivery partner picks up orders from multiple nearby restaurants and delivers to multiple customers in one trip. How do you optimise the route and assignment?

↑ 62 upvotes · 41 engineers asked this · SDE2
Uber Hard System Design round Distributed SystemsPostgreSQLKafka

Design Uber's payment reconciliation system. Uber collects payments in 70+ countries with different currencies, payment methods, and regulations. How do you reconcile driver payouts against rider charges and detect discrepancies?

↑ 60 upvotes · 38 engineers asked this · SDE2

Behavioral (2)

Uber Medium HR round

Describe a time you had to work with a very ambiguous technical requirement. How did you clarify scope, make progress, and manage stakeholder expectations during the process?

↑ 39 upvotes · 24 engineers asked this · SDE2
Uber Medium HR round 3-6 years

Describe a time you had to make a decision with incomplete data under time pressure. What was your reasoning process?

↑ 23 upvotes · 10 engineers asked this · Senior SDE

DSA / Graphs (1)

Uber Hard Technical round JavaPythonGo

Given a city map as a weighted graph, find the shortest travel time from a driver's current location to all potential passenger pickup points simultaneously. How does Dijkstra's multi-source variant solve this?

↑ 49 upvotes · 30 engineers asked this · SDE1

Domain (1)

Uber Hard Technical round Distributed SystemsRedis

Uber uses H3 hexagonal geospatial indexing. Explain why hexagons are better than squares or lat/lng grids for proximity searches. How do you find all drivers within 2km of a rider using H3 resolution levels?

↑ 54 upvotes · 34 engineers asked this · SDE2

DSA / Arrays (1)

Uber Medium Technical round JavaPython

Given a list of GPS coordinates representing a driver's path, compute the total distance travelled. Then find the longest contiguous segment where the driver was stationary (speed < 5 km/h). Discuss floating-point precision issues.

↑ 42 upvotes · 26 engineers asked this · SDE1

Data Engineering / SLA Incident (1)

Uber Hard Scenario round 4–6 YearsPythonKafka

Your pipeline SLA requires data to be available in the warehouse by 6 AM. Yesterday it missed at 7:30 AM. Walk me through your incident response.

↑ 96 upvotes · 74 engineers asked this · Data Engineer

Data Engineering / PySpark (1)

Uber Hard Scenario round 5–8 YearsPython

Your PySpark job has data skew on a join key (user_id) where 1% of users account for 60% of the data. How do you handle it?

↑ 117 upvotes · 91 engineers asked this · Data Engineer

System Design / Real-time Processing (1)

Uber Hard System Design round 6-10 years

Design Uber's surge pricing system. It must calculate real-time multipliers per area, update every minute, handle 1 million location events per second from drivers, and serve the price to 10 million concurrent users.

↑ 23 upvotes · 21 engineers asked this · Staff

System Design / Geolocation (1)

Uber Hard System Design round 5-9 years

Design a ride-sharing system like Uber. Focus on matching riders to drivers in real-time.

↑ 51 upvotes · 19 engineers asked this · Staff

System Design / Matching (1)

Uber Hard System Design round 4-8 yearsSystem DesignDistributed Systems

Design the rider-driver matching system for a ride-hailing app. How would you balance minimizing rider wait time against fairness in driver earnings distribution?

↑ 46 upvotes · 23 engineers asked this · Senior SDE

Python / Geospatial (1)

Uber Medium Technical round 3-6 yearsPythonSystem Design

You need to find all available drivers within a 3km radius of a rider efficiently, with millions of driver location updates per second. What indexing structure would you use and why not a naive distance calculation over all drivers?

↑ 32 upvotes · 15 engineers asked this · Senior SDE

Debugging / Distributed Systems (1)

Uber Hard Debugging round 3-7 yearsDistributed SystemsKafka

Trip fares are occasionally being calculated twice, double-charging riders. The fare calculation service is stateless and horizontally scaled behind a queue. Where would you look first, and what's the likely root cause?

↑ 27 upvotes · 12 engineers asked this · Senior SDE

Redis / Data Structures (1)

Uber Medium Technical round 2-5 yearsRedis

You need to track the top 10 most active drivers by trip count, updated in real time. Which Redis data structure fits this, and why not just a plain hash with manual sorting?

↑ 19 upvotes · 11 engineers asked this · SDE2

System Design / Rate Limiting (1)

Uber Hard System Design round 4-8 yearsSystem Design

Design a rate limiter for a public API that must work correctly across multiple application server instances, not just per-instance.

↑ 27 upvotes · 15 engineers asked this · Senior SDE

Practice these questions with AI feedback

Get instant grading on your answers, identify your weak areas, and generate a personalised 14-day study plan — all free.

Build my study plan →

Uber interview guides by role

Uber SDE2 Guide Uber Senior SDE Guide

Uber questions by technology

Uber Distributed Systems Uber Redis Uber Kafka Uber Python

More companies

Amazon Google Microsoft Flipkart Swiggy Meta Apple Netflix Airbnb Stripe Razorpay PhonePe Paytm Zomato Salesforce Oracle Adobe LinkedIn Atlassian Accenture Deloitte Wipro Infosys TCS Capgemini PayU General Anthropic OpenAI TikTok JPMorgan Walmart Spotify DoorDash Goldman Sachs Revolut Canva Capital One Lyft SAP Siemens Shopify Grab Cognizant LTIMindtree Myntra Hotstar Twitter Snowflake

Frequently asked questions

Design Uber's driver-rider matching system.
Design Uber's driver-rider matching system. How do you match the nearest available driver to a rider within 200ms at global scale? Cover: geospatial indexing (H3/S2), the dispatch algorithm, how you handle supply-demand imbalances, and what happens when a matched driver rejects the trip.
Design Uber's dynamic pricing (surge) system.
Design Uber's dynamic pricing (surge) system. When supply is low and demand is high in a geofenced zone, prices increase automatically. Explain the data pipeline, the pricing model, how you prevent oscillations (price going up → drivers rush in → price drops → drivers leave), and regulatory constraints.
Design Uber Eats' order batching system. A single delivery partner picks up orders from multiple nearby restaurants and delivers to multiple customers in one trip. How do you optimise the route and assignment?
Design Uber Eats' order batching system. A single delivery partner picks up orders from multiple nearby restaurants and delivers to multiple customers in one trip. How do you optimise the route and assignment?
Describe a time you had to work with a very ambiguous technical requirement. How did you clarify scope, make progress, and manage stakeholder expectations during the process?
Describe a time you had to work with a very ambiguous technical requirement. How did you clarify scope, make progress, and manage stakeholder expectations during the process?
Given a city map as a weighted graph, find the shortest travel time from a driver's current location to all potential passenger pickup points simultaneously. How does Dijkstra's multi-source variant solve this?
Given a city map as a weighted graph, find the shortest travel time from a driver's current location to all potential passenger pickup points simultaneously. How does Dijkstra's multi-source variant solve this?