System Design Course for Beginners

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

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

  • @GeeksLesson
    @GeeksLesson  3 года назад +119

    ⭐ Table of Contents ⭐
    Visit: ruclips.net/channel/UCzYV9nBadlQdBMPP2ZuDvKA
    0:00 Intro
    1:20 What are distributed systems
    10:14 Performance metrics for system design
    20:05 Back of envelope math
    36:49 Horizontal vs Vertical scaling
    45:02 Load balancers
    53:25 Caching
    1:10:50 Database Design and Scaling
    1:22:50 System Design Interview Question

  • @the.abhisheksinha
    @the.abhisheksinha 2 года назад +309

    One of the best videos I have ever seen on System design concepts .... I have 17 years of experience working in IT and 6 years as a solutions Architect but have not seen such a simple yet detailed lecture on System Design.. I will recommend this video to everyone. Cheers.

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

      Dear Abhishek, your comment has convinced my wandering mind to do this course. Thanks for your comment, never underestimate what your voice can do. All the best for your career sir.

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

      Okay thanks, will save it to watch later.

  • @sid6593
    @sid6593 2 года назад +13

    I don't like that this video isn't at the top of the search results. This is such a good resource for preparing for interviews

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

    Books I liked: The Practical Guide to Structured Systems Design - Meilir Page-Jones; Modern Structured Analysis - Edward Yourdon; Complete Systems Analysis - James & Suzanne Robertson; Developing Structured Systems - Brian Dickinson. Old School

  • @smoothruben3637
    @smoothruben3637 3 года назад +52

    This is hands down one of the best overviews on the internet! Thank you!

  • @tapanparida3176
    @tapanparida3176 2 года назад +15

    I wish there was an option for 100s of likes…this is too good to the core.. I would recommend everyone in IT to watch this or this kind of videos…keep up the good work….

  • @geoffl
    @geoffl 3 года назад +10

    I was hesitant to spend ~2 hours on this. Glad I did.

  • @renaissanceengineer
    @renaissanceengineer 3 года назад +30

    big thanks to Geek's Lesson for publishing this on their channel. If you have any suggestions to improve or video topics you'd like to see covered let me know! I plan on posting a lot more tutorials related to system design and architecture, as well as more detailed videos on specific components. So be sure to subscribe if you are interested!

    • @amaryadav8703
      @amaryadav8703 2 года назад

      You, sir, are an excellent teacher. I wish we had people like you in my college. I have a few questions regarding this video: In the plane example, I think you meant: For covering up availability*, we can have a fleet of airplanes that can be substituted with each other whenever maintenance is required. But the top priority is that each plane must be reliable.... and in the case of Memory estimates for the Instagram-like service, is 500 bytes the request payload size or the response? If it's request payload, which I think it should be, it doesn't make sense to cache what you receive in the request, but rather the data that will be sent back. Please correct me if I'm wrong.
      Apart from that, this is THE BEST video for beginners like me. Thank you so much for this!

  • @cooldudecs
    @cooldudecs 2 года назад +26

    God bless this timeline. The democratization of information is no longer monopolized by universities

  • @AbhiR-fx6md
    @AbhiR-fx6md 8 дней назад

    The only foundational video you need to understand all the different components of system design. I reccommend this video to understand the concept and thinking/reasoning behind every component which "Geek's Lesson" has done exceptionally well. There are many videos in RUclips today, no video with multiple million views addresses end to end like this video. Thanks for creating and sharing this! Very Helpful! I subscribed so that I get the recommendations next time. This video was a hard find.

  • @sunnilabeouf
    @sunnilabeouf 2 года назад +13

    Never had any thorough exposure to system design, this was really clear and informative. Thank you!

  • @node-ks
    @node-ks 2 года назад +13

    Thank you so much for this video, I had no idea where to start in terms of learning system design and I'm glad I stopped here first.This was such a clear and concise way of introducing these essential topics and I feel a lot better with my understanding. I am going to rewatch it now and practice my own mock designs. You are incredible, please keep up the good work !

  • @rushabhjshah9138
    @rushabhjshah9138 3 года назад +29

    wow this was great, if only our schools had professors as good as this guy. Straight to point no BS.

  • @dijoxx
    @dijoxx 3 года назад +10

    Speaking as someone who successfully passed these interviews and got multiple offers for senior engineer roles from FAANG:
    This video is a much better introduction to system design interviews than perhaps any other I watched on RUclips. That being said, your actual design for a RUclips clone is a bit far from what would I would consider acceptable. A few of the problems I can see are:
    - First of all, CDN by itself does NOT just direct you to the nearest web server. That's absolutely not how a CDN works. You may use it to serve videos and other static content, but it is never located in front of a web server and it rarely acts with it.
    - The web server does NOT act as a load balancer. Your load balancers should have been in front of your web servers.
    - For a site like this, you would NOT have monolithic "app server"s as you proposed, but servers with multiple or combined roles that would take care of individual functionalities of your system in a decoupled manner.
    - You likewise need need different queues for different functionalities.
    - You also have not talked about how you would store and cache the data, how you would process the videos, and other nitty gritty.

  • @souravkar4867
    @souravkar4867 2 года назад +5

    The is one of the best tutorials on system design concepts. This is not only for beginners but for everyone in IT. Thank You.

  • @sandeepg
    @sandeepg 2 года назад +4

    Best way to start refreshing the basic system design concepts. One can individually learn these concepts by going through multiple videos and links, however, this video summarizes everything toegther. Thanks for all the efforts, really appreciate the work :-)

  • @stephena.olujare6512
    @stephena.olujare6512 Год назад +1

    Thank you so much for this tutorial! I just like the fact that you take your time explaining every single terminology without haste. Best tutorial i have ever seen. I am subscribing to your channel real quick.

  • @cambellajoe
    @cambellajoe 2 года назад +1

    I have worked with Distributed systems for a while, this video puts everything into perspective. Thank you for this.

  • @kingofqwerty
    @kingofqwerty 2 года назад +8

    This was an excellent lecture. I hope you will adjust the audio better in the future because it was really set too low and I had to max out volume to be able to hear it clearly. Again though, great effort and you really accomplished your objective!

  • @exalia_org
    @exalia_org 3 года назад +26

    I wish this video existed before I had Google interviews in 2020, would've helped tremendously! Thanks for the great explanations :)

    • @francischempa6418
      @francischempa6418 3 года назад +2

      Wish me luck.

    • @jeffb587
      @jeffb587 2 года назад

      @@francischempa6418 how'd it go?

    • @francischempa6418
      @francischempa6418 2 года назад +4

      @@jeffb587 I failed right at the first phone interview. Got a another FAANG interview and I am at the second stage now. Wish me luck.

    • @jeffb587
      @jeffb587 2 года назад +1

      @@francischempa6418 good luck!

    • @francischempa6418
      @francischempa6418 2 года назад

      Finished System design round last two days. Fingers crossed 🤞

  • @diane6863
    @diane6863 2 года назад +2

    Wow, I have a systems design interview tomorrow, great refresher!!!

  • @rohankm
    @rohankm 2 года назад

    Best system design video on RUclips. It’s a hidden gem.

  • @thesuperiorman8342
    @thesuperiorman8342 3 года назад +56

    This is excellent content. The video is packed with information that is presented very clearly and succinctly. I cannot thank you enough. I learnt so much and actually took notes which I don't usually do. The quality is excellent.
    BTW you give a lot of twitter examples. Have you worked for twitter?

  • @yoDQ
    @yoDQ 2 года назад +4

    Thank you for the review! Broad yet simple and succinct. Suggest increasing your recording audio as it was a bit low for anything other than headphones, even on the highest volume for my iphone 12 max pro.

  • @gameplayer1980
    @gameplayer1980 2 года назад +1

    That library analogy was lovely

  • @guez
    @guez 2 года назад +1

    wow... this is by far the best intro (and a bit more) that I found about System Design, many thanks for time invested doing this... It is really appreciated!

  • @shreyasatre
    @shreyasatre 2 года назад +7

    This is an excellent video that explains the basics of a system design. A lot of topics are covered well, and examples are provided about each category to make it easy to understand. Thanks for the lesson!

  • @farmanshaikh777
    @farmanshaikh777 2 года назад

    This is the 'hello world' of System Designs. hands down brilliant.

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

    Thanks for preparing a complete pack of data on system design in a single video :)

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

    Thanks for such a nice video on the system design basics. It was conveyed in a simple language and easy to understand. Thanks for your great efforts and continue this great work.

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

    This Video is the best video I have seen on Distributed Systems Design yet. Thank you very much for this. I look forward to learning more from you.

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

    One of the best lectures on system design out there. Please follow this lecture if you are overwhelmed by the number of resources all over RUclips and the internet. After that focus on solving system design problems. Eventually, you can learn other advanced topics or explore all these components deeper as time goes by. Thank you for creating such a simple yet effective resource. 😃

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

    Thank you so much for this - im not a software engineer and i wanted to understand basics as a product owner and i got it and was so engaged. Thank you again

  • @hitman_mz
    @hitman_mz 2 года назад +3

    Wow! This was a great video. I was looking for a good resource to give a high-level idea about system design for a long time and this was fantastic! Thank you!

  • @snehabhat4876
    @snehabhat4876 2 года назад +2

    I like how you sound bored but the tutorial is so informative and easy to understand.

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

    Great stuff, thanks!

  • @ojogylych1593
    @ojogylych1593 3 года назад +59

    Super job! If only it was a bit louder. Thanks bro.

  • @JennyyDang
    @JennyyDang 2 года назад +6

    I loved this video. Super clear and understandable. I'm a visual learner soo the images 100% helped!

  • @dannyelstein
    @dannyelstein 2 года назад +7

    Excellent video 👍 Well explained and seems thorough. Could be a bit louder - I turned my volume all the way up and it was still a bit too low for me. Very helpful nonetheless.

  • @asgard2054
    @asgard2054 3 года назад +6

    Great video! Thought that I knew system design well, but actually I didn't. Tons of interesting information! Thanks for making this video.

  • @wangsonny8694
    @wangsonny8694 2 года назад +2

    thanks for sharing this great introduction material!

  • @justonegoodtrade
    @justonegoodtrade 2 года назад +1

    Truly this is a such a great primer. Thank you for this!

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

    The best system design overview i've seen. Thank you for making this video.

  • @cunningham.s_law
    @cunningham.s_law 3 года назад +9

    this is great content thanks
    it seems like design interviews are going the same route as algo interviews
    because of Goodhart's law these interviews become gamified and lose their initial purpose in evaluating candidates

  • @devjeff3192
    @devjeff3192 2 года назад +1

    One of the best System Design courses ever!!! Thank you so much for this lit content

  • @jairaj2122
    @jairaj2122 2 года назад +2

    Wow, as a begineer that was really a nice start(:

  • @irocx8745
    @irocx8745 2 года назад +2

    Great intro to System Design for beginners 💯

  • @Danny-we4vz
    @Danny-we4vz 3 года назад +8

    Man this is a solid lecture, thank you so much!

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

    Thanks a lot for the simplification of the ideas, specially on the way the trade offs in distributed systems. Generally people get confused about achieving the higher throughput or keeping 100% consistency while looking for ACID properties and keeping the cost to a minimum. However, I really like the way to explain the trade offs, so that someone picking some special property can understand what are the properties that will be lost during the process.

  • @erixgutierrez6552
    @erixgutierrez6552 3 года назад +6

    I was just looking for this in google literally a minute before you posted it xD

    • @GeeksLesson
      @GeeksLesson  3 года назад

      Thanks for your feedback on this system design course. Let us know how does it help you.

    • @mirsahib596
      @mirsahib596 3 года назад +1

      Dude you just stole my comment
      thank geek's lesson for this awesome upload

  • @Ra123Ra
    @Ra123Ra 2 года назад

    This is the best system design video I’ve seen, fantastic job presenting!

  • @stevenmorales2501
    @stevenmorales2501 2 года назад +2

    Wow was this helpful. Thank you for a great course.

  • @teakodo
    @teakodo 3 года назад +2

    got an amazon interview coming up, I will apply this knowledge. Thank you

    • @o-super2744
      @o-super2744 3 года назад

      How went your interview? :-)

    • @shalsteven
      @shalsteven 3 года назад

      Did you manage it?

    • @22vah
      @22vah 2 года назад

      Yeah, we haven't heard back from you... Did you get the job? 👀

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

    Amazing, this video taught me a lot of knowleage. Thank you

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

    this course is so good, good job

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

    beautiful tour of distributed system design

  • @Ozarif
    @Ozarif 2 года назад +3

    Great video! Very focused to the point.
    Many thanks for you for the great explanations.

  • @vijayabhaskararaodarsi273
    @vijayabhaskararaodarsi273 2 года назад

    Capacity estimation for storage is approximate values not absolute numbers. Many thanks
    for the video on system design. Few managers in IT companies stress for absolute values for storage estimation. They are wrong. Thanks for the video, its indeed the great video on system design.

  • @boscodomingo
    @boscodomingo 2 года назад +2

    Great starting guide for beginners. A couple improvements I would make are how slow you speak (had to watch at 2.7x lol) and at 28:20: 1 kilobyte is in fact 1000 B, and 1 Kibibyte (KiB) is 2¹⁰ or 1024 B. 'Kilo' is Greek for thousand, and the SI determines that a kilo of whatever is a thousand units. Also I missed Resiliency as a performance metric for systems. Other than that, ty for such awesome, free information ;)

  • @eshab9777
    @eshab9777 2 года назад +2

    This was such a great lesson!!!! Thank you so much. Great job at being concise and using simple examples!

  • @jasper5016
    @jasper5016 2 года назад

    This one video is enough for me to crack System Design interview. Thanks a lot

  • @litingzhang5678
    @litingzhang5678 2 года назад +1

    I love this introduction, thank you,

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

    This video is a masterpiece, thanks mate ^_^

  • @GiridharVedula
    @GiridharVedula 3 года назад +4

    Awesome, i'm going to make a PPT based on this for my upcoming presentation.

  • @mintoo2cool
    @mintoo2cool 3 года назад +6

    kinda wish you spoke louder. 37 mins in ... pretty good content so far ... thanks for running through some of the things people should be thinking about before putting their energy into new products or features ...
    edit: one suggestion - maybe swap caching and db scaling because caching is a db scaling technique at the end of the day.

  • @VincentStevenson
    @VincentStevenson 2 года назад +1

    Thank you so much for this video - it has been a great resource to help understand system design.

  • @antonfernando8409
    @antonfernando8409 2 года назад

    pretty cool, as an embedded s/w developer, I dont' see myself in system wide designs like this, so its get this perspective, lot to learn here.

  • @samrey8134
    @samrey8134 2 года назад

    We appreciate you and Love you man.... THANK you. The perfect Tool for my next interview.

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

    Awesome and comprehensive lesson! Thanks a lot.

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

    Thank you for this great tutorial !

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

    Excellent presentation 👏

  • @naordaniel
    @naordaniel 2 года назад

    Wowwwww, I don't have anything more to say, you are doing such a great job explaining this I'm still shocked

  • @warpathh
    @warpathh 2 года назад +1

    Nailed it man. Awesome

  • @kayluvsexy
    @kayluvsexy 2 года назад +1

    Beautifully explained 👍🏾🙌🏾

  • @jordanblount9574
    @jordanblount9574 2 года назад +1

    Such a good video. Thanks!

  • @lynnalhaimy
    @lynnalhaimy 2 года назад

    This was the most informative video I have ever watched. Thank you for putting this up!

  • @Aziz-jr3kq
    @Aziz-jr3kq 2 года назад

    I have an interview about this topic tomorrow, I guess I will survive.
    Thank you very much

  • @viditwalia7790
    @viditwalia7790 2 года назад

    first thirty minutes i am just following u, but after that i loved it till the end.. , Good job 👌👌

  • @abhibhatta1
    @abhibhatta1 2 года назад

    The RUclips design at the end was extremely basic and could improve immensely. Other than that it was a really concise and impressive introduction.

  • @mtjokro
    @mtjokro 3 года назад +6

    my brain is hot after watching this...great content though!

  • @Satyam_singh18
    @Satyam_singh18 3 года назад +3

    Thank you for this course..

  • @amaryadav8703
    @amaryadav8703 2 года назад

    In the plane example, I think you meant: For covering up availability*, we can have a fleet of airplanes that can be substituted with each other whenever maintenance is required. But the top priority is that each plane must be reliable.... and in the case of Memory estimates for the Instagram-like service, is 500 bytes the request payload size or the response? If it's request payload, which I think it should be, it doesn't make sense to cache what you receive in the request, but rather the data that will be sent back. Please correct me if I'm wrong.
    Apart from that, this is THE BEST videos for beginners like me.

  • @Elite54.
    @Elite54. 2 года назад

    thanks for taking the time to make this great video for us. I really enjoyed watching it. You make a great teacher.

  • @shponder9510
    @shponder9510 2 года назад +1

    God bless you sir 👏

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

    Thanks Geek's Lesson for such an amazing video covering all system design concepts !

  • @NathanZheng
    @NathanZheng 2 года назад +2

    Great content! Very clearly explained with good examples! Thank you!

  • @ronifintech9434
    @ronifintech9434 2 года назад

    very structured and straight to the point video! thank you!

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

    Nice video with basics. Regarding RUclips clone, as an interviewer I would definitely question the idea of putting likes/dislikes into the same table (or even db). This information would be constantly updated, while everything else would almost never update.

  • @BrijeshBolar79
    @BrijeshBolar79 3 года назад +1

    Thanks for this wonderful video. Detailed and easily understandable. Thanks for sharing

  • @shashankrao23
    @shashankrao23 2 года назад

    awesome stuff, 2 hrs felt like 30 mins fine teaching

  • @priyankamishra5704
    @priyankamishra5704 2 года назад +1

    Super awesome!! This is so simple yet so insightful.Thanks a ton.

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

    Thanks

  • @genuineprofile6400
    @genuineprofile6400 2 года назад +3

    System design from the ground up. Absolutely amazing content.

  • @sanjaykumaragarwal6033
    @sanjaykumaragarwal6033 2 года назад +1

    Absolutely great video, loved watching this, please make more such videos on designing distributed systems etc.

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

    Amazing video

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

    Great help. 😊😊

  • @ashokkk
    @ashokkk 3 года назад +2

    Thanks a lot. Great lesson.

  • @hannnah689
    @hannnah689 3 года назад +1

    thanks for sharing, super helpful!

  • @saim8561
    @saim8561 2 года назад +1

    Thank you .This is so useful.

  • @tyagianujk
    @tyagianujk 2 года назад

    Thank you for posting this amazing video!