Design Youtube - System Design Interview

  Рет қаралды 371,375

NeetCode

NeetCode

Күн бұрын

Пікірлер: 229
@NeetCode
@NeetCode 2 жыл бұрын
Let me know if you guys want more system design content - I've been wanting to do more and have a lot of ideas, so hopefully you all are interested! Let me know, and feel free to drop a like 👍 =) 🚀 neetcode.io/ - Get lifetime access to every course I ever create!
@criostasis
@criostasis 2 жыл бұрын
Design a system that pushes notifications with image and/or video to a mobile device using local storage only. No AWS or other external servers allowed. Once you have that done, let Eufy know, bc they f’d up big time 😂
@jondogerman4195
@jondogerman4195 2 жыл бұрын
Thanks for the video! Could you recommend any good resources for learning System Design at a level like this? Thanks again
@nikhil_a01
@nikhil_a01 2 жыл бұрын
More systems design content sounds great and if you want to do it, then you should!
@wondays654
@wondays654 2 жыл бұрын
Commented this on an old video but the api for neetcode is not working. I am unable to sign in with both Google and github.
@AurelianoShowsTheWorld
@AurelianoShowsTheWorld 2 жыл бұрын
GIVE ME MORE
@aelam02
@aelam02 2 жыл бұрын
Neetcode! I've been applying to jobs for 7 months now since my graduation and struggled to get interviews as my resume was fairly unimpressive. I kept telling myself that I just needed to make sure that I killed any interview I DID get and your channel is what helped me to do just that. Got an offer today that blew my expectations out of the water. Thanks for all you do for all of us and keep it up!
@NeetCode
@NeetCode 2 жыл бұрын
Congratulations, I'm really happy for you! 🎉
@okami-z1b
@okami-z1b Жыл бұрын
are u fired
@VY-zt3ph
@VY-zt3ph Жыл бұрын
Hello Alex, what company you got the offer from??
@aelam02
@aelam02 Жыл бұрын
@@VY-zt3ph Infineon Technologies, a German semiconductor company.
@VY-zt3ph
@VY-zt3ph Жыл бұрын
@@aelam02 u live in Germany brother??
@Bruce4wayne0
@Bruce4wayne0 2 жыл бұрын
Thank you Mr beast for system design 😊
@xanderthunder69
@xanderthunder69 2 жыл бұрын
Awesome Video! Thank you for going into detail and explaining what every part of an example systems architecture is accomplishing and why it's useful. One little nitpick -> (22:00 ) you say KZbin is using TCP which is (for quite some time now) not true anymore. If you look closely at the "client-protocol" used to send the video/audio data (you show that at 18:29 ) you will see that KZbin is using QUIC (HTTP3) which is built on top of UDP instead of TCP. It includes most of the functionality of TCP based HTTP protocol but is technically not using TCP. Just wanted to point that out in case anyone was wondering... Great video though, keep up the neet work!
@victorz7748
@victorz7748 9 ай бұрын
First video recently that I haven't skipped for one second. Great work!
@muzamilahmed3127
@muzamilahmed3127 Жыл бұрын
I think you've missed most points in the watching part. User can change the resolution for that we need multiple videos. Also, different OS will have different file formats like iOS, and android. so if there are 4 resolutions with 3 formats, 4*3=12. Each video should be stored as 12 different videos. Also, we need to store videos in chunks in the cloud storage. We will use main Dash File which contains all the video's information like chunk number, url to that chunk. So, if user skips to the 4th chunk, we'll check the dash file to get the url for the 4th chunk and will make the request for that particular chunk having specific resolution and format.
@j8ahmed
@j8ahmed Жыл бұрын
Bro! Genuinely such eye opening content. Thank you! I am no where near solving problems like this yet but it's really helpful getting exposed to all the realistic considerations involved in designing large scale systems.
@jessicakoch2331
@jessicakoch2331 10 ай бұрын
seriously your explanations of complex topics are amazing, i’m so glad i found you! I was going cross eyed looking at graphs on Leetcode and their explanations were not helpful at all. Officially subscribed, thank you so so so much!
@varshasingh1299
@varshasingh1299 2 жыл бұрын
We want more system design video...I love all your videos ❤️
@shuysnoopy
@shuysnoopy Жыл бұрын
These types of videos are such a blessings since it goes deep into a particular usecase or several design descisions which would be rather difficult to gain experience. I can try to learn as many frameworks as possible, do as many projects as possible, but if I dont have such real-world (or close to real-world) lessons like these I might be making mistakes that aren't so visible to the naked eyes.
@themayhemera3046
@themayhemera3046 6 ай бұрын
💯
@jasonswift7468
@jasonswift7468 2 жыл бұрын
Yes, we need it. Hope to have other content appear in the course, such as machine learning, data analysis.
@sameer_sah
@sameer_sah Жыл бұрын
2:14- Reliablity is defined as ability of a system to work as per specification inspite of extenal (high loads) or internal (faults) factors. If our non-functional requirement is videos to not disappear after upload , we are essentially looking for the system to be durable (not reliable).
@MaxFung
@MaxFung 10 ай бұрын
good point
@levynaibei7744
@levynaibei7744 Ай бұрын
Reliability entails building software that consistently delivers correct results.. your point i think concerns performance not reliabilty
@imrajsingh8983
@imrajsingh8983 6 ай бұрын
such beauty looking at all the different high level trade offs and considerations going into designing an application that I have been using daily for the past 15 years
@bumq5514
@bumq5514 8 ай бұрын
Getting into system design and one of the best vids I've seen so far, great in depth detail
@draugno7
@draugno7 4 ай бұрын
You were born for this really. Somehow this complex system explanation holds my attention and usually none do
@eswarprasad9773
@eswarprasad9773 Жыл бұрын
The fact that YT isn’t streaming a data source in complete but making HTTP requests to load chunks of video/audio and taping them at the client end BLEW MY MIND !!! my whole life seems like a lie , lol Great video, Thanks mate
@boredbytrash
@boredbytrash Ай бұрын
Read about HLS (http live streaming)
@NidhishAbraham
@NidhishAbraham Ай бұрын
Even the Internet handles data in chunks through a concept called packetization, which is a fundamental principle of data transmission in modern networks.
@johnnycortez4016
@johnnycortez4016 2 ай бұрын
I have a final interview for swe full time coming up in 30 mins. I was told it’s going to have a system design question most likely. I don’t know anything about system design, but after watching this video I feel way more confident now. You explain things so well. You’re the best man.
@adairbernal5502
@adairbernal5502 16 күн бұрын
Como te fue bro
@sina7601
@sina7601 Жыл бұрын
You can easily have a user service and store all of the users information including the uploader there, hence you don't need to have it stored alongside the video but just have a userId as reference. This way you have decoupled your systems and follow a more domain driven design and if the user data changes you don't need to go through 1000 of videos just to update a profile picture. At the beginning of every system design interview/document you'd better write down your domains in order to see what are the different services you need before jumping into the design.
@pramalvi
@pramalvi Жыл бұрын
Yes, it can be cached as well.
@MaxFung
@MaxFung 10 ай бұрын
i would prefer a user system as well
@shanecoleman2937
@shanecoleman2937 2 жыл бұрын
For things like the user profile photo, I wouldn't think you'd store that in each video document. The document should contain a reference to the profile photo. Each user can only have one profile photo, so this is fine.
@saralightbourne
@saralightbourne Жыл бұрын
hasn't the author said that? profile picture is stored in S3, the DB just references it🤔
@akultyagi2818
@akultyagi2818 2 жыл бұрын
First i thought why is MrBeast is teaching system design lmaooo
@69k_gold
@69k_gold 9 ай бұрын
Although normalisation isn't expected in NoSQL, it's expected for you to normalize at a collection level in document databases like Mongo. It just makes it easy to deal with points you mentioned, like profile pictures and what not
@biro2200
@biro2200 7 ай бұрын
On the profile picture updating async, you could always solve that by referencing a latest.png and then only updating the object store to change latest.png to reference to the newest image and hence the changes would propagate much faster than updating 1000x video documents
@saurabhverma1381
@saurabhverma1381 Жыл бұрын
The only video on youtube which actually assumes that "Design KZbin" is a fresh question that was ever thrown at you in an interview and you followed a top-down approach to present a possible design.
@dmytro-kazarinov
@dmytro-kazarinov Жыл бұрын
You definitely killing it! Love this content!
@wesselbindt7589
@wesselbindt7589 8 ай бұрын
If a video takes 1 minute to encode, a worker can encode about 60*24 = 1500 videos a day. 50 million divided by 1500 is about 35000. You're making the math much more complicated than it needs to be in the section on the encoding workers.
@NullNull-qn2ts
@NullNull-qn2ts 8 ай бұрын
you can scale num of encoding workers based on queue backlog length
@sina7601
@sina7601 Жыл бұрын
Putting huge video files in a queue is too much and very costly and slow but instead you should have it in S3 and then just populate an event to Kafka/RabbitMQ/etc which is consumed by the encoding service that in turn knows it has to fetch video with id: XYZ and start encoding it.
@vyshnavramesh9305
@vyshnavramesh9305 Жыл бұрын
What if the file is fed into a pipeline and split into chunks in the first step and so parallely processed?
@sina7601
@sina7601 Жыл бұрын
@@vyshnavramesh9305 You can utilize multiple threads and splitting them into chunks, however putting video files into a messaging queue is still a bad practice and using a technology for wrong reasons where it doesn't fit. Message brokers are not there to transfer BLOBs.
@mark601
@mark601 Жыл бұрын
For the NoSQL user profile picture topic. Instead updating the picture in every document could it not make sense to store profile picture as a userid.jpg and overwriting this userid.jpg with changes hence the reference always pointing to the same destination and thus never requiring updating of references in multiple documents in case of picture updating?
@JShaker
@JShaker 7 ай бұрын
The justification for using NoSQL was kind of lacking.Relational database do just fine with high read throughput. I don't think it's necessarily a bad choice, I'd say either SQL or NoSQL would be fine.
@Dom-zy1qy
@Dom-zy1qy 6 ай бұрын
16:35 Lesson learned: If you have demonstrated you know your stuff, saying "I don't know" actually makes you seem more competent than trying to sneak past addressing something.
@00jknight
@00jknight Ай бұрын
You can't use UDP in the browser. You can use websockets which are built on TCP
@atNguyen-jg5cp
@atNguyen-jg5cp Жыл бұрын
Awesome video ! Your explaination is easy to understand and it's detailed enough for a video like this. Would be great if you do more videos about system design
@awesomefj
@awesomefj Жыл бұрын
Why dont we skip the first object storage? Like the app server directly adds the video to the queue?
@praezy200
@praezy200 Жыл бұрын
Once a video is encoded and stored in the object storage (encoded), does the original video need to remain on the raw object storage? If it can be removed, then what is the use case of the raw object storage? Can raw object storage be removed from the design such that uploaded videos go directly to the message queue? Also, I thought sharding can only be implemented for NoSQL databases. If SQL databases can implement sharding, then they can also horizontally scale and I don't see a downside to using them over NoSQL databses?
@danielgordos3803
@danielgordos3803 11 ай бұрын
Message queues aren't generally optimised for holding large blobs of binary data like that - a raw video could easily be 1GB+. Also it would probably have to be placed in the queue in a single operation, while object stores usually offer multipart upload. The queue would probably just hold metadata like videoId, timestamp, videoType etc.
@kirillzlobin7135
@kirillzlobin7135 Жыл бұрын
10:34 Why do we need to update all video documents if we just updated user image. User id will still stay the same
@wa_ka_su
@wa_ka_su 2 жыл бұрын
Please more system design content.🙇
@Driver0077
@Driver0077 10 ай бұрын
amazing explanations! thank you so much for your time
@johnyeukhonwong830
@johnyeukhonwong830 Жыл бұрын
Even in sport live streaming, to the end users, they are mostly over TCP. TCP gets your congestion control, error code checking, and guarantee ordering delivery. With live stream, sure it sucks when you are 10 seconds behind or when you see the "10x speed up" or "fuzzy screen" when there is a slow network, but ultimately as a viewer we still want to see most of the live video to be played. The client side can throw error when there is a consistent connection error, or skip ahead when it finds itself way behind. With UDP you really don't get those benefits. TCP reusing connection also helps. In practice, almost no one will use udp. There are other proprietary protocols out there, but most of them depend on tcp.
@prachidhingra2137
@prachidhingra2137 Ай бұрын
21:55 can we use web sockets instead of TCP to fetch real time data from S3?
@aniketnegi2642
@aniketnegi2642 19 күн бұрын
don't really see the point of using websockets in this case and it's harder to scale websockets as well
@S4ND1X
@S4ND1X 11 ай бұрын
Hey there! Thanks for the awesome video, just one question, wouldn't be better to send to the queue, encode and then store, so we only store the encoded video instead of the raw footage? At least in this case where we do not need the raw video anytime after
@lordsarcastic
@lordsarcastic 2 ай бұрын
Durability, my friend.
@primetimetran
@primetimetran 2 жыл бұрын
Hi Neetcode. Thank you for your work. Would you mind sharing/telling us what whiteboarding app you use please? Thank you!
@nazramirez
@nazramirez Жыл бұрын
i was abt to ask same thing! Great vid!
@auroshisray9140
@auroshisray9140 Жыл бұрын
Loved the conciseness of the video
@SilentOvertaker
@SilentOvertaker 2 жыл бұрын
At split second I thought that mr Beast is actually a software engineer
@ThehumbleIndiankitchen-cc8lo
@ThehumbleIndiankitchen-cc8lo 5 ай бұрын
FYI - Vitess is also used by Slack. Great throughput and amazing latency!
@grcdeepak1
@grcdeepak1 Жыл бұрын
What tool/software do you use for writing/drawing in your videos?
@zachyang1041
@zachyang1041 Жыл бұрын
this is awesome!! btw, what app/website are you using to write this notes?
@SnehaSingh-ts7oi
@SnehaSingh-ts7oi 7 ай бұрын
Since we have to favor availability over consistency, should we use some other database like Cassandra or DynamoDB than MongoDB?
@LeetDroid1
@LeetDroid1 Жыл бұрын
Hi NC, please what tools do you use for making your videos? Hardware and Software tools
@kirillzlobin7135
@kirillzlobin7135 Жыл бұрын
Very helpful. Interesting details about KZbin using MySQL with Vitess
@antonchov736
@antonchov736 7 ай бұрын
Thx bro, have only few hours before SD interview, vary usefull)
@PM-gy1yy
@PM-gy1yy 25 күн бұрын
How did it go
@CookieCurls
@CookieCurls Жыл бұрын
There’s a lot of issues in this video. Durability instead of reliability, no explanation for how videos get from the object store to the CDN, NoSQL not being the best option for metadata, caching videos at the app server being a bad idea in general when you have a CDN, apparently saving profile picture URLs in the video metadata instead of just making a separate request for user data, etc.
@aniketnegi2642
@aniketnegi2642 19 күн бұрын
the profile picture thing kinda ticked me off too. it didn't make sense to me. stopped watching the video after this because it rather left me confused. we could have the user id stored with the video entry, and then use that user id to get all the user related information, including the profile picture instead of updating it for all the video records.
@21centuryschizoid
@21centuryschizoid 5 ай бұрын
Hi thanks for the content. One question if in the real interview you where are exactly this question and the answer was the content of the video, how would have the candidate do on the interview?
@muzamilahmed3127
@muzamilahmed3127 Жыл бұрын
10:57 what if we store the only video metadata in the nosql while other data in sql?
@yashmundada2483
@yashmundada2483 4 ай бұрын
whats the point of having two object stores - one for the raw file and one for the encoded file?
@omkarbhosale9299
@omkarbhosale9299 4 ай бұрын
Hey can’t we use two db here ? to tackle the problem where you said if it you upload a video and you don’t get to see the newest video . I think we can use two db here nosql and sql , sql we can use for only reads and implement caching on the sql db
@sarvajitsankar3276
@sarvajitsankar3276 2 жыл бұрын
@neetcode, any plans of launching pricing based on PPP so that it becomes consecutively affordable across all countries as well apart from US? Tried to send mail as well for the same, got no response
@NeetCode
@NeetCode 2 жыл бұрын
Sorry, I might've missed your email - feel free to send it again.
@sarathchandrareddy3033
@sarathchandrareddy3033 2 жыл бұрын
Yes. We really like your videos and content. But purchasing power difference is only making me to stop buying the pro. As a just grad student it's Ton of money other countries.
@NeetCode
@NeetCode 2 жыл бұрын
@@sarathchandrareddy3033 Feel free to email me!
@whispersofthering
@whispersofthering 2 жыл бұрын
@@NeetCode Here in India, its a significant amount of money when converted into Indian Rupees. I really like your videos.
@LogicTherapy
@LogicTherapy 6 ай бұрын
Why would you use in-memory over distributed caching for your LRO? I can't wrap my head around that choice.
@Ogrizkov
@Ogrizkov Жыл бұрын
Thanks for amazing design throughout
@haidernaqvi87
@haidernaqvi87 Жыл бұрын
11:00 if a user updates his profile picture you don’t need to update it anywhere is the video metadata iff you have chose to name the profile picture as [uid].jpg in this manner you will always have the current profile picture
@VY-zt3ph
@VY-zt3ph Жыл бұрын
Hello Neet. I have a question. in the object oriented design interview course of yours do you have any roadmap planned like what future case studies you will be covering??
@amirsasson10
@amirsasson10 Жыл бұрын
hi, Thanks, amazing video. seems like the they writing into the DB should be done only (or also) after the video is ready for watch - that would be after the encoder finished. no?
@connormatza5873
@connormatza5873 3 ай бұрын
Optimization: Instead of updating the video data to include new references to new profile pictures, couldn't we theoretically use object versioning and re upload the same key with the new pfp, maybe potential consistency issues there , but are we that worried?
@pinecedar180
@pinecedar180 Жыл бұрын
System design interviews seem to be totally phony. Looks like they might have originated at Google or something and then all other companies started copying this (humans arent smart so they just go with the flow; thats how human culture works). No one ever does system design in their software engineering jobs. There's always teams of people doing this for months. Whatever we can come up in 30 minutes is absolutely useless (was KZbin really designed in 30 minutes by a single person? no), so whats the point of testing something that is useless and something that we will never use in our real jobs? It makes ZERO sense. If something requires some kind of GRE/SAT preparation for something is not practical knowledge and people are trying to "train" for something that is just not used in their real jobs, thats another red flag. If they're trying to test intelligence or problem solving, they should stick to those kinds of questions. This system design stuff is just total BS.
@AtTheLees
@AtTheLees 9 ай бұрын
It's a fun conversation starter though
@69k_gold
@69k_gold 9 ай бұрын
Considering they get most of the information from previous assessments, problem solving and technical rounds, this is the place where one can have a true SWE to SWE conversation. What you mentioned about how products are being ideated over weeks or months is true, and that's the point of system design interviews. Your idea will never become an actual product, but rather, this is a good way to test the real-time problem solving ability of a candidate. In theory, there are no wrong answers in system design interviews. Your solution might be flawless or it could have different flaws, but just the fact that you're able to adjust to changing micro-requirements and continue building is a good sign of a promising candidate.
@TheMainManNorthOfEquator
@TheMainManNorthOfEquator 7 ай бұрын
You cant design anything in 30 mins it is way to check how do people think and how much they can provide context and how they deal with trade off
@CWaldman
@CWaldman 7 ай бұрын
It's not about coming up with the ideal design. It's more about seeing if the interviewer understands various concepts and technologies + can communicate them well.
@vhchoang
@vhchoang 6 ай бұрын
It's definitely a skill you must acquire outside of real life software engineering. Almost like studying for an exam
@Souljacker7
@Souljacker7 2 жыл бұрын
You are a great teacher. Thanks!
@saranyavivekanandan9044
@saranyavivekanandan9044 Жыл бұрын
Hi, thank you so much for sharing amazing contents!
@pierinazaramella967
@pierinazaramella967 Жыл бұрын
Hello! Thanks for the videos, they are very helpful and very good explanations and questions. 11:04, you talk about a load balancer, this was confusing for me, because the diagram is more for architectural design than application design (microservices, bff, kubernetes), is the LB mentioned as a BFF that manages authentication and requests, or is Kubernetes LB more part of microservices? Thank you!
@h.cazador
@h.cazador Жыл бұрын
Great video. I like the high level stuff.
@iqbalibrahim4713
@iqbalibrahim4713 Жыл бұрын
so queue is a place for raw videos waiting their turn to be encoded by the encoding service?
@rajnikam5101
@rajnikam5101 4 ай бұрын
I made a observation that when you reply to a comment on KZbin. By default the person's name is added in input and it is highlighted. But when we type the persons name it is not highlighted and considered as text. Does someone know how this functionality works. P.S - I'm trying this things out on KZbin phone app.
@asher4312
@asher4312 6 ай бұрын
I have a question people.. Why do we have to update the videos collection when the user updates a profile picture? Since the videos are referenced with the user via the id..and if the user updates their profile picture, only that user document should be updated? And since the video collection has the user via the id..and the next time a request for a video goes in, it will fetch the user via id and the updated profile picture will already be there in the users document. Why have you updated all the videos documents of that user asynchronously.. isn't this a bad practice..can anyone explain to me..I think I am missing something here..
@juliancodes
@juliancodes 9 ай бұрын
Awesome content ❤
@mahendranath2504
@mahendranath2504 Жыл бұрын
nice thank you so much, thanks for sharing the knowledge
@AlThePal78
@AlThePal78 3 ай бұрын
with the cache can you store references vs the video ?
@xingyanglan6836
@xingyanglan6836 Жыл бұрын
Why no arrows from metadata to encoded object stores? How metadata go to CDN?
@Hjksivgx
@Hjksivgx Жыл бұрын
Can we ask for more of a system design stuff from you? Please!
@suman_achary_vlogs
@suman_achary_vlogs 2 жыл бұрын
First comment, lots of love and respect. I solved lots of questions just from your explanations.
@PiyaliDas-e8u
@PiyaliDas-e8u Жыл бұрын
@NeetCode Thank you so much for such great contents! Could you please create a system design video on how to design a feature flag/toggle system similar to CloudBees or GitLab ones.
@muhammadsarimmehdi
@muhammadsarimmehdi Жыл бұрын
Why are you using noSQL and not SQL?
@Sebastian-zs8cp
@Sebastian-zs8cp Жыл бұрын
what books do I need to read for this any suggestions? what exactly is the name of the topic i need to research?
@satyamgupta3456
@satyamgupta3456 6 ай бұрын
How does youtube handle the quality control of a video?
@dab
@dab Жыл бұрын
The one thing that stumps me that gets asked all the time are things about updating the table of videos needed to be processed without losing the queue of videos that are to be processed. Any resources about improving the reliability of the encoding processor pipeline?
@pramalvi
@pramalvi Жыл бұрын
You can use distributed message queue with persistence feature like Apache Kafka.
@thndesmondsaid
@thndesmondsaid Жыл бұрын
Interesting, why does youtube send chunks of data via HTTP requests instead of using streaming?
@thndesmondsaid
@thndesmondsaid Жыл бұрын
oh wait just got a bit farther, and you're saying sending the chunks via HTTP is streaming. I see. I thought streaming required using a different protocol.
@NidhishAbraham
@NidhishAbraham Ай бұрын
KZbin employs HTTP-based Adaptive Streaming technologies like DASH (Dynamic Adaptive Streaming over HTTP) and HLS (HTTP Live Streaming) rather than traditional streaming protocols !
@pavelastraukh9905
@pavelastraukh9905 Жыл бұрын
Is it really that better to use NoSQL and have a need to update potentially unlimitted number of records instead of having one user record and update it? I don't see how it is improvement over using relational DB. Yeah, it avoids join but I don't think that it is a big performance hit.
@CookieCurls
@CookieCurls Жыл бұрын
Yes NoSQL is a bad idea here. The joins are better to get all user data when needed, rewrites are actually somewhat frequent if you actually see how users make immediate changes multiple times on upload, the metadata content fields are going to constantly change and NoSQL could be a very expensive mass update vs SQL, storing profile pic urls in the video metadata is strange when a join could very easily solve this issue, it’s also potentially a many to many relationship… SQL just better here.
@redrickTMN
@redrickTMN 2 жыл бұрын
Great video, thank you!
@sgwcollinss
@sgwcollinss Жыл бұрын
Should you in a design interview cover how many app servers you might need based on the DAU
@yasin_bhojani
@yasin_bhojani 2 жыл бұрын
Great Video!
@1030Celtic
@1030Celtic 3 ай бұрын
can you explain the workers math?
@SamyarBorder
@SamyarBorder Жыл бұрын
Great video 👌
@dibll
@dibll 2 жыл бұрын
Neetcode - why we decided to use NOSQL for storing metadata rather than a relational DB and also how can we handle the use case you briefly touched upon where we don't want to upload the data again in case of a network partition during file upload?
@vyshnavramesh9305
@vyshnavramesh9305 Жыл бұрын
Nosql used since uploads are frequent mandating sharding. But I don't think Mongodb is suitable to KZbin since it isn't good for Availability. There is a downtime when the master is down to elect the next master from slaves. I would prefer Cassandra due to its high availability (leaderless). But Cassandra isn't good when there are read queries on multiple attributes. Hence I would couple Cassandra with Elasticsearch inturn bringing in Fuzzysearch. If it were Netflix, I would have sticked onto a simple Mysql since writes are not frequent and provides enough querying. If fuzzy search required, I would still couple it with ES. (Would never use an ES as a primary db since unreliable).
@tannerlin6849
@tannerlin6849 2 жыл бұрын
Finally an english tutorial
@alexandremarangonicosta
@alexandremarangonicosta 8 ай бұрын
What's up with this NoSQL scales and SQL doesn't scale? I know those interviews are weird, but I can't say something like that even if that's required to pass...
@dibll
@dibll 2 жыл бұрын
Could you pls design a notification system and ad click event generation system.
@lucky-bj9de
@lucky-bj9de 2 жыл бұрын
More sys design! Thanks!
@alextech4881
@alextech4881 2 жыл бұрын
ce faci frt
@lucky-bj9de
@lucky-bj9de 2 жыл бұрын
Stau tu
@praveen-g3d1t
@praveen-g3d1t 3 ай бұрын
nice video!
@Millenniallabs
@Millenniallabs 4 ай бұрын
Could’ve just used nosql to store the dataschema of the user model.
@alloc7260
@alloc7260 2 жыл бұрын
I first thought Mr.Beast going to teach us youtube system But then I read the channel name 😅
@challengeyourmind3937
@challengeyourmind3937 2 жыл бұрын
Why would you use an LRU cache when the most viewed videos are the most recent? You'd want the opposite of that.
@NeetCode
@NeetCode 2 жыл бұрын
LRU means the least-recently used will be the first to be evicted - which I think is what you're also saying, unless I'm misunderstanding?
@tal32123
@tal32123 Жыл бұрын
Where is the API gateway in relation to all this... Specifically in relation to the CDN?
@pc1234asdf
@pc1234asdf 8 күн бұрын
Starting off with the denormalized video collection is just bad. Obviously you would not store user data in the video document. User_id only. To help performance on the read side you would have another layer above videos and users that is denormalized. Having the correct abstractions is everything.
@tomyao7884
@tomyao7884 2 жыл бұрын
Very informative!
Design Twitter - System Design Interview
26:16
NeetCode
Рет қаралды 551 М.
20 System Design Concepts Explained in 10 Minutes
11:41
NeetCode
Рет қаралды 1,1 МЛН
Маусымашар-2023 / Гала-концерт / АТУ қоштасу
1:27:35
Jaidarman OFFICIAL / JCI
Рет қаралды 390 М.
Amazon System Design Interview: Design Parking Garage
29:59
Exponent
Рет қаралды 1,5 МЛН
How I would learn Leetcode if I could start over
18:03
NeetCodeIO
Рет қаралды 807 М.
8 Design Patterns EVERY Developer Should Know
9:47
NeetCode
Рет қаралды 1,1 МЛН
Google system design interview: Design Spotify (with ex-Google EM)
42:13
IGotAnOffer: Engineering
Рет қаралды 1,2 МЛН
Basic System Design for Uber or Lyft | System Design Interview Prep
16:18
Systems Design in an Hour
1:11:00
Jordan has no life
Рет қаралды 42 М.
System Design Interview: A Step-By-Step Guide
9:54
ByteByteGo
Рет қаралды 776 М.
I ACED my Technical Interviews knowing these System Design Basics
9:41
Coding Interviews Be Like
5:31
Nicholas T.
Рет қаралды 6 МЛН
Маусымашар-2023 / Гала-концерт / АТУ қоштасу
1:27:35
Jaidarman OFFICIAL / JCI
Рет қаралды 390 М.