PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Uber

Design real-time driver heatmap system

Last updated: Apr 8, 2026

Quick Overview

This question evaluates a candidate's ability to design real-time distributed systems for geospatial aggregation, covering skills in spatial partitioning, high-throughput streaming ingestion, low-latency cell counting, WebSocket-based client updates, and top-K ranking within a fault-tolerant multi-region architecture.

  • hard
  • Uber
  • System Design
  • Software Engineer

Design real-time driver heatmap system

Company: Uber

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Design a real-time driver heatmap for a ride-hailing platform. Partition the city into grid cells (e.g., geohash), ingest driver pings, and stream updates to clients over WebSockets. Compute and publish the top-K hottest cells per region with low latency. Detail the data model, aggregation strategy (edge vs. server), update frequency, scalability, fault tolerance, and how clients subscribe/unsubscribe.

Quick Answer: This question evaluates a candidate's ability to design real-time distributed systems for geospatial aggregation, covering skills in spatial partitioning, high-throughput streaming ingestion, low-latency cell counting, WebSocket-based client updates, and top-K ranking within a fault-tolerant multi-region architecture.

Related Interview Questions

  • Design an Uber Eats Cart Service - Uber (medium)
  • Design A URL Shortener - Uber (medium)
  • Design Restaurant Search and Monitoring - Uber (hard)
  • Design Nearby Restaurant Search - Uber
  • Design a Food Delivery Cart - Uber (medium)
Uber logo
Uber
Aug 1, 2025, 12:00 AM
Software Engineer
Onsite
System Design
58
0

System Design: Real-Time Driver Heatmap and Top-K Hottest Cells

Context

You are building a real-time heatmap for a ride-hailing platform to show driver density across a city. The city is partitioned into spatial grid cells (e.g., geohash/H3/S2). Driver apps send periodic location pings. The backend must aggregate these into live cell counts and stream updates to rider/ops clients over WebSockets. Additionally, the system must compute and publish the top-K hottest cells per region with low latency.

Assume city-scale load (hundreds of thousands of drivers, 1–5 pings/driver/min), sub-second to low-seconds end-to-end latency, and multi-region deployment.

Requirements

  • Partition city into fixed-size grid cells (e.g., geohash/H3/S2).
  • Ingest driver pings and compute active driver counts per cell in near real time.
  • Stream updates to clients over WebSockets (subscribe/unsubscribe flows).
  • Compute and publish top-K hottest cells per region with low latency.
  • Detail: data model, aggregation strategy (edge vs. server), update frequency, scalability, fault tolerance, and client subscription management.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Uber•More Software Engineer•Uber Software Engineer•Uber System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.