Design a video upload system for a user with low network bandwidth

Medium
Company: Premium
GoogleAmazon

Imagine you're building a video upload system, but you need to cater specifically to users with extremely limited network bandwidth. A slick web interface with drag-and-drop functionality won't cut it. We need a robust, resilient system that can handle intermittent connectivity, gracefully resume interrupted uploads, and minimize data transfer overhead. Think of users in remote areas with unreliable mobile connections. This is not about building a scalable video streaming platform (that's a High-Level Design problem). This is about designing a reliable, efficient, and resumable upload process under duress. The solution should address the challenges of handling incomplete uploads and prioritize efficient bandwidth utilization. The system should also support different chunking and retry strategies configurable by the user, allowing customization to network conditions. It needs to handle potential data corruption during transmission, implementing checks for data integrity. Think about what happens when a user's 3G connection drops midway through uploading a large video file – how do you ensure they don't have to start all over again? We want to provide a user experience that is both reliable and informative, giving users clear feedback on the progress of their upload.

Requirements

Interview Simulation

Experience a realistic interview conversation. The interviewer will ask clarifying questions,and you'll reveal your understanding of the requirements.

Interviewer

Let's start by understanding the scope. What are the core functionalities this system needs to provide?

💡 Interview Tip

Identify the Actors (Who uses the system?) and their Use Cases (What are they trying to achieve?). Start with the 'Happy Path' scenarios.

Press ⌘ + Enter to submit

Premium Content

View detailed solutions.

UNLOCK PREMIUM