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.”
The prompt is vague on purpose. The first minutes are for you. Reduce the prompt to the core features and agree on the numbers before you draw.
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
The interviewer has the answers. In a SysRound round, Alex gives these answers, as a real interviewer does.
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 ask about
- 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 (L5/E5)
- 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 (L6+/E6+)
- 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.