This question evaluates a candidate's ability to architect scalable, reliable end-to-end image upload systems, covering object storage and CDN integration, authentication and authorization, upload strategies (including chunked/resumable flows), validation and virus scanning, metadata extraction and sanitization, asynchronous processing and image transformations, storage/versioning and deduplication, database idempotency, caching/invalidation, error handling, observability, cost optimization, and multi-region scaling. Commonly asked in System Design interviews to assess trade-off reasoning, operational awareness, and both high-level architectural thinking and practical application-level design considerations within the System Design domain, it tests conceptual understanding as well as practical implementation concerns.

Design an end-to-end system that handles user picture uploads from web or mobile clients through the backend and storage/CDN layers. Assume an object store (e.g., S3/GCS), a CDN, an API service, a background processing tier, and a relational database. Images are typically user-generated (e.g., profile or listing pictures), with typical sizes up to 20 MB, and must be delivered globally.
Describe, in detail, how the system handles:
Clearly explain trade-offs and provide guardrails for safe operation. Use small numeric examples where helpful.
Login required