System Design Interview: Design Netflix

Sdílet
Vložit
  • čas přidán 9. 07. 2024
  • 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
  • Zábava

Komentáře • 232

  • @tryexponent
    @tryexponent  Před 2 lety +9

    Don't leave your system design interview to chance. Sign up for Exponent's system design interview course today: bit.ly/3PfSq3B

    • @totsubo2000
      @totsubo2000 Před 2 lety

      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 Před 2 lety +194

    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 Před 2 lety +3

      @@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 Před rokem +18

      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 Před rokem +3

      Not of highest quality, but appreciate the info.

    • @bariscan9267
      @bariscan9267 Před rokem +1

      @@stirfriedmushupork Load balancers mainly manage the request forwarding, whereas distributing the data and syncronization between the DB instances are completely different.

    • @jamespogg
      @jamespogg Před rokem +5

      True, interviewee sais we need SQL because of complex queries and interviewer just accepts it. What complex queries? can you give any example?

  •  Před 2 lety +50

    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 Před 2 lety +3

      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 Před 2 lety

      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 Před 2 lety +4

      @@jasusyb2734 Good point! Setting DNS geographically should help.

  • @dgillies5420
    @dgillies5420 Před rokem +13

    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).

  • @rambo4014
    @rambo4014 Před 2 lety +2

    Good to see some free content. Most of the channels have commercialised everything so much that learning is now just for rich

  • @gautam3305
    @gautam3305 Před 2 lety +11

    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 Před rokem +113

    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 Před rokem +3

      Good points. I also wonder why he went with sql vs non sql (actually used)

    • @idotsuk
      @idotsuk Před rokem +7

      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 Před rokem +43

      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. Před rokem +4

      @@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 Před rokem +9

      @@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 Před 2 lety +12

    The static video data can be placed on a CDN too.

  • @SubtleAsh-TheImmortal
    @SubtleAsh-TheImmortal Před 2 lety +70

    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 Před 2 lety

      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 Před 2 lety +2

      I was under the impression that CDNs rather mitigate some kinds of security concerns..

    • @muratcosar6303
      @muratcosar6303 Před 2 lety +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 Před 2 lety +16

      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 Před rokem +2

      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 Před rokem

    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?

  • @susiec5340
    @susiec5340 Před 2 lety

    Extremely helpful!

  • @mmoya1135
    @mmoya1135 Před 10 měsíci

    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?

  • @malakissimo
    @malakissimo Před 2 lety +49

    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 Před 2 lety +2

      User event data should be included in this design and recommendation should be based on that. The interview went sideways.

    • @MuscleTeamOfficial
      @MuscleTeamOfficial Před 2 lety +5

      Yeah, I was falling asleep to this design.

    • @amitjangu3293
      @amitjangu3293 Před 2 lety +5

      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 Před 2 lety +4

      Yeah I think this video isn't very good - compared to the Design a Parking Garage video which was good.

    • @kudakwashegore
      @kudakwashegore Před 2 lety +1

      I agree. I was expecting more on this.

  • @kadu14786
    @kadu14786 Před 2 lety

    It's really amazing place to learn system design.. Thank you Exponent.!!!

  • @amazingabhay
    @amazingabhay Před 5 měsíci +1

    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 :)

  • @ranesh237
    @ranesh237 Před 2 lety +9

    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.

  • @paneerlovr
    @paneerlovr Před 2 lety +76

    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 Před 2 lety +21

      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 Před 2 lety +12

      Why would Blob store have problem with increasing content? That's the part that was not clear.

    • @georgezhou9211
      @georgezhou9211 Před 2 lety +17

      I'm also confused why blob storage would've had challenges with user-generated videos (CZcams/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 Před 2 lety +20

      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 Před 2 lety +1

      @@foreverergouzi you should have he said cloud file storage for actual video and something else for meta data not actual video on RDBMS

  • @TravelerAndyCc
    @TravelerAndyCc Před rokem +1

    Just curious, what's the drawing software we're using here?

  • @pocketwalker91
    @pocketwalker91 Před 2 lety +4

    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 Před 2 lety

      Yes if the interviewer actually knows these

    • @DebasisUntouchable
      @DebasisUntouchable Před 2 lety +1

      why would we need threadpool? The latency is already addressed through Caching and CDNs.

  • @neerajmokha203
    @neerajmokha203 Před 2 lety +8

    I think this was great, especially the calculation aspects.

  • @nagrotte
    @nagrotte Před rokem +14

    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 Před rokem +2

      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 Před rokem +6

      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.

  • @user-ms9of1qn4w
    @user-ms9of1qn4w Před 2 lety +1

    From the cache part, whether it’s good to cache all metadata other than only hot ones? It’s only 10k movies.

  • @abdurrazzak305
    @abdurrazzak305 Před 2 lety +4

    isnt usermetadata 20 gb and not 20 tb?

  • @mykevinjung
    @mykevinjung Před rokem

    How is this interviewee so calm and not nervous?

    • @tryexponent
      @tryexponent  Před rokem

      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

  • @nicholasli
    @nicholasli Před rokem +10

    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 Před rokem +2

      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 Před rokem +6

      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.

  • @FizWiz91
    @FizWiz91 Před 2 lety +8

    Great interview, but the unmissable positive energy exuding from both participants of this interview is what really did it for me.

  • @shantvats3325
    @shantvats3325 Před rokem

    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?

  • @go_better
    @go_better Před 2 lety

    Thank you so much! It was very informative and fun!

  • @jatin4dwin
    @jatin4dwin Před 2 lety +7

    What's the system/app used for story boarding in this video?

  • @vineysharma5954
    @vineysharma5954 Před rokem +2

    Nice video but I just wanted to know which wireframe tool you are using for this mock interview? @Exponent #Exponent

  • @josetandavala5805
    @josetandavala5805 Před 2 lety

    Great Job!!!

  • @nardiyansah
    @nardiyansah Před 2 lety

    What is the name of website that being used ?

  • @user-ii4rd8cf5h
    @user-ii4rd8cf5h Před 2 lety

    What application does he use for notes and block schemes?

  • @dgillies5420
    @dgillies5420 Před rokem +3

    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 CZcams had until 2015 - it wasn't profitable) so they moved onto their own CDN in the late 2010's.

  • @zump
    @zump Před 2 lety +9

    You killed this tho, really enjoyed hearing the thought process surrounding the data storage

  • @KeraStarcraft
    @KeraStarcraft Před 2 lety +74

    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 Před 2 lety +13

      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 Před 2 lety +84

      @@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 Před 2 lety +1

      @@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 Před 2 lety +75

      @@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 Před 2 lety +27

      @@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

  • @socallife890
    @socallife890 Před 2 lety +1

    What whiteboard SaaS app is that being used in the video?

  • @MrRetroboyish
    @MrRetroboyish Před 10 měsíci

    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  Před 10 měsíci

      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!

  • @user-mo5bk6ze7b
    @user-mo5bk6ze7b Před 2 lety +8

    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.

  • @suvajitchakrabarty
    @suvajitchakrabarty Před 4 měsíci

    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  Před 4 měsíci

      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 Před 4 měsíci

      Thanks for the clarification!

  • @arunavkhare2733
    @arunavkhare2733 Před 2 lety +3

    Very informative. Can someone tell me which software is this where he is taking notes ?

  • @santanusaha310
    @santanusaha310 Před 2 lety +1

    Whats the software being used in this interview? Really like the interface.

  • @gemfuzion
    @gemfuzion Před 2 lety +1

    What tool do you use to draw these components and design? Anyone has any good recommendations?

    • @amitjangu3293
      @amitjangu3293 Před 2 lety +1

      I find Miro very easy to use for such things.

    • @sadeajayi2316
      @sadeajayi2316 Před 2 lety +4

      Figjam by Figma is pretty intuitive and easy to use but the one on the video is from Whimsical

    • @SowedCastelli
      @SowedCastelli Před 2 lety

      @@sadeajayi2316 you saved me mate. Thank you very much

  • @tonyng1126
    @tonyng1126 Před 2 lety +16

    I wonder whether is it really necessary to do the data storage calculation during system design interview? Any thoughts?

    • @steveneumeyer681
      @steveneumeyer681 Před 2 lety +1

      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 Před 2 lety +3

      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 Před 2 lety +10

      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.

  • @XYZ-ms9hi
    @XYZ-ms9hi Před rokem

    Does System Design questions pertain to only TPMs or to PMs as well (those applying for PM roles in Tech companies)?

    • @unmeshchougule5666
      @unmeshchougule5666 Před rokem

      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

  • @super-ulitka
    @super-ulitka Před 2 lety +5

    The interview just agrees on everything, how it's an interview mocking? Could use my cat for this role 🐱

  • @tanveeriqbal6680
    @tanveeriqbal6680 Před 2 lety +10

    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?

  • @Hmdkmd
    @Hmdkmd Před rokem +3

    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.

  • @aashishkatlam2434
    @aashishkatlam2434 Před 2 lety +2

    what's the name of the whiteboard app ?

  • @manishjape3196
    @manishjape3196 Před 2 lety

    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.

  • @shilashm5691
    @shilashm5691 Před 2 lety

    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 Před rokem

      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?

  • @antidote88
    @antidote88 Před 2 lety

    What tool is he using to design the system?

  • @Waruto
    @Waruto Před 3 měsíci

    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.

  • @XinWongDigital
    @XinWongDigital Před 2 lety +4

    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.

  • @rajvellaturi
    @rajvellaturi Před 2 lety +6

    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???

  • @SubtleAsh-TheImmortal
    @SubtleAsh-TheImmortal Před 2 lety

    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

  • @swanv951
    @swanv951 Před 5 měsíci

    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?

  • @kararhassan3954
    @kararhassan3954 Před 2 měsíci

    Is nosql make more sense for this service? I can’t imagine any reltions in the movie name and movie description and etc..

  • @jinli3835
    @jinli3835 Před 2 lety

    What is the whiteboard app ? looks great, thanks

  • @ayushisrivastava5563
    @ayushisrivastava5563 Před 2 lety

    What is the drawing and typing tool used here for this interview?

  • @PhilipY
    @PhilipY Před rokem

    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  Před rokem +1

      The app we use for everything is called Whimsical. It's free for personal use whimsical.com/

    • @PhilipY
      @PhilipY Před rokem

      @@tryexponent Great ty!

  • @dgillies5420
    @dgillies5420 Před rokem

    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  Před rokem

      Hey D Gillies, thank you so much for sharing your knowledge with us and the community. Appreciate it! 🤝

  • @alexN350z
    @alexN350z Před 2 lety +10

    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

  • @kiranchavhan4519
    @kiranchavhan4519 Před 2 lety

    What is this design software used by him?

  • @denysostapenko445
    @denysostapenko445 Před 2 lety

    What web app are they using in the video?

  • @rajanchauhan2425
    @rajanchauhan2425 Před 2 lety

    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

  • @Ba-Dum-Tssss
    @Ba-Dum-Tssss Před rokem

    what's the whiteboarding tool being used here?

    • @tryexponent
      @tryexponent  Před rokem

      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!

  • @zykssa1715
    @zykssa1715 Před 2 lety

    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

  • @allanalysis
    @allanalysis Před rokem

    Can anyone please tell me the drawing tool used in this video?

    • @tryexponent
      @tryexponent  Před rokem

      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!

  • @JasonBorn3814
    @JasonBorn3814 Před 2 lety

    what website do you use for system design?

  • @totsubo2000
    @totsubo2000 Před 2 lety +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 :)

  • @foreverergouzi
    @foreverergouzi Před 2 lety +5

    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 Před 2 lety +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

  • @Ridock
    @Ridock Před 2 lety +2

    x1.25 is the perfect speed for this video

  • @ianisforis
    @ianisforis Před 7 měsíci

    10 GB/hour standard quality, 20 Gb/hour high, conclusion in video average = 30 Gb/hour? Do I miss something in calculations?

  • @arpitmanchanda6903
    @arpitmanchanda6903 Před 2 lety +1

    The videos are very insightful. Can you please make some for personswith commerce background?

  • @newjdm
    @newjdm Před rokem

    Which white boarding tool is this?

    • @tryexponent
      @tryexponent  Před rokem +1

      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!

  • @riteshsinha587
    @riteshsinha587 Před 2 měsíci

    What tool he is using to make notes and draw?

    • @tryexponent
      @tryexponent  Před 2 měsíci

      Hi riteshsinha587, the whiteboard tool used here is "Whimsical"!

  • @rahulpareek328
    @rahulpareek328 Před 2 lety +2

    Great video 👍🏻
    Can we expect some data analyst interview in future?

  • @ilanshtokhamer5841
    @ilanshtokhamer5841 Před rokem +1

    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.

  • @jasusyb2734
    @jasusyb2734 Před 2 lety

    user metadata definitely more than 100bytes

  • @ianisforis
    @ianisforis Před 7 měsíci

    User Metadata 2 000 000 * 100 KB =
    1,525.88 Gigabits, not 20 TB! :)

  • @erickvivanco8627
    @erickvivanco8627 Před 11 měsíci

    Perfect example to show what you cannot do at a system design interview, totally incomplete and no sense design

  • @kelewang6729
    @kelewang6729 Před 4 měsíci

    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.

  • @ofuochi
    @ofuochi Před rokem

    I honestly didn't understand the answer to the question "why use blob storage"

  • @andrewkiminhwan
    @andrewkiminhwan Před 2 lety

    what is he using to diagram?

  • @grantdong7746
    @grantdong7746 Před 2 lety

    Am I expected to answer system design questions with these kind of calculations?

    • @abdullahahmed7781
      @abdullahahmed7781 Před 2 lety

      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 Před 2 lety

      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.

  • @01kaskasero
    @01kaskasero Před 8 měsíci

    Blob storage is absolutely NOT good for this use case.

  • @joemiller1057
    @joemiller1057 Před rokem

    10gb for an hour of standard def video? Off by order of magnitude.

  • @MrKondie
    @MrKondie Před 9 měsíci

    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

  • @willymaven1626
    @willymaven1626 Před 2 lety +1

    No kidding, sharding is difficult in no-sql comparing to rdbms??

    • @Tea-Spin
      @Tea-Spin Před 2 lety +2

      I think what he meant was that sharding in rdbms is harder compared to straight-up using nosql

  • @DebasisUntouchable
    @DebasisUntouchable Před 2 lety

    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.

  • @mack0ka
    @mack0ka Před 2 lety

    Barely any feedback, no challenging during the decisions. Could be much better from a learning perspective.

  • @khatdubell
    @khatdubell Před rokem

    Andres needs to whisper a bit more quietly....
    I can almost hear him if i turn my volume all the way up.

  • @waffle8364
    @waffle8364 Před 5 měsíci

    Your question is "design netflix"
    🤔 🤨

  • @serggie3
    @serggie3 Před 2 lety +1

    Pretty weak performance from both sides, they both sounded like they didn't know what they were talking about.

  • @paritosh30sep
    @paritosh30sep Před měsícem

    I don't think, this is a good episode. We didn't discuss about the steps required in upload and streaming actions. We didn't discuss about chunkify the videos and API designs.

  • @jasusyb2734
    @jasusyb2734 Před 2 lety

    1hour video should only be sveral gb, not 30gb. 😅

  • @zump
    @zump Před 2 lety

    The assumption that a Netflix user only watches 1000 videos had me laughing so hard. I’m def at like 3k

  • @skyisblue3847
    @skyisblue3847 Před rokem

    👁🫦👁

  • @treyfrog
    @treyfrog Před 2 lety +1

    POstgres