Design image upload end-to-end
Company: Coinbase
Role: Software Engineer
Category: System Design
Difficulty: hard
Interview Round: Technical Screen
Describe, end to end, what happens after a user uploads a picture—from the browser/frontend through the backend and storage/CDN. Cover: request flow, authentication/authorization, upload options (direct-to-object-store vs. server-proxied), chunking/resume, client- and server-side validation (type/size/virus scanning), metadata extraction, asynchronous processing pipelines/queues, image processing (resize/thumbnailing), storage strategy and versioning, database writes and idempotency, CDN caching/invalidation, error handling and retries, observability/alerting, performance and cost considerations, and horizontal scaling.
Quick Answer: This interview question evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer for Design image upload end-to-end states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.