I feel overall ok but if you want to know opportunities to improve then I think system design diagram was not well articulated. You started very well with reqs but then got lost on what exactly to explain in how much details on technical design. You struggled in communicating and interviewer was way too nice, she should have brought you back on key design considerations. Please don’t take it negatively. Continue the great videos.
Overall your videos are great. However this particular video is not up to your own standards. If we look at the architecture diagram as an end result - it is a loose collection of blocks with no flow(s). Perhaps you could have identified an MVP & proceeded to build on that.
Thanks for creating this video... It is really great to see a `non edited` version of a system design interview. It clearly shows the flow of thought during a live interview, and the expectations of the interviewers. Kindly keep sharing these videos.. :)
16:38 On one hand, the size per video sounds a bit exaggerated, I'd say that 20 minutes 1080P can fit less than 1GB in reasonably high quality compression. On the other, wouldn't 100M users * 20GB equal to around 2 Exabytes? I think the million (users) factor was forgotten when applying the calculation.
Imp pointes of adaptive bit rate and inverted index is v well described, ofcourse the back of the envelope calculation can be tough for such a huge system but i think there is flaw in the estimation of 2TB IMO 200 Million * 20GB should be around 2Exabytes range. Overall v informative video and thanks to the uploader.
Great details and clear separations b/w requirement scoping, api/interface design and different microservices designs. I've viewed couple of other videos of yours and all are very detailed and useful. So thank you very much for sharing your experience and knowledge here. When you get chance, would you mind making a video about partitioning only. Thanks.
capacity calculations help to choose an architecture that would allow designing a flexible system. Should not express reluctance to do this..it is an important part of the system design
I'm not understanding the second partition strategy. If a video has multiple keywords and we partition the database by keywords, wouldn't the same video be duplicated in multiple partitions?
The content is very useful, thanks for sharing. I think it would be better if the candidate interacts with the interviewer more and look for feedback. Here it seems like the candidate are deciding how much detail to go into, rather than the interviewer guiding you to what he wants to dig into further.
Thanks for the comment. There are different types of interviewers. You should check other mock interview videos in my channel. The style of interview will be different in those videos.
I will add separate video for designing stock exchange however it would be hard to do in this way if I don't want interviewer to tell me which question he wants to ask as in this video I didn't prepare for system design of CZcams in advance.
Nice video. Gives clarity on how to approach the question on real interview. Would be great to know feedback from the interviewers perspective, like what went well and what could have been done better to give the complete picture.
First and foremost, thank you very much for this great video, which shared how the real time system design interview, here I have several questions(feel free to discuss if anything is not correct). 1. I didn't see the system APIs listed, for example, uploadVideo(userToken, videoTitle, keyword), is okay to not list those? 2. From the video, there are several components on the high level design, but end up with 2 components(upload video, search video), I know part of the reason is some in depth discussion on those. but should the interviewee do some clock management? for example, at most 5 minutes per component in order to finish all microservices?
Thanks for the comment. 1. It depends from interviewer to interviewer. You can ask the interviewer whether they are interested in APIs or not. 2. Usually you cannot dig into each and every component in detail in a 45 min video. So usually what interviewers do is that after a high-level design, they only ask the candidate to dig deep in one or two components.
Thanks for the Informative Video! Though the estimation part might be wrong.. 100M of active users uploading 20Gi per week will make it 2 Exabytes of video upload per week. Correct me if I am wrong?
Great video. I noticed you spent too much time on upload service, and interviewer did not ask enough questions there. Eg. Video files are very large in your estimation. Uploading them by browser can take long time. What happens if there are timeouts /failures ? Does user need to reupload entire video? Is there any fault tolerance or resilience there?
Hello sir, As Netflix uses sftp and give us link but how youtube uploads work if the video is large like 500mb or 1gb. Is the upload happens directly on frontend on s3 then link is given to backend or http call is made to backend and wait for its upload
@@cbest3678 I think a rule of thumb is 3 copies (1 original 2 additional). Not too much (image 100 fold replication factor overhead) not too little (no replication).
It is very nice. i started to prepate system design interivew, by seeing the parking lot video, i learn de-scope the requirement. By seeing this video, how the interivew will happen. I deviated lot. Now i got good idea. If any chance, can you put some video related to partitions.
Thanks for making this type of video. Very helpful. I agree it’s good to highlight the need to satisfy interviewer’s requests such as back of envelope calcs. I wonder if explicitly trying to explain why you don’t want to spend time on it is a good idea. Many interviewers will jump at anything you don’t want to do to probe if it’s a weakness? So maybe you caused it ;) As for CZcams video calcs, I think looking at bit rates of 1080p audio plus video would be a better way to start. Assume 256kbit audio and 8mbit video and go from bits to bytes for an hour, then divide by 4. I come up with roughly 1 GBper 15min video. Then apply some factor to it to count for all other resolutions/codecs. Say, 2X = 2Gn to store. Or round up to 5GB to account for cases that sometimes videos are longer and 4K resolution So I think 100 GB is too high for 15min on average.
This is not a system design. This is like knowing a design already and just stating it. A system design should comprise of discussion about pros and cons of each technical choice one makes and then evolve a suitable design for specified functional and non functional requirements.
Usually in interviews there won't by much time to analyze all options with pros and cons, isn't it? People explain what they think is optimal solution and why. Discussion on all options happen at work , but not during interviews, my 2c.
Thanks again! Would request you to post a video about how to go about Sys design on where real time processing is reqd. Example: Top K searched items in last 1 min or Ad click aggregation for last 1 min...
Hi, Thanks for mock interview! for the youtube design, there is a another feature that we may need to consider which is the video deduplication, do you happen to know which technology to method that we can use to check the duplicate videos?
Nice Video. One thing I would like to ask about the set up, How did you open the google drawing, I didn't find the options to open it as a document. In my case it is opening up as a popup.
Will implementing Global Secondary index on tags/terms keep the video data still in it's original partition, or will it move around so the same terms are in 1 partition?
This is discussed in more details in the course about what are different types of indexes and how are they created. In global secondary index, the data is copied to a single partition for the index which may or may not be same as the partition by hash of video ID.
@@ThinkSoftware the data reference here is just the index key and not the whole record right? Assuming these records are partition by a primary key like videoID, moving the actual record for global secondary key would break the primary distribution.
if there were less advertisments, the experience on this video would have been really better. I believe inserting advertisements after each 5 mins is painful to watch.
Please let me know if you find this mock system design interview useful. Thanks.
I feel overall ok but if you want to know opportunities to improve then I think system design diagram was not well articulated. You started very well with reqs but then got lost on what exactly to explain in how much details on technical design. You struggled in communicating and interviewer was way too nice, she should have brought you back on key design considerations. Please don’t take it negatively. Continue the great videos.
Thanks for the comment
Overall your videos are great. However this particular video is not up to your own standards. If we look at the architecture diagram as an end result - it is a loose collection of blocks with no flow(s). Perhaps you could have identified an MVP & proceeded to build on that.
@@imran2utube thanks for the comment
Thanks for creating this video...
It is really great to see a `non edited` version of a system design interview.
It clearly shows the flow of thought during a live interview, and the expectations of the interviewers.
Kindly keep sharing these videos.. :)
Thanks for the comment 🙂
16:38
On one hand, the size per video sounds a bit exaggerated, I'd say that 20 minutes 1080P can fit less than 1GB in reasonably high quality compression.
On the other, wouldn't 100M users * 20GB equal to around 2 Exabytes? I think the million (users) factor was forgotten when applying the calculation.
Thanks for the comment.
Imp pointes of adaptive bit rate and inverted index is v well described, ofcourse the back of the envelope calculation can be tough for such a huge system but i think there is flaw in the estimation of 2TB IMO 200 Million * 20GB should be around 2Exabytes range. Overall v informative video and thanks to the uploader.
Thanks for the comment 🙂
Great details and clear separations b/w requirement scoping, api/interface design and different microservices designs. I've viewed couple of other videos of yours and all are very detailed and useful. So thank you very much for sharing your experience and knowledge here. When you get chance, would you mind making a video about partitioning only. Thanks.
Thanks. I plan to make a video on that soon as the time permit.
capacity calculations help to choose an architecture that would allow designing a flexible system. Should not express reluctance to do this..it is an important part of the system design
I have answered this in another video of mine. Thanks for the comment though.
Thank you sir
.this is really grt video and helps to get the real time experience.
Thanks for the comment :)
I'm not understanding the second partition strategy. If a video has multiple keywords and we partition the database by keywords, wouldn't the same video be duplicated in multiple partitions?
Great format, highly appreciate the unedited version.
Thanks for the comment 🙂
nice content plz continue, Could you create a video on search service part elaborately,
Thanks for the comment 🙂. Will look into it.
The content is very useful, thanks for sharing. I think it would be better if the candidate interacts with the interviewer more and look for feedback. Here it seems like the candidate are deciding how much detail to go into, rather than the interviewer guiding you to what he wants to dig into further.
Thanks for the comment. There are different types of interviewers. You should check other mock interview videos in my channel. The style of interview will be different in those videos.
This is great, you should do more in this style! Could you do one for designing a stock exchange?
I will add separate video for designing stock exchange however it would be hard to do in this way if I don't want interviewer to tell me which question he wants to ask as in this video I didn't prepare for system design of CZcams in advance.
Nice video. Gives clarity on how to approach the question on real interview. Would be great to know feedback from the interviewers perspective, like what went well and what could have been done better to give the complete picture.
Thanks for the comment 🙂. What do you think about what went well and what could have been better?
First and foremost, thank you very much for this great video, which shared how the real time system design interview, here I have several questions(feel free to discuss if anything is not correct).
1. I didn't see the system APIs listed, for example, uploadVideo(userToken, videoTitle, keyword), is okay to not list those?
2. From the video, there are several components on the high level design, but end up with 2 components(upload video, search video), I know part of the reason is some in depth discussion on those. but should the interviewee do some clock management? for example, at most 5 minutes per component in order to finish all microservices?
Thanks for the comment.
1. It depends from interviewer to interviewer. You can ask the interviewer whether they are interested in APIs or not.
2. Usually you cannot dig into each and every component in detail in a 45 min video. So usually what interviewers do is that after a high-level design, they only ask the candidate to dig deep in one or two components.
Thanks for the Informative Video! Though the estimation part might be wrong.. 100M of active users uploading 20Gi per week will make it 2 Exabytes of video upload per week. Correct me if I am wrong?
Yes it would be 100M x 20GB per week of upload x (replication factor for durability)
@@ThinkSoftware I would suggest to add a callout caption that this was an error as to not confuse other viewers.
Isnt weekly data uploaded 100 million * 20 GB rather than 100 * 20GB, which should make it 2 million TB ?
Yes correct.
Great video. I noticed you spent too much time on upload service, and interviewer did not ask enough questions there. Eg. Video files are very large in your estimation. Uploading them by browser can take long time. What happens if there are timeouts /failures ? Does user need to reupload entire video? Is there any fault tolerance or resilience there?
Thanks for the comment
Thanks!! Gave real life interview feeling n knowledge!
Thanks for the comment 🙂. You should also check the other video where I am taking candidate interview.
Think Software yes done and liked on LC too 😀
This is really great, Thanks for the video.
Thanks for the comment 🙂
Hello sir,
As Netflix uses sftp and give us link but how youtube uploads work if the video is large like 500mb or 1gb. Is the upload happens directly on frontend on s3 then link is given to backend or http call is made to backend and wait for its upload
Check upload by part
During back of the envelope calculations it's important to consider the replication factor as well.
Thanks for the comment :)
and how would you decide those replication factor ?
@@cbest3678 I think a rule of thumb is 3 copies (1 original 2 additional). Not too much (image 100 fold replication factor overhead) not too little (no replication).
It is very nice. i started to prepate system design interivew, by seeing the parking lot video, i learn de-scope the requirement. By seeing this video, how the interivew will happen. I deviated lot. Now i got good idea. If any chance, can you put some video related to partitions.
Thanks for the comment 🙂. You should check my other videos and the course for this.
Thanks for making this type of video. Very helpful. I agree it’s good to highlight the need to satisfy interviewer’s requests such as back of envelope calcs. I wonder if explicitly trying to explain why you don’t want to spend time on it is a good idea. Many interviewers will jump at anything you don’t want to do to probe if it’s a weakness? So maybe you caused it ;)
As for CZcams video calcs, I think looking at bit rates of 1080p audio plus video would be a better way to start. Assume 256kbit audio and 8mbit video and go from bits to bytes for an hour, then divide by 4. I come up with roughly 1 GBper 15min video. Then apply some factor to it to count for all other resolutions/codecs. Say, 2X = 2Gn to store. Or round up to 5GB to account for cases that sometimes videos are longer and 4K resolution
So I think 100 GB is too high for 15min on average.
Thanks for the comment 🙂.
It was good but I felt there could have been more cross questions from the interviewer. Just a feedback
Yes..you should check czcams.com/video/DCJMassFVoc/video.html where I am interviewing the candidate.
This is not a system design. This is like knowing a design already and just stating it. A system design should comprise of discussion about pros and cons of each technical choice one makes and then evolve a suitable design for specified functional and non functional requirements.
Thanks for the comment
Usually in interviews there won't by much time to analyze all options with pros and cons, isn't it? People explain what they think is optimal solution and why. Discussion on all options happen at work , but not during interviews, my 2c.
What kind of database we are using in upload service ?
Thanks for the question. I will upload a video for this discussion.
Very good
Thanks 🙂
Thanks again! Would request you to post a video about how to go about Sys design on where real time processing is reqd. Example:
Top K searched items in last 1 min or Ad click aggregation for last 1 min...
Thanks for the comment 🙂. Noted your request.
Hi, Thanks for mock interview! for the youtube design, there is a another feature that we may need to consider which is the video deduplication, do you happen to know which technology to method that we can use to check the duplicate videos?
Thanks for the comment. I will cover the question in my incoming book 🙂
Thanks for the mock session ! Can you make a video on designing online shopping system like amazon !
Will do soon. Thanks
Chunked storage is also useful for random seek and thumbnail generation.
Thanks for the comment :)
how come 20 mins of video can be of size 10-20 GB? is it realistic?
Yes. When I make 4K videos at best resolution,.
Great video sir, please make System design video of MMT, Make my Trip please....
Will do thanks.
Great content. What level do you think this system design interview corresponds to, E5/E6?
Thanks for the comment. I will let you guys figure out :)
Nice Video. One thing I would like to ask about the set up, How did you open the google drawing, I didn't find the options to open it as a document. In my case it is opening up as a popup.
Thanks for the comment 🙂. You might have to check your settings.
what are the consequences if any of having a system that has microsystems (uber search and payment service) that have different types of consistency?
Depends on how those microservices depend on each other.
Will implementing Global Secondary index on tags/terms keep the video data still in it's original partition, or will it move around so the same terms are in 1 partition?
This is discussed in more details in the course about what are different types of indexes and how are they created. In global secondary index, the data is copied to a single partition for the index which may or may not be same as the partition by hash of video ID.
@@ThinkSoftware the data reference here is just the index key and not the whole record right? Assuming these records are partition by a primary key like videoID, moving the actual record for global secondary key would break the primary distribution.
thank you. not bad. but you didn't reach a full technical solution or put it into a way that is easily understandable at the end.
Thanks for the comment.
if there were less advertisments, the experience on this video would have been really better. I believe inserting advertisements after each 5 mins is painful to watch.
Thanks for the comment. There were more ads in this video as compared to other videos. I have reduced the frequency of ads.
You don’t consider scale important? .. also you were not letting the interviewer talk or confirm. You were in a fast train. Not my style
Thanks for the comment.