"Designing a video streaming system like Netflix or Facebook Video involves addressing multiple aspects, such as scalability, availability, low latency, and high performance. Here's a high-level design:
System Requirements
Functional Requirements:
User Management:
User sign-up, login, and profile management.
Subscription plans and payment integration (for Netflix-like systems).
Content Management:
Upload, edit, and delete videos.
Categorize content (genres, recommendations).
Video Playback:
S"
Kamal .. - "Designing a video streaming system like Netflix or Facebook Video involves addressing multiple aspects, such as scalability, availability, low latency, and high performance. Here's a high-level design:
System Requirements
Functional Requirements:
User Management:
User sign-up, login, and profile management.
Subscription plans and payment integration (for Netflix-like systems).
Content Management:
Upload, edit, and delete videos.
Categorize content (genres, recommendations).
Video Playback:
S"See full answer
"Scoped out problem constraints - how much data to download, how many computers, and how much time, how you can be detected (decentralized load).
Designed a web crawler."
Faraz A. - "Scoped out problem constraints - how much data to download, how many computers, and how much time, how you can be detected (decentralized load).
Designed a web crawler."See full answer
"It would have been more interesting to focus on the system design rather than the Trie DS, Interviewee could have just mentioned the Trie and passed to things more important.
Interviewee should have focused on the factors on which he wants to scale the API servers, popularity of the query parts ? region may be ? A hash of many factors ?
Caches should have definitely be discussed, Cache eviction policies, Cache invalidation managements...
Interviewee should have mentioned which kind of API pro"
Aymen D. - "It would have been more interesting to focus on the system design rather than the Trie DS, Interviewee could have just mentioned the Trie and passed to things more important.
Interviewee should have focused on the factors on which he wants to scale the API servers, popularity of the query parts ? region may be ? A hash of many factors ?
Caches should have definitely be discussed, Cache eviction policies, Cache invalidation managements...
Interviewee should have mentioned which kind of API pro"See full answer
Engineering Manager
System Design
+1 more
🧠Want an expert answer to a question? Saving questions lets us know what content to make next.
"Load Balancer, Multiple API Servers, game Service, pub-sub system, HTTP Long Polling for status updates, write-through cache. No SQL DB to store user, game, and move information."
gdecuri - "Load Balancer, Multiple API Servers, game Service, pub-sub system, HTTP Long Polling for status updates, write-through cache. No SQL DB to store user, game, and move information."See full answer
"I tried solving this question and here is the recorded video for the entire solution - https://youtu.be/G_LIbTp58XA
Feel free to comment here or on the video for further discussion."
Rjj - "I tried solving this question and here is the recorded video for the entire solution - https://youtu.be/G_LIbTp58XA
Feel free to comment here or on the video for further discussion."See full answer
"Functional Requirement
Upload the file of any type
POST v1/drive
Upload the another version of file.
POST v1/drive/{fileId}
Delete the file.
DELETE v1/drive/{fileId}
Share the file.
POST v1/drive/{fileId}
Control the access level of the file.
Provide the file accessibility following the directory structure.
Non Functional Requirement
Reliability: The file along with its versions uploaded should be"
Vikash A. - "Functional Requirement
Upload the file of any type
POST v1/drive
Upload the another version of file.
POST v1/drive/{fileId}
Delete the file.
DELETE v1/drive/{fileId}
Share the file.
POST v1/drive/{fileId}
Control the access level of the file.
Provide the file accessibility following the directory structure.
Non Functional Requirement
Reliability: The file along with its versions uploaded should be"See full answer
"I studied Exponent's TinyURL system design video. My interviewer was asking many detailed questions on API design, schema, as well as data required to store. I found system design questions are bit high level instead of depth. I think should have detail design of API, schema and some additional flavors."
Yag S. - "I studied Exponent's TinyURL system design video. My interviewer was asking many detailed questions on API design, schema, as well as data required to store. I found system design questions are bit high level instead of depth. I think should have detail design of API, schema and some additional flavors."See full answer
"I tried solving this question and here is the recorded video for the entire solution - https://youtu.be/G_LIbTp58XA
Feel free to comment here or on the video for further discussion."
Rjj - "I tried solving this question and here is the recorded video for the entire solution - https://youtu.be/G_LIbTp58XA
Feel free to comment here or on the video for further discussion."See full answer
" can we use blomfilters to check existing usernames? and if both are creating at a time, like both are choosing some abcd , here system checks whether user with that name exists or not. so while checking , it will add an entry on redis (example) with this name as key and obtain lock using some distributed lock. , it will lock on that name. (like seat booking in bookmyshow) with some TTL value.
so this check will happen once user enters his interest username and also while submit .. 2 times che"
Gk K. - " can we use blomfilters to check existing usernames? and if both are creating at a time, like both are choosing some abcd , here system checks whether user with that name exists or not. so while checking , it will add an entry on redis (example) with this name as key and obtain lock using some distributed lock. , it will lock on that name. (like seat booking in bookmyshow) with some TTL value.
so this check will happen once user enters his interest username and also while submit .. 2 times che"See full answer
"What about sharding by Real Estate companies that are listing the homes? Because the homes can span zip codes. Then further shard by zip codes?"
Adrian V. - "What about sharding by Real Estate companies that are listing the homes? Because the homes can span zip codes. Then further shard by zip codes?"See full answer
"Functional Requirement
Monitor health, metrics
Alert in case of failure/anomaly
Visualize the live health
Analyse machines on periodic basis
Non Functional
Should not exert load on machines
low latency
Highly scalable
Logs/Metrics Gathering
push - machine gather and send to system and low priority background thread along with batching
pull - heart beat check (for offline machines)
Processing
Real time streaming using Kafka/kinesis + Flink
TimeSeries database for stor"
Sourabh G. - "Functional Requirement
Monitor health, metrics
Alert in case of failure/anomaly
Visualize the live health
Analyse machines on periodic basis
Non Functional
Should not exert load on machines
low latency
Highly scalable
Logs/Metrics Gathering
push - machine gather and send to system and low priority background thread along with batching
pull - heart beat check (for offline machines)
Processing
Real time streaming using Kafka/kinesis + Flink
TimeSeries database for stor"See full answer
"Describe basics of web browser and http request. Then go into Google's search engine. For follow-up questions, talked about http vs https (encryption), sql vs nosql data store, s3 blob storage, encryption policies, retention policies."
Faraz A. - "Describe basics of web browser and http request. Then go into Google's search engine. For follow-up questions, talked about http vs https (encryption), sql vs nosql data store, s3 blob storage, encryption policies, retention policies."See full answer
"I did a design similar to one of the videos you have about designing youtube, but feedback said that I failed on discussions on key details of the design, also failed on the gathering requirements phase."
Emilio T. - "I did a design similar to one of the videos you have about designing youtube, but feedback said that I failed on discussions on key details of the design, also failed on the gathering requirements phase."See full answer