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.