Design online audio/video file downloader.
MediumImagine you are building a robust download manager for audio and video files from online sources. Users should be able to add multiple files to a download queue, specify download locations, control download speed, and handle potential errors gracefully. The system should support resuming interrupted downloads and be easily extensible to support new download protocols and file types. This requires a design that is modular, extensible, and handles concurrent downloads efficiently. We need to consider scenarios such as network disruptions, server errors, and file corruption. Furthermore, the design should allow for different download strategies such as sequential downloads or concurrent downloads with limits on the number of concurrent downloads.
Requirements
Interview Simulation
Experience a realistic interview conversation. The interviewer will ask clarifying questions,and you'll reveal your understanding of the requirements.
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.