Design a Google Photos–like service
Company: Pinterest
Role: Software Engineer
Category: System Design
Difficulty: hard
Interview Round: Onsite
Design a Google Photos–like service for billions of photos and videos. Cover client upload workflows (mobile/desktop), media ingestion, metadata extraction, deduplication and content hashing, storage architecture (hot/cold tiers), CDN delivery, sharing and permissions, search and indexing (by time, location, EXIF), thumbnail/transform pipelines, sync across devices, privacy/compliance, disaster recovery, and cost estimation. Provide high-level APIs, data models, partitioning/sharding strategies, and choices for consistency and availability.
Quick Answer: This question evaluates proficiency in designing large-scale distributed media systems, testing competencies in distributed storage and caching, ingest pipelines, CDN-backed delivery, indexing/search, sync/conflict resolution, access control/privacy compliance, and cost/operational planning.