Design large video upload for a YouTube-like app

Quick Overview

This question evaluates a candidate's ability to design scalable, reliable large-file upload subsystems, testing competencies in distributed storage, resumable transfers, data integrity, processing pipelines, security, and observability.

Design large video upload for a YouTube-like app

Company: Coupang

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

## System Design Prompt Design the **video upload subsystem** for a YouTube-like product that supports **large video files**. ### Core user flow 1. User selects a large video file (hundreds of MB to tens of GB). 2. Upload should be **reliable** (resume after network drops). 3. After upload, the platform processes the video (e.g., transcode) and eventually makes it playable. ### Requirements - Support **resumable uploads** and unstable mobile networks. - Efficiently handle large files (chunking, retries, integrity checks). - Provide upload status to clients (progress, failure reasons). - Ensure uploaded content is durable and not lost. - Basic security: authenticate users, authorize uploads, prevent misuse. ### Scale assumptions (state your own if needed) - Millions of users - Spiky traffic (new releases) - Global uploads ### Deliverables - APIs, data model, and high-level architecture - Storage strategy for raw uploads and processed outputs - Processing pipeline (transcoding, thumbnails) - Failure handling, idempotency, and observability - Key trade-offs

Overview: This question evaluates a candidate's ability to design scalable, reliable large-file upload subsystems, testing competencies in distributed storage, resumable transfers, data integrity, processing pipelines, security, and observability.

|Home/System Design/Coupang
Coupang logo
Coupang
Dec 13, 2025
mediumSoftware EngineerOnsiteSystem Design
6
0

System Design Prompt

Design the video upload subsystem for a YouTube-like product that supports large video files.

Core user flow

  1. User selects a large video file (hundreds of MB to tens of GB).
  2. Upload should be reliable (resume after network drops).
  3. After upload, the platform processes the video (e.g., transcode) and eventually makes it playable.

Requirements

  • Support resumable uploads and unstable mobile networks.
  • Efficiently handle large files (chunking, retries, integrity checks).
  • Provide upload status to clients (progress, failure reasons).
  • Ensure uploaded content is durable and not lost.
  • Basic security: authenticate users, authorize uploads, prevent misuse.

Scale assumptions (state your own if needed)

  • Millions of users
  • Spiky traffic (new releases)
  • Global uploads

Deliverables

  • APIs, data model, and high-level architecture
  • Storage strategy for raw uploads and processed outputs
  • Processing pipeline (transcoding, thumbnails)
  • Failure handling, idempotency, and observability
  • Key trade-offs

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...