# Design a map tile service: system design interview question

> Map tiles across zoom levels: sparse demand, regional edits, cache deadlines, and render capacity.

Source: https://sysround.com/questions/design-map-tile-service
Updated: 2026-11-05


Difficulty: hard. Levels: Senior, Staff+.

## How the interviewer opens it

"Design a service that generates and serves map tiles at different zoom levels. Geographic data changes while people browse the map."

## What to clarify first

- Tile format and coverage
- Request scale
- Source data
- Geographic changes
- Read-to-write mix
- Tile size
- Latency
- Freshness
- Availability and durability
- Scope limits

## Scope of a strong answer

Core requirements:

- Serve map tiles by zoom level and position
- Generate tiles from geographic features
- Meet edit freshness targets, including tiles first requested after an edit
- Keep map views responsive during traffic peaks

Usually out of scope:

- Route calculation and address search
- Satellite images
- Tools that let users edit geographic data
- Private or personalized map layers

## What interviewers probe

### Detail across zoom levels

Coarse tiles cover huge areas. Fine tiles create an enormous address space, although users request only a small part.

### Geographic changes

One edit can affect many tiles. A late first request must meet the same freshness deadline as a popular tile.

### Tile requests during peaks

Map views create bursts of nearby requests. Cache misses can compete with overdue replacements for limited render capacity.

## Common mistakes

- Create every possible tile through zoom level 18.
- Render world tiles directly from every raw feature.
- Refresh only the new position after a feature moves.
- Return an old tile after its deadline because no user requested it earlier.
- Treat a stored tile as current while the CDN still serves an older copy.
- Let every cache miss start a separate render job.

## The bar by level

- **Senior:** Estimates tile counts and origin load. Handles old geometry, duplicate jobs, and revision checks. Makes overdue requests wait for fresh output, including late first requests. Includes cache expiry in the five-minute budget.
- **Staff+:** Defines revision coverage across source data, derived layers, tiles, and caches. Preserves lazy invalidation evidence without enumerating every fine tile. Explains capacity limits and separates normal freshness failures from declared outage behavior.

Practice this question with an AI interviewer: https://sysround.com/practice/new?problem=map-tile-serving


---
SysRound (https://sysround.com) is an AI practice tool for system design interviews. It has a voice or typed AI interviewer and a shared whiteboard. At the end, you get feedback on each skill and a model answer. The AI feedback can be wrong.
