Ride-hailing trip state partitioning
Design the data layer for a ride-hailing dispatch system operating in 40 cities across 6 regions. A trip's state (request → match → in-progress → complete) updates many times in seconds and must be strongly consistent within a city (no double-dispatching a driver), but global aggregates (surge, analytics) tolerate staleness. Trips never cross cities. With 200k concurrent trips at peak, how do you partition and place data so writes are fast and consistent where it matters?
What a strong answer looks like
Clarify scale and constraints first. Propose a clean component breakdown, then go deep on the hard parts (data model, bottlenecks, consistency, failure modes) and name the trade-offs you are making.
Clarify5:30 left
Estimate5:30 planned
Design16:30 planned
Deep dive13:30 planned
Failure9:00 planned
Which questions mattered is sealed until you submit. Telling you now would just be handing over the edge cases.
Run or narrate your approach, then ask the coach.