Google Maps Navigation – System Design Interview Preparation
Practice designing a navigation system like Google Maps. Cover map tiles, routing algorithms, real-time traffic, and ETA calculation.
This is a full mock interview round, not a written solution to read through. The AI interviewer poses the Google Maps design problem, pushes back on your choices, and asks the follow-up questions a real interviewer would: how the system behaves as traffic grows, where the bottlenecks move, which consistency guarantees you are trading away, and what happens when a component fails. You get structured feedback and a score on requirement gathering, high level architecture, data modelling, scalability and communication at the end of every attempt.
Designing Google Maps is a recurring question in High Level Design (HLD) rounds at Google, Amazon, Meta, Microsoft, Netflix and Uber, and at high-growth product companies hiring SDE-2 and above. Working through it out loud - repeatedly, under time pressure - is what separates candidates who know the components from candidates who can defend a design.
What this question is really testing
Shortest path over a graph far too large to search directly, which means precomputation and hierarchy rather than a better Dijkstra.
Scale to establish before drawing anything
- Hundreds of millions of road segments globally; a naive Dijkstra across a continent is not viable at interactive latency.
- Route requests must return in a few hundred milliseconds, including traffic-aware weights.
- Traffic updates arrive continuously from millions of devices, changing edge weights under live queries.
Core components
- Map data store – The road graph, partitioned geographically into tiles.
- Routing engine – Contraction hierarchies or similar precomputed shortcuts. The precomputation is the answer.
- Traffic ingestion – Anonymised speed samples aggregated per segment per time window.
- ETA service – Combines static segment cost with live and historical traffic.
- Tile service – Pre-rendered map tiles per zoom level, served from a CDN.
Trade-offs to defend
- Precomputation versus live search – Contraction hierarchies make continental queries milliseconds and make the graph expensive to update. Traffic changes weights constantly, so the two fight - and resolving that is the interview.
- Hierarchical routing – Local roads near the endpoints, highways in the middle. It is an approximation that is almost always right and occasionally not.
- ETA: historical versus live – Live traffic is accurate now and wrong for the far end of a three-hour route. Blending by time-of-arrival is the real answer.
Follow-up questions to expect
- A road closes. How long until routes stop using it, and what does that cost?
- Route Delhi to Mumbai in 200ms. What is precomputed and what is searched?
- Two users on the same route get different ETAs 30 seconds apart. Is that a bug?
Continue preparing