Design Ride Requests, Driver Matching, and Trip State

Read the full interview experience this question came from →

Quick Overview

Design a ride-sharing backend with fresh locations, candidate search, conflict-free assignment, idempotent trip transitions, and failure recovery.

Design Ride Requests, Driver Matching, and Trip State

Company: Meta

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Design a ride-sharing system. Explain the core flow from requesting a ride through matching, pickup, completion, and recording the trip's outcome. ### Constraints Geographic scope, traffic, matching objective, pricing, payment, and service guarantees are unspecified. State a bounded baseline and clarify which features are required. Any concrete location-update interval, radius, or dispatch policy is an explicit assumption. ### Clarifying Questions - What geographic area and rider/driver volume must be supported? - Is matching based on distance, estimated pickup time, fairness, or another objective? - Can drivers receive several offers, and how long is an offer valid? - What are the rules for cancellation, stale locations, and lost connectivity? ```hint Make assignment a state transition Finding nearby drivers is different from ensuring that two riders cannot both acquire the same available driver. ``` ### What a Strong Answer Covers - Rider, driver, location, request, offer, and trip state models. - Candidate search, coordinated assignment, location freshness, and notification delivery. - Failure recovery, idempotency, geographic partitioning, and observable service behavior. ### Follow-up Questions - What if a driver accepts after an offer has expired? - How would you handle requests near the boundary between geographic partitions?

Overview: Design a ride-sharing backend with fresh locations, candidate search, conflict-free assignment, idempotent trip transitions, and failure recovery.

Read the full Meta Software Engineer interview experience this question came from

|Home/System Design/Meta
Meta logo
Meta
Sep 4, 2026
hardSoftware EngineerOnsiteSystem Design
0
0

Design a ride-sharing system. Explain the core flow from requesting a ride through matching, pickup, completion, and recording the trip's outcome.

Constraints

Geographic scope, traffic, matching objective, pricing, payment, and service guarantees are unspecified. State a bounded baseline and clarify which features are required. Any concrete location-update interval, radius, or dispatch policy is an explicit assumption.

Clarifying Questions Guidance

  • What geographic area and rider/driver volume must be supported?
  • Is matching based on distance, estimated pickup time, fairness, or another objective?
  • Can drivers receive several offers, and how long is an offer valid?
  • What are the rules for cancellation, stale locations, and lost connectivity?

What a Strong Answer Covers Guidance

  • Rider, driver, location, request, offer, and trip state models.
  • Candidate search, coordinated assignment, location freshness, and notification delivery.
  • Failure recovery, idempotency, geographic partitioning, and observable service behavior.

Follow-up Questions Guidance

  • What if a driver accepts after an offer has expired?
  • How would you handle requests near the boundary between geographic partitions?

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...