PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Applovin

Design UberPool matching with zero Manhattan detour

Last updated: Mar 29, 2026

Quick Overview

This question evaluates system design and algorithmic reasoning for constrained spatio-temporal matching and routing, covering Manhattan-distance geometry, matching algorithms, API and data model design, and scalability/consistency considerations.

  • hard
  • Applovin
  • System Design
  • Software Engineer

Design UberPool matching with zero Manhattan detour

Company: Applovin

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

Design a ride-sharing (UberPool-like) system focused on **matching and routing**. You are operating on a grid where travel distance is **Manhattan distance**: \(d((x_1,y_1),(x_2,y_2)) = |x_1-x_2| + |y_1-y_2|\). A driver starts at `S` and wants to go to destination `T`. The driver is willing to pick up additional riders **only if doing so does not increase the driver’s total travel distance**, i.e., the final driven distance must remain exactly \(d(S,T)\). ### Goal - Serve as many additional riders as possible while respecting the “zero extra Manhattan distance” constraint. ### What to cover 1. Clarify product requirements and constraints. 2. Core APIs (request ride, accept match, updates). 3. High-level architecture and key components. 4. Data model and storage choices. 5. Matching strategy/algorithm under the zero-detour Manhattan constraint. 6. Scalability, latency, consistency, and failure handling. 7. Metrics and edge cases.

Quick Answer: This question evaluates system design and algorithmic reasoning for constrained spatio-temporal matching and routing, covering Manhattan-distance geometry, matching algorithms, API and data model design, and scalability/consistency considerations.

Applovin logo
Applovin
Nov 3, 2025, 12:00 AM
Software Engineer
Technical Screen
System Design
2
0

Design a ride-sharing (UberPool-like) system focused on matching and routing.

You are operating on a grid where travel distance is Manhattan distance:
d((x1,y1),(x2,y2))=∣x1−x2∣+∣y1−y2∣d((x_1,y_1),(x_2,y_2)) = |x_1-x_2| + |y_1-y_2|d((x1​,y1​),(x2​,y2​))=∣x1​−x2​∣+∣y1​−y2​∣.

A driver starts at S and wants to go to destination T. The driver is willing to pick up additional riders only if doing so does not increase the driver’s total travel distance, i.e., the final driven distance must remain exactly d(S,T)d(S,T)d(S,T).

Goal

  • Serve as many additional riders as possible while respecting the “zero extra Manhattan distance” constraint.

What to cover

  1. Clarify product requirements and constraints.
  2. Core APIs (request ride, accept match, updates).
  3. High-level architecture and key components.
  4. Data model and storage choices.
  5. Matching strategy/algorithm under the zero-detour Manhattan constraint.
  6. Scalability, latency, consistency, and failure handling.
  7. Metrics and edge cases.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Applovin•More Software Engineer•Applovin Software Engineer•Applovin System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ 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.