Skip to content
SysRound

Design a ride hailing app like Uber

High-frequency location updates, geospatial indexing, matching with contention, trip state machine.

Hard. Asked at senior and staff interviews.

Practice this question out loud

How the interviewer opens it

“Design the core of a ride-hailing app like Uber: a rider requests a ride and we match them with a nearby driver.”

The prompt is vague on purpose. The first few minutes are yours: narrow it to the core features and agree on the numbers before you draw anything.

What to clarify first

  • scale
  • matching
  • consistency
  • latency

The answers stay with the interviewer. In a SysRound round, Alex answers them as an interviewer would.

Scope of a strong answer

Core requirements

  • Drivers report location
  • Rider requests a ride and gets matched with a nearby driver
  • Trip lifecycle tracking

Usually out of scope

  • Payments internals
  • Routing/maps engine
  • Ratings

What interviewers probe

Geospatial index
1M+ writes/s and fast nearest-neighbor queries.
Matching without double assignment
Concurrent requests compete for the same drivers.

Common mistakes

  • Treating location updates like durable writes
  • No driver state machine
  • Ignoring hot geographic areas

The bar by level

Senior (L5/E5)
Geo index choice with numbers, in-memory ingestion, atomic assignment with leases, trip state machine, failure handling.
Staff (L6+/E6+)
Regional cell architecture, hot-spot rebalancing, degradation strategy, data pipeline for ETA/surge models.