PracHub
QuestionsCoachesLearningGuidesInterview Prep
|Home/System Design/Coinbase

Design image upload end-to-end

Last updated: Mar 29, 2026

Quick Overview

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.

  • hard
  • Coinbase
  • System Design
  • Software Engineer

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.

Related Interview Questions

  • Design Crypto Order Routing - Coinbase (hard)
  • Design a crypto trading web frontend - Coinbase (hard)
  • Design query pagination for large datasets - Coinbase (medium)
  • Design real-time crypto prices homepage - Coinbase (hard)
  • Design a food delivery system - Coinbase (medium)
|Home/System Design/Coinbase

Design image upload end-to-end

Coinbase logo
Coinbase
Aug 7, 2025, 12:00 AM
hardSoftware EngineerTechnical ScreenSystem Design
5
0

Design image upload end-to-end

System Design: End-to-End Image Upload Pipeline

Context

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.

Requirements

Describe, in detail, how the system handles:

  1. Request flow from browser/app through backend and storage/CDN.
  2. Authentication and authorization.
  3. Upload strategies: direct-to-object-store vs. server-proxied.
  4. Chunked uploads and resume support.
  5. Client- and server-side validation (file type/size, checksums, virus scanning).
  6. Metadata extraction (e.g., EXIF) and sanitization.
  7. Asynchronous processing pipelines/queues.
  8. Image processing (resize/thumbnailing, formats, orientation).
  9. Storage strategy and versioning, including deduplication and lifecycle.
  10. Database writes and idempotency.
  11. CDN caching and invalidation strategies.
  12. Error handling and retries across components.
  13. Observability and alerting.
  14. Performance and cost considerations.
  15. Horizontal scaling and multi-region considerations.

Clearly explain trade-offs and provide guardrails for safe operation. Use small numeric examples where helpful.

Constraints & Assumptions

  • Preserve the scope, facts, inputs, and requested outputs from the prompt above.
  • If the prompt leaves a detail unspecified, state a reasonable assumption before relying on it.
  • Keep the answer interview-ready: concise enough to present, but concrete enough to implement or evaluate.

Clarifying Questions to Ask

  • Clarify users, core use cases, read/write patterns, scale, latency, availability, and data retention.
  • State explicit assumptions before making sizing or architecture decisions.
  • Prioritize the functional path first, then address reliability, security, observability, and rollout.

What a Strong Answer Covers

  • A scoped requirements summary with concrete non-goals and success metrics.
  • API, data model, architecture, consistency, capacity, and operations.
  • Reasoned trade-offs among simple and scalable designs, including bottlenecks and failure modes.
  • A validation, monitoring, migration, and launch plan appropriate for the risk level.

Follow-up Questions

  • What breaks first at 10x traffic or data volume?
  • How would you degrade gracefully during dependency failures?
  • What metrics and alerts would prove the design is healthy after launch?

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Coinbase•More Software Engineer•Coinbase Software Engineer•Coinbase System Design•Software Engineer System Design

Your design canvas — auto-saved

PracHub

Master your tech interviews with 8,000+ 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
  • AI Coding 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.