Google SD

Design Google Street View

Capture, stitch, index, and serve immersive street-level imagery globally.

Interview tip Panorama tiles pyramid, geospatial index for coverage map, car fleet ingest pipeline, face/blur privacy processing.

① Functional requirements

  • Display panorama at GPS location
  • Navigate along roads
  • Search places and jump to view
  • Time travel (historical captures)
  • Blur faces and license plates
  • Download tiles for smooth pan

② Non-functional requirements

  • Tile load < 100ms from CDN
  • Petabytes of imagery
  • Global coverage metadata index
  • Privacy compliance per region

③ Back-of-the-envelope scale

Assumptions
  • Petabyte imagery
  • Billions of panoramas
  • CDN serves 99% of tile requests

④ High-level architecture

Street View
Fleet ingest + SfM stitch
Blur privacy ML
Geo index + tile store
CDN tile delivery

⑤ Data flow & execution path

Panorama view
lat/lng → panorama idGeo index lookupTile pyramid CDNClient WebGL
S2 cells for spatial index
Historical versions per location

⑥ API & interfaces

Endpoint / flowPurposeNotes
GET /panoramalat,lngreturns pano id + tiles
GET /tiles/{id}/{face}/{z}/{x}/{y}Cube face tilesCDN cached

⑦ Data model & storage

Domain-specific entities sharded by user_id or geographic key.
StoreWhatWhy
Distributed storePrimary dataSharded for scale
Kafka / Pub/SubEvent logAsync pipelines
Object storeMedia / blobsGCS-style durability

⑧ Deep dive — core components

Tile pyramid

Cube map 6 faces × zoom levels — same pattern as map tiles.

Privacy blur

ML detects faces/plates before publish — automated + human QA sample.

⑨ Trade-offs & alternatives

DecisionOption AOption BPick when
StorageRaw + tilesTiles onlyTiles for serve; raw for reprocess
IndexS2GeohashS2 uniform cells globally

⑩ 45-minute interview script

  1. 0–5 min: Requirements + Google-scale assumptions
  2. 5–12 min: Back-of-envelope QPS and storage
  3. 12–22 min: Architecture diagram
  4. 22–35 min: Deep dive on hot path
  5. 35–42 min: Failure modes and trade-offs

⑪ Likely follow-up questions

QuestionShort answer
How roll out globally?Regional cells + gradual feature rollout

⑫ Revision checklist

  • Panorama tiles
  • Geo index
  • CDN delivery
  • Privacy blur
  • Historical versions
googlestreet-viewimagerycdn