Тёмный

System Design Interview: Design Netflix 

Exponent
Подписаться 348 тыс.
Просмотров 249 тыс.
50% 1

Don't leave your system design interview to chance. Sign up for Exponent's system design interview course today: bit.ly/3PfSq3B
Watch our mock system design interview. Angie asks Andreas a question on how to design typeahead for a search box.
Chapters -
00:00:00 - Introduction
00:00:39 - Question
00:00:47 - Clarifying questions
00:04:22 - Data types
00:10:06 - Design
00:24:27 - Interview analysis
Watch more videos here:
- Amazon SDE answers binary tree question: • Amazon Software Engine...
- Google SWE answers algorithms interview question: • Google Software Engine...
- Google TPM answers Tiktok system design interview question: • System Design Mock Int...
- Microsoft SWE answers algorithms interview question: • Microsoft Software Eng...
👉 Subscribe to our channel: bit.ly/exponentyt
🕊️ Follow us on Twitter: bit.ly/exptweet
💙 Like us on Facebook for special discounts: bit.ly/exponentfb
📷 Check us out on Instagram: bit.ly/exponentig
📹 Watch us on TikTok: bit.ly/exponenttikttok
ABOUT US:
Did you enjoy this video? Want to land your dream career? Exponent is an online community, course, and coaching platform to help you ace your upcoming interview. Exponent has helped people land their dream careers at companies like Google, Microsoft, Amazon, and high-growth startups. Exponent is currently licensed by Stanford, Yale, UW, and others.
Our courses include interview lessons, questions, and complete answers with video walkthroughs. Access hours of real interview videos, where we analyze what went right or wrong, and our 1000+ community of expert coaches and industry professionals, to help you get your dream job and more!
#systemdesign #netflix #software #engineeringmanagement #tech #entrepreneurship #exponent #tpm

Развлечения

Опубликовано:

 

3 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 234   
@tryexponent
@tryexponent 2 года назад
Don't leave your system design interview to chance. Sign up for Exponent's system design interview course today: bit.ly/3PfSq3B
@totsubo2000
@totsubo2000 2 года назад
I do not recommend Exponent. I signed up and paid for Exponent's system design course - it is not worth it. It's very generic and the material very shallow. This video is proof :)
@mr.mystiks9968
@mr.mystiks9968 2 года назад
I feel like this isn’t realistic. The interviewer doesn’t really push back with any alternatives and the interviewee just hand waves over these topics.
@stirfriedmushupork
@stirfriedmushupork 2 года назад
@@pavel5515 I’m not too worried about this point, since you can add the sharding mechanism in the load balancers of the DB servers. Or is there something else you’re worried about? Genuinely curious.
@Sawbringer
@Sawbringer 2 года назад
This. In an actual interview she would have interrupted him at least a dozen of times to ask him why he was choosing those specific components and data structures. I wish the interviews I've been doing were like this one.
@nagrotte
@nagrotte Год назад
Not of highest quality, but appreciate the info.
@bariscan9267
@bariscan9267 Год назад
@@stirfriedmushupork Load balancers mainly manage the request forwarding, whereas distributing the data and syncronization between the DB instances are completely different.
@jamespogg
@jamespogg Год назад
True, interviewee sais we need SQL because of complex queries and interviewer just accepts it. What complex queries? can you give any example?
@dgillies5420
@dgillies5420 Год назад
Netflix supports 6-8 bitrates for videos via the DASH protocol. They can switch bitrates every 2-5s. They keep up to 5m of video buffered in the playback device. The size of the videos varies from 256 kbps and increases by a factor of sqrt(2) for each higher bitrate video, i.e. 256 kbps - 3 mbps (1080p), or 15 mbps (4k).
2 года назад
Very interesting! What I'd also talk about - sharding user metadata via region, having different PostgreSQL instances and Redis instances available in different regions serving these specific regions.
@jasusyb2734
@jasusyb2734 2 года назад
in this case this not only a db sharding problem. the host need to be grouped by different regions to serve the traffic for different traffic. otherwise if sharding db by regions while their harware stay in the same region doesn't help the network latency while introduce potential hotshot
@jasusyb2734
@jasusyb2734 2 года назад
but then, i don't know how to route th user's traffic to different regions of server effciently probably need gateway, but then users' traffic have to goes to a centered gateway server firstly.
@siriusfang3327
@siriusfang3327 2 года назад
@@jasusyb2734 Good point! Setting DNS geographically should help.
@gautam3305
@gautam3305 2 года назад
most of the system design was focused on storing videos which interviewer clearly mentionwd is not the focus. main requirement is around user activities and recommendation engine.
@damienspectre4231
@damienspectre4231 2 года назад
The choice to pick POSTGRES for User Data was not entirely correct especially given such a system's main requierment : scalability. Netflix moved away from SQL to NOSQL a long time ago: - Consistency is not as important as availability : Netflix is not a banking application so this is a huge factor. ACID is also not as important. - Normalization is not that complex in systems like Netflix. They're not OLTP apps like banking apps. NOSQL scale immensely with static models that dont change much - If models DO requier that rare change -> SQL involves some sort of downtime. NOSQL has a distinct advantage here. (This was cited as one of the reasons for moving away from SQL)
@EthanClansky
@EthanClansky Год назад
Good points. I also wonder why he went with sql vs non sql (actually used)
@idotsuk
@idotsuk Год назад
After watching this video I read up on it and apparently instagram uses postgres for user data and they work at a very high scale. postgres can be tweaked to support sharding and duplication. however I'm still not sure how that is helpful since you won't be able to run relational queries across shards efficiently. I guess they shard it in a way that allows most queries to be on the same shards.
@BartoszRybacki0
@BartoszRybacki0 Год назад
You say Netflix moved away, from SQL that means hundreds of smart people in netflix designed it first as an SQL, and moved after few years (if I understand correctly). So it is not bad that one smart guy designs it as SQL in 45 minutes interview.
@plopplop.
@plopplop. Год назад
@@BartoszRybacki0 You assume the initial decision was made at a time when NOSQL was viable and by people who actually knew how to scale systems (and knew they'd need to scale).
@BartoszRybacki0
@BartoszRybacki0 Год назад
@@plopplop. I just say that there are many variables and many possible solutions. And I just say that it is very good design for one hour interview. And during interview the process is more important than a goal. You just want to see if the candidate thinks about scale, cost, reliability and other *ilities while choosing solution. Btw: Even Google wanted to have SQL so much that they created spanner.
@arunavkhare2733
@arunavkhare2733 2 года назад
The static video data can be placed on a CDN too.
@susiec5340
@susiec5340 2 года назад
Extremely helpful!
@fatihpy
@fatihpy 2 года назад
I am not satisfied with this content. The explanations can be a bit more detailed. For example, the answer to the question "Why should we use Postgres instead of NoSQL" was not thorough. And the interviewer could ask more detailed questions like, "Why Postgres amongst other RDBMS?", "Why do you think the shard size should be around 1 to 10 TB", "How many replicas should we have and why?", "Shouldn't we use a NoSQL storing for user activity to feed the recommendation engine, because the write rate will be very high? " etc. The interview should be challenging the interviewee so that we can learn more.
@GreatBrick
@GreatBrick 2 года назад
User event data should be included in this design and recommendation should be based on that. The interview went sideways.
@MuscleTeamOfficial
@MuscleTeamOfficial 2 года назад
Yeah, I was falling asleep to this design.
@amitjangu3293
@amitjangu3293 2 года назад
I’d agree. She says “That makes sense” to a lot of answers that just ended abruptly without actually answering the question, like the one you pointed out.
@fermatslasttheorem6298
@fermatslasttheorem6298 2 года назад
Yeah I think this video isn't very good - compared to the Design a Parking Garage video which was good.
@kudakwashegore
@kudakwashegore 2 года назад
I agree. I was expecting more on this.
@kadu14786
@kadu14786 2 года назад
It's really amazing place to learn system design.. Thank you Exponent.!!!
@mmoya1135
@mmoya1135 11 месяцев назад
great video but I don't particularly understand the video metadata cache. What would that schema look like/what would actually be cached here? You mentioned, for a given user, you would cache their most frequently watched video... so would the cache be on the userId level?
@neerajmokha203
@neerajmokha203 2 года назад
I think this was great, especially the calculation aspects.
@ranesh237
@ranesh237 2 года назад
At the beginning of the interview, didn’t the interviewer specifically ask “only” for the design of a recommendation engine? Seems like the interviewee was attempting to design Netflix as a whole - considering he was talking about BLOB storage for videos, etc.
@rambo4014
@rambo4014 2 года назад
Good to see some free content. Most of the channels have commercialised everything so much that learning is now just for rich
@SubtleAsh-TheImmortal
@SubtleAsh-TheImmortal 2 года назад
Quick advise : Using CDNs to serve your premium content can compromise the security of your platform. Remember CDNs are typical for static public content that you don’t care to keep confidential and that they don’t come with authentication out of the box but you have to arrange some knobs to authenticate and authorize.
@stoneshou
@stoneshou 2 года назад
could you speak to a bit more detail or pointers about what tools are commonly used for auth to some cdn content I want to keep confidential
@apurvachatterji5852
@apurvachatterji5852 2 года назад
I was under the impression that CDNs rather mitigate some kinds of security concerns..
@muratcosar6303
@muratcosar6303 2 года назад
@@apurvachatterji5852 definetly, Id like to know more about the security compromises.If i understood him correct, he is trying to say that someone who is not a subscriber can see the videos in cdn. that could be definetly addressed in the design. I agree. if Im not right, or there are more compromises, please advice.
@siriusfang3327
@siriusfang3327 2 года назад
If I remember correctly there is DRM to solve that. All video content are encrypted when delivered to the user. Then there is key server that users' devices fetch the decryption key from. Only authorized user can have the key.
@jco199
@jco199 Год назад
Honest you should be more worried about the user stealing the content then AWS or other CDN provider stealing your video content. Why risk your CDN service when you can register an account for 20$ and just watch/screen record the damn thing.
@shumeykoalexandr4418
@shumeykoalexandr4418 Год назад
Never did sharding on postgres, it looks terrible according to documentation. It requires the creation of a partition for the table and next connecting the remote table with postgres-fdw. But what to do if we lose a connected server, how to automate linking shards?
@user-ms9of1qn4w
@user-ms9of1qn4w 2 года назад
From the cache part, whether it’s good to cache all metadata other than only hot ones? It’s only 10k movies.
@go_better
@go_better 2 года назад
Thank you so much! It was very informative and fun!
@josetandavala5805
@josetandavala5805 2 года назад
Great Job!!!
@nagrotte
@nagrotte Год назад
NoSQL would have been perfect for this use case…the user metadata does not always need to be consistent, it can be eventually consistent.
@ninjaninja9954
@ninjaninja9954 Год назад
exactly a sql database is for high consistency but why would you need high consistency with netflix? Who cares if every user can see the release of a new series at the exact release time? You sacrifice high availability and speed for that? nosql is for high availability and horizontally scaled which is what you need for netflix as it needs to scale big. I'd say choosing a sql db is an immediate fail as nosql seems too obvious for me.
@unmeshchougule5666
@unmeshchougule5666 Год назад
I believe you do not totally understand the process of a system design interview. It is not all about accurate solutions, no one expects 100% and producing grade solutions here.
@nicholasli
@nicholasli Год назад
One thing I'm thinking about... does caching metadata and video static data help that much with low latency? Cuz I thought the main latency comes from the video content itself so talking about video chunking and definition is important.
@snafusauce
@snafusauce Год назад
I think it would help with loading the initial Ui the user sees, so when they log on they instantly would see things like the top list, continue watching list, etc. But you're right in that it wouldn't help with loading the actual content. I think in this case that's okay because it would be super expensive to cache large video files, especially if they're in 4k, also this is just my assumption but users probably expect the video to take a second or two to load since they need a second to put the controller down and get comfortable. Probably what we could do instead is shard the content storage by region so that relevant content loads faster for users in the same areas, for example Korean users would likely only have access to Korean licensed content, so we can store that data separately.
@SesameOil101
@SesameOil101 Год назад
Exactly this is why I came to watch this video, to see people talking about actual internals of streaming content and design a system with that specifics in mind. They ended up designing the same cliched so-called scalable backend application without event mentioning once how the actual content would travel from blob storage to user, and how would scale be handled there.
@TravelerAndyCc
@TravelerAndyCc 2 года назад
Just curious, what's the drawing software we're using here?
@pocketwalker91
@pocketwalker91 2 года назад
when we are talking about ways to speed the user requests, is it good to notify threadpool or something that low level stuff? and btw can we talk something like server location advantages? ya, I mean in an real interview can we do this to get more score I think?
@willymaven1626
@willymaven1626 2 года назад
Yes if the interviewer actually knows these
@DebasisUntouchable
@DebasisUntouchable 2 года назад
why would we need threadpool? The latency is already addressed through Caching and CDNs.
@shantvats3325
@shantvats3325 Год назад
I have one doubt, how do we handle Streaming issues. Like user internet quality drops to a certain level. how in runtime we can solve that issue? Could anybody recommend some content which talks about this issue?
@abdurrazzak305
@abdurrazzak305 2 года назад
isnt usermetadata 20 gb and not 20 tb?
@user-ii4rd8cf5h
@user-ii4rd8cf5h 2 года назад
What application does he use for notes and block schemes?
@jatin4dwin
@jatin4dwin 2 года назад
What's the system/app used for story boarding in this video?
@akashdash6023
@akashdash6023 2 года назад
whimsical
@vineysharma5954
@vineysharma5954 Год назад
Nice video but I just wanted to know which wireframe tool you are using for this mock interview? @Exponent #Exponent
@tryexponent
@tryexponent Год назад
Whimsical :)
@arunavkhare2733
@arunavkhare2733 2 года назад
Very informative. Can someone tell me which software is this where he is taking notes ?
@KevinInfante
@KevinInfante 2 года назад
He is using Whimsical
@nardiyansah
@nardiyansah 2 года назад
What is the name of website that being used ?
@mykevinjung
@mykevinjung Год назад
How is this interviewee so calm and not nervous?
@tryexponent
@tryexponent Год назад
Hi Kevin! Practicing explaining your thought process to friends as you design something will be a great place to start as it gets you're comfortable with what you'll be doing in the interview. If you would like more feedback or practice your interviews, we offer peer mock interviews as well as professional coaching at Exponent, so do check us out if you are interested! Link: www.tryexponent.com
@tanveeriqbal6680
@tanveeriqbal6680 2 года назад
This is great video, it immediately motivates me to learn more. Thanks again for this great content. By the way which tool Andros is for designing?
@freezefrancis
@freezefrancis 2 года назад
whimsical
@tanveeriqbal6680
@tanveeriqbal6680 2 года назад
@@freezefrancis Thanks
@rajvellaturi
@rajvellaturi 2 года назад
Excellent job!!! One thought - it would have been much more cleaner to look it these different components were put under the respective serving layer (OSI). And also, options to consider, pluses, minuses etc. Thoughts???
@paneerlovr
@paneerlovr 2 года назад
I found the reasoning for using a blob store vs. any source very weak. He could have said it's a distributed storage system.
@joshuawedekind3903
@joshuawedekind3903 2 года назад
Yeah, when it got to that part, I started looking at comments to see if this was an example of a passing or failing system design interview. The interviewer sounds sharp, but I'm not always following the interviewee.
@hrishirc
@hrishirc 2 года назад
Why would Blob store have problem with increasing content? That's the part that was not clear.
@georgezhou9211
@georgezhou9211 2 года назад
I'm also confused why blob storage would've had challenges with user-generated videos (RU-vid/Facebook). He was mentioning about indexing/searching, but I got lost there. Moreover, I don't see how storing videos in RDBMS is much of an option either. Maintainability and serving of videos using RDBMS is just terrible compared to CDN and/or a file storage (preferably distributed)
@foreverergouzi
@foreverergouzi 2 года назад
I didn't bother finishing the video once he started talking about RDBMS for video storage. RDBMS would not have even come across my mind.
@stephaniekamwa8937
@stephaniekamwa8937 2 года назад
@@foreverergouzi you should have he said cloud file storage for actual video and something else for meta data not actual video on RDBMS
@MrRetroboyish
@MrRetroboyish 11 месяцев назад
Store the videos in a DFS with SFTP to allow for CDNs for higher availability/lower latency? I'm hearing some say this would compromise security though....
@tryexponent
@tryexponent 11 месяцев назад
Hey MrRetroboyish! Storing videos in a Distributed File System (DFS) and utilizing a Content Delivery Network (CDN) can significantly improve availability and reduce latency. However, you are right in stating that this could introduce extra security vulnerabilities. By implementing stringent access controls, encryption for data at rest and in transit, and opting for reputable CDN providers with strong security features (to name a few), we can mitigate such vulnerabilities. Hope this helps!
@FizWiz91
@FizWiz91 2 года назад
Great interview, but the unmissable positive energy exuding from both participants of this interview is what really did it for me.
@mehulsolanki9435
@mehulsolanki9435 2 года назад
Exactly.
@dgillies5420
@dgillies5420 Год назад
The static content is so static it could even be served from web servers, which you could distribute worldwide via CDN for faster browsing in remote countries. There is no need for transactions since videos listings are created hidden off-line and then materialized at a certain time and date, and later de-materialized at a much later date. Also when there is a popular video it can easily get 10M views in 48 hours. In this case if there is only 1 video per CDN POP you could easily overload the storage servers serving the videos - therefore - when a user goes to play a video that is in very high demand the servers for that video are near capacity, the next serving process should replicate the video to new storage in the same POP of the CDN in order to scale that particular video to meet performance demands. You can do this because most CDNs support customized programs that run in each POP to serve out the content that is requested and this code can initiate the duplication and then hand off the video playback once the duplication is well underway. Netflix started out using AWS to serve its vieeos but they quickly realized the CDN was going to determine profitability (same probably as RU-vid had until 2015 - it wasn't profitable) so they moved onto their own CDN in the late 2010's.
@zump
@zump 2 года назад
You killed this tho, really enjoyed hearing the thought process surrounding the data storage
@SalmanEstyak
@SalmanEstyak 2 года назад
It's called envelope estimation.
@santanusaha310
@santanusaha310 2 года назад
Whats the software being used in this interview? Really like the interface.
@shpendpalushi9399
@shpendpalushi9399 2 года назад
whimsical
@amazingabhay
@amazingabhay 6 месяцев назад
completely missed : user watches for 30 minutes, stops and logs off, comes back after few days and want to resume from where he left off :)
@antidote88
@antidote88 2 года назад
What tool is he using to design the system?
@socallife890
@socallife890 2 года назад
What whiteboard SaaS app is that being used in the video?
@Ciph3rzer0
@Ciph3rzer0 2 года назад
whimsical
@XYZ-ms9hi
@XYZ-ms9hi Год назад
Does System Design questions pertain to only TPMs or to PMs as well (those applying for PM roles in Tech companies)?
@unmeshchougule5666
@unmeshchougule5666 Год назад
By PM if you mean Product Manager. Then for tha role product related interviews happen not system design. Exponent already has PM role specific mock interviews, do check them
@Hmdkmd
@Hmdkmd 2 года назад
I don't like the approach of how this design went down tbh. I feel like it emphasized a lot on the data storage part and in the process it used so many inconvenient assumptions. I feel like the right approach would be collecting the functional requirements, then improving them with the non-functional and then work more on the replication & the horizontal scaling. I feel like the data storage part wouldn't be my first priority when answering this question (unless It's explicitly stressed upon by the interviewer.
@arpitmanchanda6903
@arpitmanchanda6903 2 года назад
The videos are very insightful. Can you please make some for personswith commerce background?
@gemfuzion
@gemfuzion 2 года назад
What tool do you use to draw these components and design? Anyone has any good recommendations?
@amitjangu3293
@amitjangu3293 2 года назад
I find Miro very easy to use for such things.
@sadeajayi2316
@sadeajayi2316 2 года назад
Figjam by Figma is pretty intuitive and easy to use but the one on the video is from Whimsical
@SowedCastelli
@SowedCastelli 2 года назад
@@sadeajayi2316 you saved me mate. Thank you very much
@suvajitchakrabarty
@suvajitchakrabarty 5 месяцев назад
Is S3 an example of Blob storage though? When I google about it, there are articles which state the differences between S3 (a distributed object storage service) and a Blob store.
@tryexponent
@tryexponent 5 месяцев назад
Hey suvajitchakrabarty! You can use S3 as a traditional blob storage, but S3 can also be used for other purposes (like the ones you have probably read in the articles)
@suvajitchakrabarty
@suvajitchakrabarty 5 месяцев назад
Thanks for the clarification!
@swanv951
@swanv951 5 месяцев назад
Since this user data gathering is being done for future video recommendations to the user, don't we need to join the video meta data with user activity? We have sharded user activity DB on the basis of userID. How are we going to extract data like, say, this user likes to watch sci-fi movies, from this DB? Shouldn't we be emitting events of user activity in a stream that gets enriched with such video meta data instead of simply inserting user activity in DB like this?
@KeraStarcraft
@KeraStarcraft 2 года назад
Quite a beginner level system design interview, could've covered things like how to ensure fast videos globally, how to handle sudden peak when popular shows are launched, how to ensure high availability
@williambecker5811
@williambecker5811 2 года назад
Ya this was bad... I mean for video storage you're obviously going to have some kind of ingestion engine where you're getting massive file size originals from studios and then you're encoding probably 20+ different codecs and qualities for compatibility and then using a CDN to push popular stuff closer to users to reduce latency and improve availability. This is like what I would expect from junior level developer who probably shouldn't be designing systems anyway.
@michaelbatey5861
@michaelbatey5861 2 года назад
@@williambecker5811 He literally talked about a CDN in the end and just because you don't know EVERYTHING about how to build an actual movie platform doesn't mean this is a bad response. It's people like you that make it impossible to move up in software engineering. You believe if the candidate doesn't already come with a dictionary of information already in their head then they are useless. This is a horrible mentality and will only lead you to hire people who are just good and memorization as opposed to critical thinking.
@williambecker5811
@williambecker5811 2 года назад
@@michaelbatey5861 Sounds like you're probably just bad at system design and can't land these interviews. Nothing wrong with only hiring top talent. Companies that can attract top talent prefer false negatives over false positives.
@alelokaoseumu
@alelokaoseumu 2 года назад
@@williambecker5811 The guy you replied to said nothing about him being bad at system design but you made that assumption to feel good about yourself. You sounded more like a false positive to me.
@SawhneyVibes
@SawhneyVibes 2 года назад
@@williambecker5811 Your attitude is one of the most toxic elements of software engineering, you shouldn't have to enforce your superiority complex on others to feel good about your job
@alexN350z
@alexN350z 2 года назад
I think the interviewee actually expect candidates to explain how to collect data for building a recommending system, as that's the core of value Netflix system provides. Everything else is just generic content distribution CDN work
@PhilipY
@PhilipY Год назад
Sort of unrelated to the video, but does anyone know what app they are using to jot down notes and create basic blocks to denote services? During a remote interview, are we allowed to use any app? I've had to previously use things like a Google Drive Word file, and it was very painful.. lol
@tryexponent
@tryexponent Год назад
The app we use for everything is called Whimsical. It's free for personal use whimsical.com/
@PhilipY
@PhilipY Год назад
@@tryexponent Great ty!
@user-mo5bk6ze7b
@user-mo5bk6ze7b 2 года назад
I don't like how he structured the problem. No API descriptions and no explanation about the DB columns. Also, sharding based on users without any hashing is a bad idea since it will cause imbalances among the shards.
@l.e.nichols9382
@l.e.nichols9382 2 года назад
Same
@shilashm5691
@shilashm5691 2 года назад
Should have added the point of s3 intelligence tiering..Because not all videos gonna be accessed frequently.So less frequent videos should be put on to the storage class which is cost effective$. Because as a solution architect or software architect I think it is the primary thing to work on:)
@shantvats3325
@shantvats3325 Год назад
I have one doubt, how do we handle Streaming issues. Like user internet quality drops to a certain level. how in runtime we can solve that issue?
@dgillies5420
@dgillies5420 Год назад
Netflix actually encrypts videos with a time-dependent session key which expires after 24h or 48h or something I have experienced it many times in the past where you have a paused video and you try to unpause the video and it fails because the session key has expired. I have heard that they actually statically encrypt the keys and encrypt new versions every day or something like that which can be a big win for performance.
@tryexponent
@tryexponent Год назад
Hey D Gillies, thank you so much for sharing your knowledge with us and the community. Appreciate it! 🤝
@jinli3835
@jinli3835 2 года назад
What is the whiteboard app ? looks great, thanks
@Ciph3rzer0
@Ciph3rzer0 2 года назад
it's whimsical
@ayushisrivastava5563
@ayushisrivastava5563 2 года назад
What is the drawing and typing tool used here for this interview?
@tryexponent
@tryexponent 2 года назад
Whimsical
@tonyng1126
@tonyng1126 2 года назад
I wonder whether is it really necessary to do the data storage calculation during system design interview? Any thoughts?
@steveneumeyer681
@steveneumeyer681 2 года назад
it's not a bad way to start, it can use up some time and might be good to do thruput calcs as well. it's good to come up with baseline and max data expectations and you can design to those numbers.
@wfan2844
@wfan2844 2 года назад
guess it depends, for video systems, storage capacity might be a bottleneck. For e-commerce, db qps may be the bottleneck. And bottlenecks need to be quantified.
@fermatslasttheorem6298
@fermatslasttheorem6298 2 года назад
Calculating numbers (number of users, active users, number of writes, number of reads - what about in 5x, 10x peaks?) are important when it comes to scalability and can actually be helpful to determine the design. Is your system powerful enough to scale with increased users and large storage requirements? Do you need to sharding or to partition the database? Do you need more than a single cache server? Do you need a load balancer? Do you need queues? Remember that scalability matters in system design, otherwise you can design the most basic diagram and be right. Calculated numbers can help you determine how/what kind of database to use (RDBMS, No-SQL, document), caching strategies, etc. A RDBMS can reasonably have 10,000 reads per second. What happens if you require 20,000 reads per second? What do you do? What do you do if the caching server exceeds its storage limit of 500GB? Numbers can help you determine design choices.
@aashishkatlam2434
@aashishkatlam2434 2 года назад
what's the name of the whiteboard app ?
@Ciph3rzer0
@Ciph3rzer0 2 года назад
whimsical
@SubtleAsh-TheImmortal
@SubtleAsh-TheImmortal 2 года назад
I guess those calculations are mere numbers if you don’t factor in the resiliency required to support that big of a demand on your platform
@rahulpareek328
@rahulpareek328 2 года назад
Great video 👍🏻 Can we expect some data analyst interview in future?
@manishjape3196
@manishjape3196 2 года назад
I think he was not looking at the window which shows the "Interviewer". Thats the whole reason he was able to concentrate and focus on the system design.
@kararhassan3954
@kararhassan3954 3 месяца назад
Is nosql make more sense for this service? I can’t imagine any reltions in the movie name and movie description and etc..
@kiranchavhan4519
@kiranchavhan4519 2 года назад
What is this design software used by him?
@JasonBorn3814
@JasonBorn3814 2 года назад
what website do you use for system design?
@KevinInfante
@KevinInfante 2 года назад
They use Whimsical
@XinWongDigital
@XinWongDigital 2 года назад
When a trade-off is in the way it often means we have options. I would usually try all options and let reality reveal its truth. Otherwise, as we all probably experienced in our careers as an engineer at some stage, a hole will be created based on our "correct" assumptions. Our customers, teammates, business, and new joiners will suffer from something we could have prevented when we have the opportunity to experiment.
@denysostapenko445
@denysostapenko445 2 года назад
What web app are they using in the video?
@Ciph3rzer0
@Ciph3rzer0 2 года назад
whimsical
@Ba-Dum-Tssss
@Ba-Dum-Tssss Год назад
what's the whiteboarding tool being used here?
@tryexponent
@tryexponent Год назад
Hi nj026! The whiteboard being used here is “Whimsical”. They have a free and paid version so do check them out if you are interested!
@4jilson
@4jilson 16 часов назад
I am blown away by the lack of details in the design part, the only decent part was the initial requirements gathering & estimation, and even for that part, there was no estimation for QPS, If I were the interviewer, for sure this candidate would be rejected.
@totsubo2000
@totsubo2000 2 года назад
I do not recommend Exponent. I signed up and paid for Exponent's system design course - it is not worth it. It's very generic and the material very shallow. This video is proof :)
@rajanchauhan2425
@rajanchauhan2425 2 года назад
Its quite vague..they don't discuss access pattern or any other specific attribute why we prefer A over B amd just say that this makes sense. Well..it doesn't make sense to me
@allanalysis
@allanalysis Год назад
Can anyone please tell me the drawing tool used in this video?
@tryexponent
@tryexponent Год назад
Hey! The drawing tool being used here is “Whimsical”. They have a free and paid version so do check them out if you are interested!
@super-ulitka
@super-ulitka 2 года назад
The interview just agrees on everything, how it's an interview mocking? Could use my cat for this role 🐱
@zykssa1715
@zykssa1715 2 года назад
feels weird, why would somebody watching video update the static content here ? can we do that in netflix or hulu or whatever. we can like and dislike but caching is useless there
@foreverergouzi
@foreverergouzi 2 года назад
Honestly, most of the interview session was spent on collecting requirement. I don't think this is how real system design interview goes. You want to go into system architecture and component/algorithm ASAP to show architectural thinking and depth in technical knowledge.
@anivia3
@anivia3 2 года назад
most sys design interviews are longer than 28 minutes so you'd usually def have more time in the deep dive than this video I feel like
@newjdm
@newjdm Год назад
Which white boarding tool is this?
@tryexponent
@tryexponent Год назад
Hi newjdm! The whiteboard being used here is “Whimsical”. They have a free and paid version so do check them out if you are interested!
@grantdong7746
@grantdong7746 2 года назад
Am I expected to answer system design questions with these kind of calculations?
@abdullahahmed7781
@abdullahahmed7781 2 года назад
Well yes.... its a system design job role so you are expected to atleast be able to give a *generic* figure as to what the system requiremnts are. Sure you cant be accurate but good/experienced engineers should be able to home in on the magnitude of data that you are working with. If you are worried about this aspect, brush up on the main data tyoe sizes (chars, int, longs etx) and please feel free to being a caluclator if you need 😉
@fermatslasttheorem6298
@fermatslasttheorem6298 2 года назад
Yes - system design interviews care about scalability and trade-offs. Why choose X over Y? If we didn't care about reasonable estimates, then you could just say you design a system with a database that has 1000TB storage that allows 1000000 writes per second. This is just silly. You have to keep the system design reasonably realistic and enough to be able to scale if writes/reads and storage increased by 10X. Personally, calculating numbers can make it easier to determine how you'll design the system. if you calculate you'll have 5000 reads per second based on activity, then a RDBMS is a good choice and if you only need 5GB of storage, you probably don't care about sharding or partitioning the database. With these interviews, it looks poor on you if you try to ignore scalability - such as if you say "Let's say we have 100 active users at any given time", that's a terrible number as it requires just a basic design. You should use large reasonable numbers such as millions of users.
@ilanshtokhamer5841
@ilanshtokhamer5841 Год назад
I would expect the interviewer to be active and ask technical questions here and there. The interviewer isn't really playing a role in the interview - which is something really important if the purpose here is to practice interviews. Feels strange.
@riteshsinha587
@riteshsinha587 3 месяца назад
What tool he is using to make notes and draw?
@tryexponent
@tryexponent 3 месяца назад
Hi riteshsinha587, the whiteboard tool used here is "Whimsical"!
@ianisforis
@ianisforis 8 месяцев назад
10 GB/hour standard quality, 20 Gb/hour high, conclusion in video average = 30 Gb/hour? Do I miss something in calculations?
@jasusyb2734
@jasusyb2734 2 года назад
user metadata definitely more than 100bytes
@ravipradeep007
@ravipradeep007 22 часа назад
@19.45 when explaining the choice of Postgres it’s not clear , should discuss more about availability just easy to query shouldn’t be a closure to a very important section about choosing a database
@Ridock
@Ridock 2 года назад
x1.25 is the perfect speed for this video
@tango400016
@tango400016 2 года назад
Or even 2x lol
@andrewkiminhwan
@andrewkiminhwan 2 года назад
what is he using to diagram?
@Ciph3rzer0
@Ciph3rzer0 2 года назад
whimsical
@Waruto
@Waruto 4 месяца назад
This design is pretty high level. Unfortunately, I don't think this is enough to pass a System Design interview. There were a few videos I thought went into decent depth from this channel, but this one is not it. For those who are studying System Design, I recommend checking out Pratiksha Bakrola. Her videos go in-depth in the system designs and breaking things up at a microservice level.
@ofuochi
@ofuochi Год назад
I honestly didn't understand the answer to the question "why use blob storage"
@willymaven1626
@willymaven1626 2 года назад
No kidding, sharding is difficult in no-sql comparing to rdbms??
@Tea-Spin
@Tea-Spin 2 года назад
I think what he meant was that sharding in rdbms is harder compared to straight-up using nosql
@ianisforis
@ianisforis 8 месяцев назад
User Metadata 2 000 000 * 100 KB = 1,525.88 Gigabits, not 20 TB! :)
@mack0ka
@mack0ka 2 года назад
Barely any feedback, no challenging during the decisions. Could be much better from a learning perspective.
@kelewang6729
@kelewang6729 5 месяцев назад
His explanation of choosing S3 over rdbms for video storage is not correct. S3 is actually highly scalable and fast (with video chunking and sophisticated indexing). It makes no sense to choose S3 just because there is a top level amount of video content. Traditional database is essentially not designed for storing binary large objects and can be very slow and expensive to scale for video content.
@joemiller1057
@joemiller1057 Год назад
10gb for an hour of standard def video? Off by order of magnitude.
@MrKondie
@MrKondie 10 месяцев назад
I would not watch this video if you're planning to use it as a reference for a system design interview. It falls short in many ways
@DebasisUntouchable
@DebasisUntouchable 2 года назад
it was great! But I would have preferred NoSQL document based database (MongoDB), for User data/metadata, using Postgres would be a poor choice, and if we want some analytics to be done then Cassandra.
@erickvivanco8627
@erickvivanco8627 Год назад
Perfect example to show what you cannot do at a system design interview, totally incomplete and no sense design
@01kaskasero
@01kaskasero 9 месяцев назад
Blob storage is absolutely NOT good for this use case.
@waffle8364
@waffle8364 5 месяцев назад
Your question is "design netflix" 🤔 🤨
@khatdubell
@khatdubell Год назад
Andres needs to whisper a bit more quietly.... I can almost hear him if i turn my volume all the way up.
@serggie3
@serggie3 2 года назад
Pretty weak performance from both sides, they both sounded like they didn't know what they were talking about.
@jasusyb2734
@jasusyb2734 2 года назад
1hour video should only be sveral gb, not 30gb. 😅
@zump
@zump 2 года назад
The assumption that a Netflix user only watches 1000 videos had me laughing so hard. I’m def at like 3k
@roshrajthoppilan
@roshrajthoppilan 2 года назад
😁
@fermatslasttheorem6298
@fermatslasttheorem6298 2 года назад
You're called an outlier. Systems design assumptions are more about average user activity. I'm probably at less than 1000.
@treyfrog
@treyfrog 2 года назад
POstgres
Далее
System Design Interview: Design Calendar Application
25:16
System Design Interview: Design Amazon Prime Video
26:53
Как похудеть на 10 кг ?! БЫСТРО!
07:06
Amazon System Design Interview: Design Parking Garage
29:59
Design Youtube - System Design Interview
26:04
Просмотров 281 тыс.
System Design: TINDER as a microservice architecture
36:41
Опасный момент
0:23
Просмотров 2,4 млн