Design real-time grid ETA for drivers

Quick Overview

This question evaluates a candidate's competency in real-time ML system design, covering streaming data ingestion, GPS noise handling and denoising, online feature computation, low-latency model serving, and operational monitoring.

Design real-time grid ETA for drivers

Company: Uber

Role: Machine Learning Engineer

Category: ML System Design

Difficulty: hard

Interview Round: Onsite

Design a real-time system to maintain the remaining ETA for every driver within each cell of a city grid. You may only use the data provided in the prompt (no manual features or external data). Describe, step by step, how you would: ( 1) ingest and partition GPS pings and trip events; ( 2) denoise GPS signals and correct drift to robustly localize drivers within grid cells; ( 3) compute and continuously update each driver's remaining ETA; ( 4) select and train a model suitable for online serving; ( 5) perform online feature computation strictly from the approved data; ( 6) meet low-latency, high-throughput SLAs; ( 7) monitor, alert, and rollback models; and ( 8) evaluate offline and online. Specify concrete algorithms for GPS error reduction (e.g., filtering, map matching), data schemas, state stores and keys, windowing strategy, update frequency, failure handling, and your validation methodology.

Quick Answer: This question evaluates a candidate's competency in real-time ML system design, covering streaming data ingestion, GPS noise handling and denoising, online feature computation, low-latency model serving, and operational monitoring.

|Home/ML System Design/Uber
Uber logo
Uber
Sep 6, 2025, 12:00 AM
hardMachine Learning EngineerOnsiteML System Design
22
0

Real-Time Grid-ETA System Design

You are tasked with designing a real-time system that maintains the remaining ETA for every driver currently located within each cell of a city grid. You must use only the following data sources:

  • GPS pings from driver devices
  • Trip events (e.g., trip_start, trip_end, destination provided at trip start)

No external maps, POI data, or manual features are allowed. Assume:

  • The city is pre-partitioned into a fixed grid (e.g., S2/H3 or a rectangular grid) with a known cell_id function latlon → cell.
  • For an active trip, the destination (lat, lon) is known at trip_start.
  • GPS pings arrive at ~1 Hz with fields including timestamp and optional accuracy.

Design the system and describe, step-by-step, how you will:

  1. Ingest and partition GPS pings and trip events.
  2. Denoise GPS signals and correct drift to robustly localize drivers within grid cells.
  3. Compute and continuously update each driver's remaining ETA.
  4. Select and train a model suitable for online serving.
  5. Perform online feature computation strictly from the approved data.
  6. Meet low-latency, high-throughput SLAs.
  7. Monitor, alert, and rollback models.
  8. Evaluate offline and online.

Be specific about:

  • Algorithms for GPS error reduction (e.g., filtering, map matching)
  • Data schemas
  • State stores and keys
  • Windowing strategy and update frequency
  • Failure handling
  • Validation methodology

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...