System Design Interview: Design Amazon Prime Video

Поделиться
HTML-код
  • Опубликовано: 17 июн 2024
  • Want to learn how to answer system design interview questions and land the job? Make sure you're interview-ready with Exponent's system design interview prep course. Start free. bit.ly/3uZ2jfu
    Abhishek Kumar (Engineering Manager, Flipkart) designs a system for a video streaming service like Amazon Prime Video. He talks about load balancing and delivering reliable user experiences.
    Chapters -
    00:00 - Introduction
    00:47 - Question
    01:12 - Requirements
    06:16 - Design
    21:34 - Follow-up questions
    23:32 - Interview Analysis
    24:04 - Tips
    Watch more videos here:
    - Amazon SWE answers system design interview question: • Amazon System Design I...
    - 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 interview question and answer? 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!
    #softwareengineer #softwareengineering #tech #software #entrepreneurship #product #softwaredeveloper #systemdesign #systemdesigninterview

Комментарии • 150

  • @tryexponent
    @tryexponent  Год назад +4

    Want to learn how to answer system design interview questions and land the job? Make sure you're interview-ready with Exponent's system design interview prep course. Start free. bit.ly/3uZ2jfu

  • @mukundsridhar4250
    @mukundsridhar4250 8 месяцев назад +14

    This is a good vidoe. Great work Abhishe and thank you. Here is my 2 cents as an enthusiastic techie.
    1. An autoscaling group needs to be tied to the target group in which the ec2 instances (or compute instances depending on the cloud provider) are present.
    2. The client should break the file into chunks and send across each chuck to the backend video service.
    3. each chuck should be sent to the aws transcoder service and you should receive back 3 chunks from the service for the tablet , mobile and PC.
    4. Once this is done each chunk can be stored in a separate s3 subfolder under a folder with the movie name. (s3 has prefixes and delimiters which are like a folder structure.) The corresponding meta data table where a movie is a List should have information relating to all the chunks of a movie and the type of chunk ie mobile, movie or tablet.
    There also needs to be error checking of each chunk by the service and a retry mechanism with a certain number of retires in case a chunk does not get uploaded properly.
    5. The search service should basically have a trie internally that gives hints when a movie is typed in the search bar.
    6. The s3 bucket needs to tied to cloudfront distributions at several locations which will cache the video. I don't think there is an explicit need to setup several s3 buckets in several regions.
    One can just enable the cross region replication feature in s3 directly.
    Regards
    Mukund Sridhar
    (Architect)

    • @tryexponent
      @tryexponent  8 месяцев назад

      Wow mukundsridhar4250! Thanks for taking the time to share your knowledge! Appreciate it 🙏

  • @kyubi965
    @kyubi965 Год назад +14

    The best video on your channel that I have watched so far. Abishek crushed it. Great end tips. Great drawing. I really liked drawing out each endpoint as a service, and how he scaled up after doing the base case.

  • @ibknl1986
    @ibknl1986 Год назад +2

    Abhishek explanation was too good. Really appreciate this video. Hope we get more such videos. For sure I am saving and sharing this video.

  • @user-ix9qp8oo8e
    @user-ix9qp8oo8e Год назад +15

    This is one of the very crisp system design mock interview I came across with. Abhishek, You are really flluent in what ever you are saying. I liked the way you had connected everything, therefore, grasping the interviewer's attention. I really learnt a lot from you. The way you communicate, organize thoughts and orchestrate everything in a platter is really outstanding. Once again thanks a lot Abhishek and team Exponent for this video. It is by far the best System Design Interview I came across till now.

    • @tryexponent
      @tryexponent  Год назад

      Hey Avinash, we really appreciate the kind words. Glad you found our video useful!

  • @sarangpal3729
    @sarangpal3729 Год назад +41

    They way Abhishek articulated, drew and explained is amazing, i was hooked for the entire video and learnt a ton.
    Hoping for more such mock interviews.
    Thanks Exponent and Abhishek

    • @tryexponent
      @tryexponent  Год назад

      Glad you liked it! More system design videos on the way.

  • @proftrees
    @proftrees 7 месяцев назад +19

    I don't think that Abhi gave enough reasoning for why uploads should be fast. In the case of RUclips I would agree that uploads should be fast, videos are shorter, you have many smaller creators/uploaders, and viewers are more likely to want to see videos quickly after they are uploaded as RUclips videos are more likely to have time relevance. For Prime video it's almost entirely movies and tv shows which are long form content, with fewer uploads from larger creators (studios), meaning that the workflow for uploading a video is a more formal and involved process (ie copyright checks) that would happen days before the content is watchable. Ultimately it doesn't change the design that much, the processing queue is already async, nor do I think that this is a huge error on Abhi's part.

    • @abhishek0647
      @abhishek0647 Месяц назад

      Thank you, this is a helpful suggestion. I still think the faster downloads part is key, but yes, it'd have been fun to talk about the additional content validation and preprocessing part.

  • @mahahrishi
    @mahahrishi 7 месяцев назад +1

    Thank you so much Abhishek, clear and crisp explanation of System Design

  • @abhirammandavilli5802
    @abhirammandavilli5802 Год назад +4

    Great clarity of thought right through the video! Really loved the way Abhishek approached it.

  • @lymmontijo87
    @lymmontijo87 3 месяца назад +2

    Great video! Wish we had enough time for API design and Schema Design, but really great explanation

  • @saurabhmittal6947
    @saurabhmittal6947 Год назад +11

    I didn't know interviews can go this perfect as well. Abhishek should make some videos on how he approaches any system design interview problems.

  • @a-h9068
    @a-h9068 Год назад +1

    Thanks Abhishek! This is really helpful!

  • @Waruto
    @Waruto 3 месяца назад

    Well done system design. I think there is a lot to learn from this one over the Netflix system design video from this channel. A lot of the concepts would apply.

  • @sanzharamirgaliyev9409
    @sanzharamirgaliyev9409 Год назад +3

    Amazing video! Thanks to both interviewer and interviewee!

  • @jaickey09
    @jaickey09 Год назад

    Amazing explanation Abhishek🤩

  • @mayurdugar03
    @mayurdugar03 Год назад

    Quite nicely done!

  • @willzou641
    @willzou641 Год назад +3

    For interviewee, API design and Database design, estimation. For interviewer, could have more depth questions, that's what I met in my pass interviews.

  • @calistoga08
    @calistoga08 6 месяцев назад

    Great video, thank you so much !

  • @venky3639
    @venky3639 2 месяца назад

    Really good and easy to follow

  • @punithmailme
    @punithmailme Год назад

    Thanks Abhishek

  • @ayush_singh6203
    @ayush_singh6203 5 месяцев назад +1

    Awesome Video!
    I do have one question, so in object store are we storing the video as a whole? or we are storing the chunks with certain lengths i.e 5 or 10 min lengths of clip?

  • @user-fc1wb2ii5w
    @user-fc1wb2ii5w 8 месяцев назад +1

    Really good one!

  • @juliofils1968
    @juliofils1968 7 месяцев назад

    Who's this guy, that was so good. Abishek nail It

  • @nitaichandrabanik8474
    @nitaichandrabanik8474 Год назад +2

    It would be great to have a capacity estimation of the storage and its implementaton.

  • @jasper5016
    @jasper5016 9 месяцев назад +7

    He mentioned that the customer would upload the video. I dont think any customer uploads video to Amazon Prime. Maybe he prepared RUclips and used it here. :) He clearly mentioned "RUclips videos" in the next statement. He simply blurts out without even understanding the subject. He is just throwing words without any context. He mentioned the CAP theorem which is not required there. No doubt Kevin's face is so surprising.

    • @tnitin1025
      @tnitin1025 7 месяцев назад +4

      @jasper5016 think of content creators as directors, producers or production house uploading the video themselves. Or Amazon people uploading them instead of the stakeholders

    • @Steklopod
      @Steklopod 2 месяца назад

      Yeah. I noticed the same )) It's not about Prime

  • @kavishdhamija7136
    @kavishdhamija7136 Год назад +15

    i suppose one thing to handle a popular release is we can bring it onto the platform a few days ahead cache it and make it public on the release time 🤔

  • @iamworstgamer
    @iamworstgamer 8 месяцев назад +11

    dont fall for this mock interview. most of the system design interviews does not happen like this, it will be constant interference from the interviewer, he will not be just sitting like a doll and listening to you. no system design interview ever happens like this in real life unless you are giving interview in faang

    • @98854arjun
      @98854arjun 6 месяцев назад

      That's why they mentioned 'mock'.

    • @smbehindyou
      @smbehindyou 4 месяца назад +1

      Do you mean the interference is good or bad. In my opinion, the interference is okay until is goes with mutual respect. I have noticed cases, where interviewer misbehave, makes fun of the candidate.

    • @deathbombs
      @deathbombs Месяц назад

      Usually interviewers have a direction they want to go in, and no interference means he's ok with you saying anything and isn't trying to test your abilities

  • @shivers222
    @shivers222 Год назад +15

    I didn’t think Amazon prime video had an upload feature, am I missing something? Great examples and tips at the end to do one requirement at a time, thanks!

    • @abhishek0647
      @abhishek0647 Год назад +8

      Well, someone does upload the content right? The number of content creators are not as many as ones available on youtube.
      Most probably videos on Amazon prime go through a vetting process, however there's surely an additional interface for selected people to be able to upload the content.

    • @assumptionsoup
      @assumptionsoup Год назад +16

      I agree! I think he actually misunderstood the requirements a little. While uploading *is* an important part of amazon prime video, it's not a user-facing feature. The interviewee seems to assume that "creators" are uploading to the platform. I suspect no one outside amazon uploads videos directly into amazon prime.
      Amazon likely has TWO upload interfaces, not one. An external upload interface, where license content holders and amazon-subcontractors can pass raw high resolution content over to amazon, and an internal interface that processes that raw video for encoding and to add metadata (what actors are on the screen at what time, imdb info, closed captioning, etc). Only the internal interface would distribute videos to the amazon prime video servers after passing some kind of review.
      The interviewee's focus on availability vs consistency seems like a misstep if you expect that Amazon is the only consumer of the video publishing process. He seems to think that Amazon Prime works more like RUclips. And who knows, maybe he's right! But I think he should have asked further about the design parameters instead of assuming he knew them just because he was familiar with the product. At least then we would know better what he was designing!!

    • @tejendrapatel718
      @tejendrapatel718 Год назад +3

      @@assumptionsoup totally agrees with you. I took many systems design interviews and this is big RED Flag for the interview.

    • @shivers222
      @shivers222 Год назад +1

      @@abhishek0647 true, although i think it might have been good to elaborate on that a little more, given that it's probably a very different process from how youtube/instagram/tiktok handles uploads. anyways, thanks for doing the video and responding!

    • @abhishek0647
      @abhishek0647 Год назад

      @@shivers222 agreed. I'll try to record it sometime later on. It'd be a good topic to dive deeper into

  • @ahmedalsaedi3849
    @ahmedalsaedi3849 8 месяцев назад +1

    he is very good

  • @myaccount09011975
    @myaccount09011975 Год назад +1

    Thanks for the video, curious to know what tool are you using for documenting and drawing.

    • @tryexponent
      @tryexponent  Год назад +2

      Hey Yogesh! The whiteboard being used here is an online whiteboard called “excalidraw”. They have a free and paid version so do check them out if you are interested!

  • @durrthock
    @durrthock 3 месяца назад

    I'd hire this guy

  • @fabioschubert
    @fabioschubert 10 месяцев назад +4

    I agree with availability vs consistency, but I'm pretty sure "end users" don't upload videos on amazon, unless you count internal customers. I know the CTO of a video streaming service and we've talked about this, and they receive these super large files from studios, then do their own manipulation and encoding and upload to storage themselves.

    • @rv0_0
      @rv0_0 9 месяцев назад

      He just copy pasted the design of youtube.

    • @rv0_0
      @rv0_0 9 месяцев назад

      So this is kind of generic video servicing application design which is fine in interview, until and unless interviewer restricts you after you present the functional requirement.

  • @sravanvedala7811
    @sravanvedala7811 5 месяцев назад +1

    What has a streaming video has anything to do with CAP theorem . I am not saying it has no relevance. But if you want your streaming video platform to be highly available with some latency tolerance then you have to think about using CDNs and other caching strategies. You are elevating something that has no major part to play.

  • @aaqibhamdule73
    @aaqibhamdule73 Год назад +1

    If there is no counter question, anyone with even lesser experience can answer this question better.

  • @amazingabhay
    @amazingabhay 4 месяца назад +1

    how does the api for upload video looks like ? are you gonna chunk video and upload, what sort of protocol for transferring ( and streaming) chunked data looks like ? there is no API design covered, which should have been I believe. How do you handle the scenario where user pauses video, switches off device for few days and comes back and resumes? Are these not very fundamental of such platform like prime ?

  • @robinbhattacharya2437
    @robinbhattacharya2437 11 месяцев назад

    Shouldnt the Cache layer speak to Object store as well for new requests?

  • @NA-in7do
    @NA-in7do Год назад +3

    Thanks a lot for this wonderful explanatory video.
    Have a doubt though - shouldn't the cache also communicate with the object store to retrieve video apart from cdn?

    • @abhishek0647
      @abhishek0647 Год назад +9

      No, we will be using the CDN to interact with the actual files. A cache is a very costly component. The size of video files will be large and using cache for them will not be an efficient solution.
      We will use cache to store file url and other metadata for the video. And the CDN will be used to render the actual video files in a fast and efficient manner.
      I hope this answers your query.

    • @tarankaranth8782
      @tarankaranth8782 Год назад

      even i had the same question. thanks for askin and for the answer

  • @chapterme
    @chapterme Год назад +12

    Chapters (Powered by ChapterMe) -
    00:00 - Introduction
    00:47 - Question
    01:12 - Requirements
    06:16 - Design
    21:34 - Follow-up questions
    23:32 - Interview Analysis
    24:04 - Tips

  • @tarankaranth8782
    @tarankaranth8782 Год назад +2

    does the data streaming happen directly from s3 or the video view service gets it from s3 and streams it to the user? i would assume we could directly stream from s3

    • @abhishek0647
      @abhishek0647 Год назад +1

      You can and S3 provides you the option of doing the same. The final choice of how you want the streaming to work is yours. All approaches come with their own set of tradeoffs.

  • @bernardofarias8215
    @bernardofarias8215 Год назад +2

    The only thing I couldn't quite understand is why using the Object Storage (in this case S3) for storing videos instead of also using a CDN, and not only using it as a Cache

    • @abhishek0647
      @abhishek0647 Год назад +5

      Not sure if I understand your comment properly, but the reason why I chose to store the video files in an object store is for persistence and replication. I would not want to accidentally lose even a single file uploaded onto the platform. It'd lead to a bad user experience.
      The reason for using a CDN over cache is for faster video streaming service by ensuring the right set of videos are in close proximity and thus lower latency and better viewing experience.
      I hope this helps.

  • @Karan_Thakkar
    @Karan_Thakkar 5 месяцев назад +1

    Does the upload part mean Amazon prime video has user uploads where I can just log in and upload whatever video I want like RUclips? Never knew that was a feature there

  • @Roshmore7
    @Roshmore7 Год назад +4

    Umm it’s Amazon Prime, not RUclips! You don’t need a load balancer to upload video, you just store the contents in a CDN I think.

  • @istvanszabo6875
    @istvanszabo6875 Год назад +3

    good video
    slightly more opposing force would have been appreciated though

  • @rahularya091
    @rahularya091 5 месяцев назад

    There is no upload feature available for end user so I think we can ignore it

  • @narutoind
    @narutoind 11 месяцев назад

    Only one question which tool you are using. Looks fast and friendly

    • @tryexponent
      @tryexponent  11 месяцев назад

      Hey narutoind! If you are asking about the whiteboard tool then the answer is “excalidraw”. They have a free and paid version so do check them out if you are interested!

  • @VisibleKalki
    @VisibleKalki Год назад +5

    What is the editor that Abhishek is using?

  • @akashmaharana4384
    @akashmaharana4384 Месяц назад

    Very beginner friendly and when we are saying it's a mock interview, at least some questions from the interviewer were expected. He didn't give any insight on the storage part, replication. I think storage was very crucial for streaming platforms. Only by mentioning the tools name not going to work in a real interview.

  • @user-sr4dd2zu9o
    @user-sr4dd2zu9o 5 месяцев назад

    It is mentioned that we use map reduce concepts to split and encode the videos before pushing into s3, then why did the interviewer asked if the videos will be split in the questions?

  • @nff_1950
    @nff_1950 11 месяцев назад +1

    Not experience about video upload and stuff, but why we need video splitter instead uploading it directly to s3?

    • @tryexponent
      @tryexponent  11 месяцев назад +1

      Hey nff_1950! Video splitting has the following benefits:
      - Size optimization: Videos can be large files, and splitting them into smaller segments allows for more efficient storage and transfer.
      - Ease of upload: Splitting a large video into smaller segments makes the upload process more manageable. If there's an interruption during the upload, you can resume from where it left off instead of starting the entire process again.
      - Parallel processing: Splitting a video enables parallel processing, where different segments of the video can be uploaded simultaneously. This can significantly speed up the overall upload time.
      Hope this helps!

  • @srijaljoshi3421
    @srijaljoshi3421 Год назад +1

    Loved the clarity of the component design but he didn't dive into data modeling or api design. Would his analysis be considered enough for a real interview?

    • @srijaljoshi3421
      @srijaljoshi3421 Год назад

      Also would have been better if cost analysis was done.

    • @abhishek0647
      @abhishek0647 Год назад +6

      My answer would be yes. I wouldn't have done anything differently even when interviewing at a company.
      I have given multiple system design interviews at product companies with positive outcome.
      An interview is to assess a candidate's approach and ability to explain their design and solution.
      The 2nd half of an interview is more oriented with interviewer follow up questions. If they had asked me to do API or DB design, i would have ditched some detailed explanation from this video in exchange for explaining the API or DB design.
      Long story short, within 45 mins of an interview, I'd prefer going deep into a few topics (discussed with the interviewer) and explain this properly. I would not try to over do my skills by a brief explanation of multiple topics.

    • @abhishek0647
      @abhishek0647 Год назад +5

      Just to reiterate, this is my personal opinion. I prefer a depth first approach of explanation. Others may prefer a breadth first approach.
      Do what best suits you. It is also advisable to discuss your potential approach with the interviewer at the start of the session, define the scope of what you are planning to do, and then proceed with the same for the duration of the interview.

    • @narutoind
      @narutoind 11 месяцев назад

      It depends on interviewer wether he want to change path or is good for him

  • @awpshunvanced8157
    @awpshunvanced8157 Год назад

    What app was used for the note taking Abhishek used?

    • @tryexponent
      @tryexponent  Год назад

      Hey AwpshuN! The whiteboard app being used here is an online whiteboard called “excalidraw”. They have a free and paid version so do check them out if you are interested!

  • @spicy2112
    @spicy2112 Год назад

    Abhishek, do you take Nick interviews?? If so, please let me know how I can book one?

    • @abhishek0647
      @abhishek0647 Год назад

      Are you referring to mock interviews?

    • @spicy2112
      @spicy2112 Год назад

      @@abhishek0647 yes!!

  • @alokuttamshukla
    @alokuttamshukla Год назад +1

    Which whiteboard platform is being used here?

    • @tryexponent
      @tryexponent  Год назад

      Hey Alok! The whiteboard being used here is an online whiteboard called “excalidraw”. They have a free and paid version so do check them out if you are interested!

  • @aj8387
    @aj8387 Год назад +2

    I didnt undertand the CDN service and view video service. What CDN is for ? viewer service is interacting with CDN

    • @abhishek0647
      @abhishek0647 Год назад +2

      CDN is a content delivery service which is a component designed to interact and cache flat files such as images and videos in a fast, simple and efficient manner.
      We are using CDN as a caching service between the viewer and the file storage service (S3) to serve the video files to users with the least possible latency.
      Please refer to exponent's course video on CDN for a better understanding of the same.

  • @saurabhmittal6947
    @saurabhmittal6947 Год назад +1

    I have a question. are we storing the full videos at CDN level ? or only few intial seconds of a video. because if we are storing the full videos then it will become another storage which will cost very heavily.

    • @abhishek0647
      @abhishek0647 Год назад +2

      No, we will not be storing the full video, but chunks of it at the CDN level.

    • @vyshnavramesh9305
      @vyshnavramesh9305 7 месяцев назад +1

      good point on cost optimization.

  • @apurvraveshia5168
    @apurvraveshia5168 10 месяцев назад

    what's the name of drawing tool Abhishek used? it's kind of neat and looks very natural drawings.

    • @tryexponent
      @tryexponent  10 месяцев назад

      Hey apurvraveshia5168! The drawing tool is called “excalidraw”. They have both a free and paid version!

  • @Fraket
    @Fraket 8 месяцев назад

    Since when does Amazon Prime Video allow you to upload?

  • @sameerpande7567
    @sameerpande7567 5 месяцев назад

    Why should the TTL for a hot/trending video be low if its meant to be viewed by more number of user shouldn't it stay in the memory for the more time or TTL should be more. Although one can argue that we won't be able to server the latest update but that can also be pushed by invalidating the cache.

  • @gilli4899
    @gilli4899 Год назад

    thanks for the video! the font on the screen is a bit hard to read though...

  • @adityaranjanyadav1776
    @adityaranjanyadav1776 10 месяцев назад

    Which tool Abhishek is using to draw?

    • @tryexponent
      @tryexponent  10 месяцев назад

      Hey adityaranjanyadav1776! The tool being used here is an online whiteboard called “excalidraw”. They have a free and paid version so do check them out!

  • @niranjantiwari4987
    @niranjantiwari4987 Год назад +1

    Can someone explain me the hot video part where Abhishek suggested two solutions 1. We can do cache force reset 2. Make ttl very low .

    • @abhishek0647
      @abhishek0647 Год назад +2

      When a video is 'HOT' or quite popular. You'd want them to be available in the cache.
      So you can either force update the cache and ensure the popular video is available in it.
      If you make the TTL low for a cache, the objects in the cache will be evicted quitckly and only the popular videos will exist in the cache.
      I hope this helps,
      Abhishek

  • @redfly2963
    @redfly2963 5 месяцев назад

    what is the tool are you using for design in this video

    • @tryexponent
      @tryexponent  5 месяцев назад

      Hey redfly2963! The tool is "excalidraw"

  • @lakshmanprabhu6722
    @lakshmanprabhu6722 Год назад

    What's the software he's using?

    • @tryexponent
      @tryexponent  Год назад +1

      Hey Lakshman! The software being used here is an online whiteboard called “excalidraw”. They have a free and paid version so do check them out if you are interested!

  • @tejendrapatel718
    @tejendrapatel718 Год назад +2

    This is a good video but not an accurate replica of the actual system design interview. This looks like someone already knew about the system design interview. In the actual interview please ask the clarifying question, in this case, we can add the video and decide the date to make it available to watch and some videos are not available for some regions, etc.

    • @tryexponent
      @tryexponent  Год назад

      Hi Tejendra! Thanks for watching and taking the time to share your thoughts!

  • @1nOnlySB
    @1nOnlySB 4 месяца назад

    what is the text editor he is using?

    • @tryexponent
      @tryexponent  4 месяца назад +1

      Hey 1nOnlySB! Do you mean the whiteboard? If so, it's called "Excalidraw"

  • @santosh_bhat
    @santosh_bhat 9 месяцев назад

    What is this board that he is using to draw diagram

    • @tryexponent
      @tryexponent  8 месяцев назад +1

      Hey santosh_bhat! The whiteboard used here is "Excalidraw"

  • @pauldesrivieres7083
    @pauldesrivieres7083 4 месяца назад +1

    Wouldn't you also want delete video for content that Amazon loses the rights to or if they want to remove it because they don't want to pay royalties when the video is viewed?

    • @tryexponent
      @tryexponent  4 месяца назад

      Hey pauldesrivieres7083, you are right that there are other functional requirements that we could consider e.g. deletion. It is important to note that in an interview, it is not expected for the candidates to cover all possible functional requirements since there are often too many. You can just cover the main system requirements to keep the scope manageable (unless otherwise stated by the interviewer).

  • @pryshrng
    @pryshrng 6 месяцев назад

    Guy never talked about partitioning though

  • @yang-zhong
    @yang-zhong Год назад

    I wander what the design tool the guy used is?

    • @tryexponent
      @tryexponent  Год назад

      Hey Zhong Yang! The design tool being used here is an online whiteboard called “excalidraw”. They have a free and paid version so do check them out if you are interested!

    • @yang-zhong
      @yang-zhong Год назад

      @@tryexponent thanks dude ^_^

  • @SaurabhSharma-ui6zk
    @SaurabhSharma-ui6zk 8 месяцев назад

    We don't have to make service for each verb 😓

  • @xarakus
    @xarakus 2 месяца назад

    Why are we splitting the video? Why not store at as just one object?

    • @naveenn7935
      @naveenn7935 28 дней назад

      Imagine you're uploading a single 10GB video file, and if, due to a network glitch, it gets stuck at 99.9%, you'd need to re-upload the entire 10GB. However, if you divide the 10GB file into, say, 100MB chunks, and a failure occurs at 99%, you'd only need to re-upload that specific chunk. Moreover, by utilizing multi-core, multi-thread capabilities, you can upload all these smaller chunks simultaneously, resulting in faster uploads compared to uploading a single large file sequentially. I hope that clarifies it.

  • @priyanshusharma5989
    @priyanshusharma5989 4 месяца назад

    are videos flat files 7:23 ?

    • @naveenn7935
      @naveenn7935 28 дней назад

      yes, a binary file called a flat file

  • @1nOnlySB
    @1nOnlySB 4 месяца назад

    I didn't understand the response given for the follow-up question asked. Can somone help me here?

    • @tryexponent
      @tryexponent  4 месяца назад +1

      How to support video releases that are predicted to have a lot of demand:
      1. Force push to cache: Proactively distribute video content to edge servers before high demand to reduce latency, minimize server load, and ensure faster access for users.
      2. Reduce the TTL: Lower the TTL for video content to fetch the latest version more frequently, providing real-time updates and quick adaptation to changes during anticipated periods of high demand.

    • @1nOnlySB
      @1nOnlySB 4 месяца назад

      @@tryexponentthank you

  • @Dragon-ok6ne
    @Dragon-ok6ne Месяц назад

    It's not enough and need go more deep with more details such as the schema of the database, the qps, the number of hosts.

  • @Steklopod
    @Steklopod 2 месяца назад

    Amazon Prime does not have creators. He designed RUclips. Not Prime service

  • @tylermorris84
    @tylermorris84 3 месяца назад

    but... the public can't upload video to Amazon Prime... why the heck is this treated like it's a thing?!
    prime is not youtube.

    • @tryexponent
      @tryexponent  3 месяца назад

      Film and TV distribution works similarly to uploading to RUclips. Although, it’s restricted to specific users and production companies.

    • @tylermorris84
      @tylermorris84 3 месяца назад

      @@tryexponent No it does not. I worked at a startup streaming service that was taking in digital masters from studios and re-compressing them and providing them to users.... The studio does not "upload" to the service like a youtube user. That's not how the industry works.
      Sorry, but you're wrong. this is a false premise.

  • @petrkassadinovich2705
    @petrkassadinovich2705 8 дней назад

    Web Server.

  • @arajalali
    @arajalali 7 месяцев назад

    This is really not a good format for an interview. A bunch of boxes and arrows that leaves more questions than answer is NOT how a real interview is conducted. For instance, the moment you draw that box that says "processing queue", the interviewer will ask, what is the nature of that queue, what is actually in that queue? where are the segments of a split video are stored? is it a different storage than the object store depicted? Or when the interviewee mentions "Elastic Search API service" what does it mean? does it mean Elastic search is actually used? Then what is the metadata store? Why should they be kept separate? This is NOT a real interview is conducted.

    • @chirut4327
      @chirut4327 7 месяцев назад

      yes. I too feel that there are a lot of things missing. When happens if while sending the chunks to split server, the upload server crashes. The same with split service to encoder service. There is no data model to show how the video chunks are mapped to the actual video ID. And too many services are talking to Metadata DB, which begs the question, why not have a metadata service. If this is the actual interview then I am sure these questions would popup.

  • @ramneek63
    @ramneek63 Год назад

    i think this guy miss system design concepts from very basic level. He was lost into his own thought and interviewer was like you only go explain assume and complete the interview. Guy was total lost.
    He miss basics to clarify question. It seems like he was teaching rather then requirement gathering or what user wants. Good part was he was explaining well and justifying what he knows lol ., that was same thing we can learn from this.

  • @murooow
    @murooow 2 месяца назад +1

    He lost me in the first three minutes when he prioritized uploading videos as part of his functional and non-functional requirements. Platforms like Amazon Prime have hundreds of thousands of reads for a single upload.

  • @rabindrapatra7151
    @rabindrapatra7151 9 месяцев назад

    kevin looks lost in space.

  • @willw2596
    @willw2596 Год назад

    Sigh. You can tell the interviewee has no experience in designing a video streaming service. What he showed was a typical data-driven website process.

    • @abhishek0647
      @abhishek0647 Год назад

      The intent was to highlight the same, how to approach a problem with the best possible intent when you don't know how to solve it. Took a different approach than other videos to keep it realistic from a mock interview perspective.

  • @lagneslagnes
    @lagneslagnes Год назад +1

    He was rambling a lot.

    • @abhishek0647
      @abhishek0647 Год назад +1

      Thank you for the feedback. It is the first tech video I had ever recorded. I will continue working on my communication and presentation skills. I had a lot of learnings from this video.