System Design Interview: A Step-By-Step Guide

Поделиться
HTML-код
  • Опубликовано: 21 дек 2024

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

  • @MorphologicalGeek
    @MorphologicalGeek 3 месяца назад +55

    I think this video provides a solid foundation for what to think about and how to structure your time. To add to this knowledge, and as an occasional interviewer, I would recommend emphasis on thinking about why you are there and what skills the interviewer is looking for. As an interviewer I'm less interested in the actual design and more interested in how you approach the situation - what questions you ask, what assumptions you make, how you deal with ambiguity, what your problem solving skills are like, and so on. Seeing you draw things on a whiteboard - and explain them - also gives me insights into how you communicate, which is also critical.
    I think this video possibly gives the impression (to some people) that you have to come up with a carefully considered design which is comprehensively complete and to a level of detail that is probably impossible to do in 35 minutes - especially if too many features are requested. One way to deal with that is to take a "steel thread" like approach and demonstrate how something could work end-to-end without going into all the details - just enough to join all the layers, not fill them all in. For example, if you can demonstrate what one REST API operation looks like to some level of detail, as an interviewer I probably don't need to see a second example - that's where checking in with the interviewer is a good idea - is that one enough? would they like to see more? Remember, (perhaps depending on the level of seniority) the interviewer might be looking to see how you handle a situation where the work requested is clearly not doable in the time allocated - what techniques do you use to deal with those situations? Checking in with the interviewer as to what they expect is a valid approach - just like (good) team leads and managers appreciate team members checking in with them periodically, especially when timeframes are tight.

  • @JheregJAB
    @JheregJAB Год назад +181

    I like this and find it helpful, but I'm also a person who does well learning by example. I realize it would be a very different video from your normal format, but it would be pretty cool to do a full ~1hr example interview which showcases this in practice.

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

      NeetCode has a few of those in the meantime:
      ruclips.net/video/o5n85GRKuzk/видео.html

  • @_koercion9858
    @_koercion9858 Год назад +33

    the smooth animation and clear structure of presentation are incredibly amazing, thanks for presenting such quality video

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

    My MIS BSBA was instrumental in Systems Analysis and Design, and although it gave me a great overview… It is videos like these I go to for more in-depth and situational knowledge for System Design and Software/Database development. Thank you for publishing resources like these.

  • @sammyroberts8902
    @sammyroberts8902 Год назад +10

    Thank you for this, I got asked about non functional requirements in an interview and had never heard that term. This clarified that for me!

  • @DrDiabolical000
    @DrDiabolical000 Год назад +101

    Really really awesome video. Would really appreciate it if you could make a video on some examples/scenarios and which technology to use in those cases. You have covered some really good cases, especially related to DBs in ur channel. In particular I was looking for when to and not to use message queues and their challenges and limitations. Thanks.

  • @futurexjam2
    @futurexjam2 Год назад +51

    It requires multiple knowledge on many areas. Senior engineer is different from solutions architect. It is similar to medicine and in medicine you are becoming more experienced on an specific area. But today, every body urges software developers/engineers to become expert on many areas... it is insane.. we are human, not a machine...

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

      true, but the breadth of knowledge you have is a good indicator of how many situations you’ve worked on and how experienced you are. Which is why these Interviews aren’t usually done for junior engineers

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

      Agree, insanity & stupidity has no boundaries in this so call educated society.
      And that's why reality is quite different than these interviews and many interview ready & not job ready people are hired, even by Big companies like Google, Adobe, Atlassian and then management wonders that why costs are getting higher.

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

      To be honest if you want to be a software engineer forget about having a low stress career where you can cultivate depth in one domain. This SWE career is all about hustling, learning as things keep changing, sucking up to the latest technologies, struggling to stay relevant, ignoring your health and mental well being, ignoring your higher pursuits such as a social life, having family or kids, or doing something worthwhile that is helpful to society or the upliftment of those who are doing badly in life. If you are a software engineer who is interviewing and has to do a system design interview, assume that you will never get it right. The field is lopsided and unfair to anyone who wants to explore anything broader than specific software technologies.

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

    Thank you. I know nothing about system Design. But this video gave me a good understanding of it.

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

    Thanks for putting a thought framework. This will be very useful not only for active job seekers but to any engineers who is solving complex problems. It would be great, if you can make a video with a specific example.

  • @nemeziz_prime
    @nemeziz_prime Год назад +7

    Alex sir's videos make these concepts look amazingly simple and clear 🔥

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

    Awesome! One thing I see missing is “delegation” of tasks. For example on the DB performance, network etc at least during the deep dive.

  • @waffle8364
    @waffle8364 10 месяцев назад +45

    I feel like technical interviews are broken and no matter how much you prepare you're always going to have to deal with a random interviewer who may not even be that focused or someone who is biased etc.

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

      This is what I have experienced as well.

    • @S5Dic09
      @S5Dic09 4 месяца назад +2

      Exactly, like when for my most important interview ever they went for the DEI hire (an ex Russian ballet) instead of me, the one with the Computer Science Engineering degree and professional exp. Thank you germany, I see why Europe will always be behind the USA

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

      In Europe, complete idiots are taking system design interviews they are not senior, and they don't know anything and later they reject u for completely stupid reasons. what a joke Europe has become.

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

      I'm sorry about your experience, but Russians usually don't fall under the DEI category. Also Russian ballet dancers are extremely hardcore, they have incredible work ethic, so I'd not be surprised to find a ballet dancer becoming hypercompetent in a new chosen field.

    • @kbm-iy9tj
      @kbm-iy9tj Месяц назад

      @@S5Dic09lmao loser.. mentality

  • @pranavmahajan4190
    @pranavmahajan4190 10 месяцев назад +3

    You are the best when it comes to System Design. Thanks so much!

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

    Step 1: capture features and NFR
    Step 2: propose APIs, high level diagram, data model
    Step 3: Dive into specific implementations. Articulate problems and propose solutions.
    Step 4: Wrap up

  • @04minutes53
    @04minutes53 Год назад +5

    Your Presentation always is well above others. What software you used for these animations. Very Impressive and a Perfect one. If possible share which software you use for animations and Drawings.Thanks

    • @04minutes53
      @04minutes53 Год назад +1

      Please reply ..Wish to know the tools

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

    7:18 - -what is meant by 'Each feature is complete end to end', that too in High Level Design?

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

    The animations are amazing and on point. Great work!

  • @yalslaus
    @yalslaus Год назад +522

    It's crazy to me that they don't teach any of this in universities. They are so far behind real world issues.

    • @NhatNguyen-bn9lc
      @NhatNguyen-bn9lc Год назад +25

      I thought that even the lecturer does not know that.

    • @Mark-rt6fy
      @Mark-rt6fy Год назад +28

      Companies know this, and thus asking design problems to reflect candidates' work experience

    • @NhatNguyen-bn9lc
      @NhatNguyen-bn9lc Год назад +12

      @@Mark-rt6fy big problem for student taught by inexperienced lecturers

    • @Mark-rt6fy
      @Mark-rt6fy Год назад +22

      @@NhatNguyen-bn9lc And that's by design. New grads are not expected to answer system design questions. On the other hand, if you worked with enough large projects, you are supposed to know all those without preparation. We are just cutting corners here.

    • @NhatNguyen-bn9lc
      @NhatNguyen-bn9lc Год назад +8

      @@Mark-rt6fy maybe new grads do not need to know all in detail but they should have an overview of system design. At least it can help them quickly search document for solution

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

    Amazing video! Thank you for your clear and calm explanations. I really appreciate the effort put into the animations as well. Well done!

  • @arthur723
    @arthur723 8 месяцев назад +2

    I'm not sure why data modeling is after defining APIs. The APIs are about the input and output, which are further dependent on data models. If this makes sense, shouldn't we do data models before defining APIs?

    • @MorphologicalGeek
      @MorphologicalGeek 3 месяца назад +1

      Agreed. I guess that in today's setting, "API first" is a successful idea, so it's not a bad place to start if you are lost, which might be why they suggest it.
      I find that there's often a design aspect (like data, integration or functionality) that is the the natural leading aspect for a given situation - which makes that the best place to start. E.g. sometimes you might be designing/architecting for an existing system, where the data design already exists, and the APIs need to build on that. Other times (say with a green field design) you might want to start with the API design and have that lead the rest of the design including data; this might especially be the case if you need to co-design the API with people who are API consumers.

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

      @@MorphologicalGeek thank you!

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

    How valuable are these videos! They should be taught at the university.

  • @4Guerra444
    @4Guerra444 Год назад +5

    congrats to the video editor, he did a very good job

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

    How do you make such type of videos ?? ... specially interested in diagrams ... rotating diagrams ?? Any tool ? Pls suggest

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

    illustration looks great, What is the tool that is used to design these illustration/ppt ?

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

    Your book its awesome. Very easy to read with a lot to learn, I recommend it

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

    Amazing video! Just the perfect timing for me. Hope to learn more and get prepared for my applications. Thanks so much.

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

    The contents and the production of this video are both amazingly great!

  • @chessmaster856
    @chessmaster856 7 месяцев назад +2

    With unlimited horizontal scalability snd replication how do non functional requirements matter. Only thing we can design is for horizontal scalability.

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

      Non-functionals requirements -> system quality attributes. System quality attributes are attributes that describe the qualities the systems has or should possess - including usability, security, availability, maintainability and much more. Non-functional requirements are specific (and ideally testable) requirements that focus on system quality attributes.
      Regarding horizontal scaling and replication - whilst it's true that could computing makes them much easier to use, it doesn't mean that you always get value from them for free - there's often some trade-offs involved, even if it's only additional complexity.

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

    Excellent Video. Condensed, but clear, with beautiful production. Me like a good framework.

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

    Besides your information about system design, I really loved your way of showing the details and the animation. Good work ❤🎉.

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

    That so awesome. The content and illustration on the high level. Many thanks.

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

    I like they way you explain and present . Which software you are using for the animation .

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

    Well you are spot on. I am already seeing dynamic architecture in play.

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

    What is the application used please to build the presentation ?

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

    Could you please show in an example video plz? I read one of your sys design books. It is a great reference book but it's difficult to simulate the interview session by just reading it.. Can you show by doing a 45-minute session, how you put this methodology into practice?

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

    Hi..thank you so much for your great contribution and explanation..small request.. could you do system design video for cabs and ticket vending machines as those r asked recently in one of my interviews

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

    Great! I really like this channel. Based on the quality content I ordered the book and am looking forward to reading it.

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

    Really great explanation, Which app do you use for creating and animating diagram ?

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

    Best descriptions of the plan. Thanks a lot ❤

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

    Great content as always. Thanks for all your efforts.

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

    this is the nost detailed explanation video I've ever watched. Like it a lot

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

    Thank you for the guidelines!

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

    One time I interviewed with Facebook for a Web Front End role. The interviewer asked me to design a Google Search server infrastructure, with load balancing, and how many servers are needed, etc. I think that's the summit of human intelligence

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

      Its crazier around where I come from. Business analyst was asked DS question.

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

      @@SchoolScience sometimes I wonder if they ask those question to disqualify you. Like whatever they ask, they hire the young people

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

    I've always appreciating you. thanks for making this awesome video :)

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

    Most important point :
    Never jump to directly into HLD creation step. instead ask the requirements and functional and non functional both to get the short idea of scope and than built it accordingly. take your time and discuss

  • @fronix5060
    @fronix5060 Год назад +18

    Love this, however I have never been part of a project where we had time to do all of this 😭

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

    Great very good, Many thanks Sir. Just one question in which Software have you drawn those diagrams?

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

    Beautifully presented. Thank you so much!

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

    Great content and interesting to learn this way. May I know which modelling tool you use to create this content?

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

    Great video! Thanks for the instruction.

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

    Thank you for the video. What program do you use for your amazing graphics?

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

    Really nice. Wondering about what you use to make the drawings of the video. Anyone knows?

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

      After Effects.

    • @maxw.3027
      @maxw.3027 Год назад

      Illustrator and After Effects.

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

    Thank you for explaining in a nutshell

  • @Jarnuman
    @Jarnuman 6 месяцев назад +1

    thank you! realy helpful

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

    good content and video design , guide us what tools you are using for animation

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

    A BIG BIG THANK YOU FOR THIS VIDEO !!!.

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

    This video is just Amazing!

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

    Really helpful video! Thanks for your great work.

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

    it would be very intresting to see a mockup interview using this system

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

    Great hints on an otherwise messy situation. Thanks!!

  • @OGMadMax
    @OGMadMax Месяц назад +1

    How are these animations made?

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

    Your videos are awesome! Thank you

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

    Load balance ? Web socket hard to scaling ? Did you elixir/erlang ??

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

    Hi, I bought subscription to your book on your website. Does it contain both Volume 1 and Volume 2?

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

    super useful and helpful! great video!

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

    Sir at what point in your design cycle do you handle data modeling. You example is more a tech use case. If you took a typical IT org, we have complex data models. We find many new comers these days think of API to satisfy requirements and mostly ignore the core data/object model. As a result, we do not model data properly and end up with redundant tables or data structures

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

    Thank you for this wonderful video

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

    Hey can any body tell me how this guy make statefull images where things are moving.. please

  • @slayer-x2f
    @slayer-x2f 2 месяца назад

    Great video

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

    your animations are amazing how its done ?

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

    Salutations for guidance!

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

    this is really informative and useful, thanks

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

    is this a high level design or low level design?

  • @Ayoub-adventures
    @Ayoub-adventures Год назад

    What's the animation software used ?

  • @adilsheikh9916
    @adilsheikh9916 3 месяца назад +1

    Before creating right System Designs, industry needs to design the right interview process first.

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

    Excellent one

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

    How can you make a so professional & useful video, oh my master.

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

    Pushing the algorithm ❤️

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

    Absolute fire 🔥🔥🔥🥳✌️

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

    Thank you ❤️

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

    Can you create a roadmap for system design?

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

    Why system designs mostly come with interview tags.

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

    Thank you!

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

    Useful ❤️

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

    Amazing video

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

    if interviews are stressful, fix them....software industry is the only industry where a candidate has to prepare for the interview...does a surgeon has to prepare for his/her surgery skills when he/she looks to change a job, or does a truck driver has to hone his driving skills when he goes for an interview...

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

      The Asian dude on the video said this interview “might” be stressful, not that it’s broken.
      I’m in this industry, and we don’t have licensing or certification requirements to get the right people for the business objectives.
      This is like 45 mins or 1 hour that is all you have before ramping up someone for 6 months to a year before seeing what’s up.

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

    the heck! no one curious what tool to generate those amazing animation diagram?!!! yyds

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

    Very Nice

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

    very useful

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

    good video

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

    This is a nice prep but you should stimulate actual interviews with people

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

    TIL that websocket server is stateful and challenging at scale.

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

    Ok i need this today … yes today because i have an real interview 🤣🤣

  • @adilsheikh9916
    @adilsheikh9916 3 месяца назад +1

    Fact 1 - System Design interviews are never open ended. These are always biased.
    Fact 2 : Most interviewers are themselves not right fit to take such interviews.
    Fact 3 : Forget about any such Framework, if the interviewer doesn't like you, you can never succeed.
    Fact 4 : Scope of such problems is always bound to the scope of interviewer's understanding.
    Rest such videos are always good to watch and learn new things. And these interviews has caused such videos industry flourish to help people make their money.
    So no-one of these people would like to change these interviews' pattern and many candidates can continue to stuck in wild goose chase.

  • @patrick-8068
    @patrick-8068 Год назад

    Argo have​ under​stand​ med but​ work​ fewest system​ Ego.

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

    177 Schiller Flats

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

    893 Smith Fords

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

    596 Garry Lodge

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

    System design interviews now a days feel more like a practiced choreography. Interviewer and interviewee dancing rhythmically. One missed step and its gone.
    Whether you worked and used the technology you are proposing in your design doesn't matter and pretending that you are an expert in it is an art in itself.

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

    342 Emelia Ramp