Skip to Content

Design an app similar to Netflix or Youtube

Home | Coding Interviews | System Design | Design an app similar to Netflix or Youtube

Functional Requirements:

1. Users can upload videos

2. Users can view videos

3. Search videos by video title

4. Videos should have like and view counts

5. Users can comment on videos

Posted by Jamie Meyer 9 months ago

Related Problems

Sending user notifications is a common requirement in system design. Design a notification service for an organization. The system will use shared services for the underlying messaging implementation (email, sms, push notifications, etc) so the actual messaging implementation does not need to be designed. The system should support a user publishing a notification to a single user or groups of users. Notifications can be triggered manually via a web UI or programmatically via an API. Users should be able to view their past notifications they published. If a user is unable to receive a notification, they should still receive it at the next opportunity and not miss the message. The notification service should scale to billions of notifications per day, with messages delivered within a few seconds, with five 9s uptime.

Design an app like google maps. The app should provide the quickest possible route between two arbitrary locations. It should provide an ETA, estimated time to reach a destination, using current traffic data.

Design a monitoring and alerting service similar to PagerDuty that can be used to handle production incidents in real-time. The system should receive alerts from external systems, identify the severity of incidents, and notify on-call engineers through their preferred channels (e.g., SMS, email, or push notifications). The system should also support configurable on-call schedules with both primary and secondary engineers assigned to incidents. Additionally, the system must have an escalation mechanism to ensure incidents are addressed based on their priority. Describe how you would design the system to scale effectively and maintain reliability during peak loads.

A CDN (Content Distribution Network or Content Delivery Network) is a geographically distributed file storage service that is designed to serve static content to a large number of geographically distributed users quickly. Design a basic distributed storage system that could be used as a CDN.