How the interviewer opens it
“Design a service that converts addresses into coordinates and coordinates into addresses. It must handle ambiguous inputs and address formats from different countries.”
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
- Countries and languages
- Dataset size
- Traffic
- Source changes and durability
- Address input and ambiguity
- Coordinate results
- Latency and availability
- Consistency and freshness
- Result quality
- Excluded work
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
- Convert address text into ranked location candidates.
- Convert coordinates into an address, a street, or a locality.
- Support multiple countries, languages, and address formats.
- Apply source changes without mixed dataset versions.
Usually out of scope
- Map display and route calculation.
- Address autocomplete.
- Collection of address data through surveys.
- Direct public edits to map data.
- Acquisition of data licenses.
What interviewers ask about
- Address meaning across countries
- Address order, scripts, and number rules vary by country. The same text can identify several valid places.
- Addresses near a coordinate
- The nearest feature can lie across a border or beyond the distance limit. A nearby house does not prove the point belongs to it.
- Results under heavy load
- Broad text requests can reach many shards. Nearby coordinates can require different results, which limits safe result reuse.
- Changes to address data
- A source change can affect names, boundaries, and both lookup paths. Slow imports and partial releases threaten freshness and consistent results.
Common mistakes
- The design assumes one address order for all countries.
- The design uses exact text equality as the complete address search method.
- The service returns one precise coordinate for every ambiguous or incomplete input.
- The service selects the nearest feature without distance limits or boundary checks.
- The service reuses one final address for every coordinate in a coarse geographic cell.
- The design promises freshness without a budget for import, validation, and release.
The bar by level
- Senior (L5/E5)
- Defines country-specific address rules and bounded candidate work. Enforces distance and country rules. Explains safe result reuse, coherent source updates, and recovery from failed imports.
- Staff (L6+/E6+)
- Sets quality gates by country and script. Quantifies peak query work, version costs, and the complete freshness budget. Defines failure policies and criteria for source expansion.