Design ride-hailing dispatch — System design interview practice (Advanced)
up to 10 questions · 85 minutes · ₹15
The problem
Design the dispatch side of a ride-hailing app like Uber or Ola. Drivers' phones report their position every few seconds. A rider asks for a ride from a pickup point; the system finds a nearby available driver, offers the trip, and once a driver accepts, both see each other move on the map until the trip ends.
A driver must never be given two trips at once, a request must not wait forever when nearby drivers decline, and a city's evening peak must not slow every other city.
Draw the components, how location updates and ride requests flow, and where trip state lives. Add your estimates and the API on cards.
Requirements
What it must do
- Drivers send their location every 4 seconds while online
- A rider requests a ride; the system offers it to nearby available drivers until one accepts
- Rider and driver see each other's position and the trip state live
- Trip lifecycle: requested, accepted, started, completed, cancelled
- Fare charged when the trip completes
How well it must do it
- Match a rider to a driver within 5 seconds at p95
- A driver is never assigned two active trips
- Location updates may be lossy; trip state may not
- Cities scale independently; 99.95% availability for requests
Scale
5M drivers online at peak (about 1.25M location updates a second), 20M trips a day, 300 cities
Out of scope
- Driver onboarding and documents
- Rating and support
- Detailed route planning (assume a maps/ETA service)
What you'll be asked
You design for 45 minutes on a canvas: components, connections and notes. Then you answer up to 10 questions: 5 about the scenario (what happens under load, when a part fails, as it grows) and 5 about the design you drew. Answer at least 3 to finish; each has about 4 minutes.
Interview format
- Design: 45 minutes on the canvas
- Questions: up to 10 questions, about 4 minutes each
- Time: 85 minutes at most
- Difficulty: Advanced
- Device: best on a laptop or desktop; the canvas needs a wide screen
- Price: ₹15 a test
How it's marked
- Requirements and estimates
- Location ingest and geo index
- Matching and dispatch
- Trip state and consistency
- Reliability and real-time updates
Your diagram and your answers are both marked, against 5 areas: Requirements and estimates, Location ingest and geo index, Matching and dispatch, Trip state and consistency, Reliability and real-time updates. Every answer gets what it got right and what it missed, with a strong answer to compare. The result comes by email and WhatsApp once it is marked.
Sample question
How would you index millions of moving drivers so that "available drivers within 2 km of this pickup" answers in a few milliseconds?
Take the Design ride-hailing dispatch test
What it covers
- geospatial
- real-time
- matching
- consistency
Frequently asked questions
- How long is the Design ride-hailing dispatch test?
- 85 minutes at most: 45 minutes to design, then up to 10 questions.
- What will I be asked in the Design ride-hailing dispatch test?
- You design for 45 minutes on a canvas: components, connections and notes. Then you answer up to 10 questions: 5 about the scenario (what happens under load, when a part fails, as it grows) and 5 about the design you drew. Answer at least 3 to finish; each has about 4 minutes.
- How is the Design ride-hailing dispatch test marked?
- Your diagram and your answers are both marked, against 5 areas: Requirements and estimates, Location ingest and geo index, Matching and dispatch, Trip state and consistency, Reliability and real-time updates. Every answer gets what it got right and what it missed, with a strong answer to compare. The result comes by email and WhatsApp once it is marked.
- Can I take the Design ride-hailing dispatch test on my phone?
- It is best on a laptop or desktop: the design canvas needs a wide screen. The readyforhires app opens it in your browser.
- Is the Design ride-hailing dispatch test free?
- It costs ₹15 a test, paid per test with no subscription. Prices in Indian rupees (INR).