PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Google

Design street-view image ingestion and storage system

Last updated: Apr 22, 2026

Quick Overview

This question evaluates understanding of large-scale system design for media ingestion, covering distributed ingestion pipelines, durable storage and retrieval, processing and serving architectures, upload API semantics, and device security/token management.

  • hard
  • Google
  • System Design
  • Software Engineer

Design street-view image ingestion and storage system

Company: Google

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

## Prompt Design a system to ingest, store, and process street-level images for a "Street View"-like product. ### Scenario - A fleet of taxis is equipped with cameras. - Each taxi periodically captures photos (optionally with sensor metadata like GPS, timestamp, heading) and uploads them to your backend over unreliable mobile networks. - Stored images are consumed by downstream systems for: - Image understanding / feature extraction - Map generation (stitching/selection) - Display to end users (serving tiles/panoramas or individual frames) ### What to cover 1. **Requirements gathering** - Functional requirements (ingestion, storage, retrieval, processing hooks) - Non-functional requirements (durability, availability, latency, cost, privacy/security) - Scale assumptions (taxis, images per taxi, image size, retention) 2. **High-level architecture** - Main services and data stores - Data flow from taxi → ingestion → durable storage → processing pipeline → serving 3. **Upload API design** - How the taxi uploads images (single-shot vs chunked/resumable) - Response semantics (sync/async), idempotency, retries - Handling bad networks, offline buffering, and partial uploads 4. **Security / authentication** - How devices authenticate (tokens/certs) - How to prevent abuse and secure data in transit/at rest - What to do if a token/device credential is compromised (revocation, rotation, blast radius reduction) 5. **Trade-offs & extensions** - Storage choices and partitioning - Exactly-once vs at-least-once ingestion - If given more time, what additional features or safeguards you would add (and why)

Quick Answer: This question evaluates understanding of large-scale system design for media ingestion, covering distributed ingestion pipelines, durable storage and retrieval, processing and serving architectures, upload API semantics, and device security/token management.

Related Interview Questions

  • Design an Online Coding Judge Platform - Google (medium)
  • Design a pub-sub replay system - Google (hard)
  • How to host many domains on one IP? - Google (medium)
  • Design a global real-time notification system - Google (medium)
  • Design a large-scale distributed rate limiter - Google (medium)
Google logo
Google
Jan 22, 2026, 12:00 AM
Software Engineer
Technical Screen
System Design
17
0
Loading...

Prompt

Design a system to ingest, store, and process street-level images for a "Street View"-like product.

Scenario

  • A fleet of taxis is equipped with cameras.
  • Each taxi periodically captures photos (optionally with sensor metadata like GPS, timestamp, heading) and uploads them to your backend over unreliable mobile networks.
  • Stored images are consumed by downstream systems for:
    • Image understanding / feature extraction
    • Map generation (stitching/selection)
    • Display to end users (serving tiles/panoramas or individual frames)

What to cover

  1. Requirements gathering
    • Functional requirements (ingestion, storage, retrieval, processing hooks)
    • Non-functional requirements (durability, availability, latency, cost, privacy/security)
    • Scale assumptions (taxis, images per taxi, image size, retention)
  2. High-level architecture
    • Main services and data stores
    • Data flow from taxi → ingestion → durable storage → processing pipeline → serving
  3. Upload API design
    • How the taxi uploads images (single-shot vs chunked/resumable)
    • Response semantics (sync/async), idempotency, retries
    • Handling bad networks, offline buffering, and partial uploads
  4. Security / authentication
    • How devices authenticate (tokens/certs)
    • How to prevent abuse and secure data in transit/at rest
    • What to do if a token/device credential is compromised (revocation, rotation, blast radius reduction)
  5. Trade-offs & extensions
    • Storage choices and partitioning
    • Exactly-once vs at-least-once ingestion
    • If given more time, what additional features or safeguards you would add (and why)

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Google•More Software Engineer•Google Software Engineer•Google System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.