Skip to content

ONE QUESTION. YOUR REASONING.

Design Uber

Design a ride-hailing app like Uber: a rider asks for a ride and gets matched with a nearby driver.

System designMaps and locationSenior

YOUR BRIEF

What to work through

Work through uber as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.

  • A rider enters pickup and destination and gets a fare estimate
  • A rider requests a ride at that fare
  • The rider is matched with a nearby available driver
  • A driver accepts or declines, then navigates to pickup and drop-off

BEFORE YOU START

Constraints to discuss

  • A match in under 1 minute, or a clear failure
  • A driver is never assigned two rides at once
  • Handles 100,000 requests from one place at peak
  • Takes about 2 million driver location updates a second
Need a starting point?

Watch for these common gaps as you prepare:

  • The user id or the fare in the request body instead of the token and the stored fare
  • Writing every location update to the main database
  • In-memory timers for the accept window
  • Ignoring the client, which can send fewer updates when the driver is idle
  • Scaling vertically instead of sharding by region
Read: System design questions and who asks them

Why this question is in the collection

These sources connect the problem to company interview reports or preparation guides. They do not guarantee what a company will ask you.

KEEP GOING

Your next question

Storage, files and linksDesign BitlyInfrastructure and platformDesign a rate limiterInfrastructure and platformDesign an A/B testing platformInfrastructure and platformDesign an ad click aggregator
Browse the collection
01

Pick a question

Read the brief and choose what you want to work on.

02

Talk it through

Explain your thinking. Respond to follow-ups. Draw when a design needs it.

03

Find your next improvement

Use the feedback from your interview to decide what to practise next.