Skip to content

Design a live map of points (frontend)

Design the web client for a map of where new users sign up: every sign-up is a point, new ones arrive live, and the map stays readable from the whole world down to one street.

System designFrontend and full stackMaps and locationSeniorStaff

What to work through

Work through a live map of points as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.

  • Show every sign-up as a point on a world map
  • Add new sign-ups to the map as they happen
  • Zoom from the whole world down to one street and pan around
  • Click a point or a group of points to see what is there

Constraints to discuss

  • Panning and zooming stay at 60 frames a second
  • The page never loads the whole data set, only what the view needs
  • A burst of sign-ups never freezes the map
  • A pan, a zoom or a click answers within 200 milliseconds
Need a starting point?

Watch for these common gaps as you prepare:

  • One page element for each point
  • Loading the whole data set into the browser
  • Redrawing the map for every new sign-up
  • Fetching on every movement without cancelling the old requests
  • Doing the grouping on the main thread
Read: Frontend system design interview questions, and who asks them

Why this question is in the collection

These sources connect the problem to company interview reports or preparation guides. They do not guarantee what a company will ask you.

Your next question

AI systemsDesign a ChatGPT-style chat (frontend)Search and autocompleteDesign an autocomplete search box (frontend)CollaborationDesign a calendar (frontend)Messaging and notificationsDesign a chat app (frontend)
Browse the collection
01

Pick a question

Read the brief and choose what you want to work on.

02

Talk it through

Explain your thinking. Respond to follow-ups. Draw when a design needs it.

03

Find your next improvement

Use the feedback from your interview to decide what to practice next.