20 System Design Concepts Explained in 10 Minutes

Поделиться
HTML-код
  • Опубликовано: 26 апр 2024
  • 🚀 neetcode.io/ - A better way to prepare for coding interviews!
    A brief overview of 20 system design concepts for system design interviews.
    Checkout my second Channel: @NeetCodeIO
    🧑‍💼 LinkedIn: / navdeep-singh-3aaa14161
    🥷 Discord: / discord
    🐦 Twitter: / neetcode1
    📷 Instagram: / neetcodeio
    🎵 TikTok: / neetcode.io
    0:00 - Intro
    0:22 - Vertical Scaling
    0:39 - Horizontal Scaling
    1:05 - Load Balancers
    1:50 - Content Delivery Networks
    2:25 - Caching
    2:52 - IP Address
    3:05 - TCP / IP
    2:52 - IP Address
    3:58 - Domain Name System
    4:41 - HTTP
    5:45 - REST
    6:05 - GraphQL
    6:35 - gRPC
    7:22 - WebSockets
    7:58 - SQL
    8:25 - ACID
    8:55 - NoSQL
    9:20 - Sharding
    9:45 - Replication
    10:20 - CAP Theorem
    10:50 - Message Queues
    #system #design #interview
  • НаукаНаука

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

  • @yogeshputtaswamy8464
    @yogeshputtaswamy8464 Год назад +463

    I love how the topics are connected to one another in a simple and neat way.

  • @avishkahettiarachchi8617
    @avishkahettiarachchi8617 10 месяцев назад +300

    System design concepts explained in the video 👇
    1. Vertical scaling - refers to increasing the resources (such as CPU, memory, or storage) of a single machine to improve its performance or handle higher workloads.
    2. Horizontal scaling -adding more servers to a system to distribute the workload and increase overall capacity and performance.
    3. Load balancer - A load balancer is a network device or software that evenly distributes incoming network traffic across multiple servers or resources to optimize performance and ensure high availability.
    4. Content delivery networks - Content Delivery Networks (CDNs) are distributed networks of servers located geographically closer to end users, designed to deliver web content efficiently by caching and serving it from nearby locations
    5. Caching - Caching is the process of storing frequently accessed data or content in a temporary storage location (cache) to improve retrieval speed and reduce the need for repeated requests
    6. Internet Protocol Address - An IP address is a unique numerical label assigned to each device connected to a computer network
    7. TCP - TCP (Transmission Control Protocol) is a communication protocol that ensures reliable, connection-oriented transmission of data by dividing it into smaller packets, numbering them, and reassembling them at the receiving end.
    8. DNS - DNS (Domain Name System) is a decentralized naming system that translates human-readable domain names into IP addresses
    9. HTTP - HTTP (Hypertext Transfer Protocol) is a protocol that governs the communication between web browsers and servers, allowing for the retrieval and transfer of web pages and resources over the internet.
    10. REST - REST (Representational State Transfer) is an approach to designing web services that uses standard HTTP methods and URLs to facilitate communication between clients and servers.
    11. GraphQL - GraphQL is a query language for APIs that provides a flexible and efficient way for clients to request and retrieve data from servers by allowing them to specify exactly what data they need. Using single query it can fetch multiple resources without overfetching as well.
    12. gRPC - gRPC (Google Remote Procedure Call) is an open-source framework that enables efficient communication and interoperation between services by defining the interface and data contracts using Protocol Buffers and facilitating bi-directional streaming and error handling.
    13. web sockets - WebSockets is a communication protocol that provides full-duplex, real-time, and bidirectional communication between a client and a server over a single, long-lived connection.WebSockets can be used in applications such as chat systems or real-time collaboration tools, where instant and continuous data exchange between clients and servers is required.
    14. SQL - SQL (Structured Query Language) is a programming language used for managing and manipulating relational databases, allowing users to perform tasks such as querying data, defining database structure, and modifying data records. SQL is considered to use when fast retrieval of data is needed
    15. ACID compliance - ACID (Atomicity, Consistency, Isolation, Durability) compliance is a set of properties that ensure reliability and integrity in database transactions, guaranteeing that they are executed reliably, consistently, and without interference.
    16. NoSQL databases - NoSQL (Not Only SQL) databases are a class of databases that provide flexible, schema-less data models and horizontal scalability, making them suitable for handling large volumes of unstructured or semi-structured data.
    17. Sharding - Sharding is a technique in database management where data is horizontally divided and distributed across multiple servers or nodes to improve performance, scalability, and load balancing.
    18. Replication - Replication is the process of creating and maintaining identical copies of data across multiple servers or nodes, providing redundancy, fault tolerance, and improved data availability in distributed systems.
    19. CAP thoerem - The CAP theorem states that in a distributed system, it is impossible to simultaneously guarantee consistency, availability, and partition tolerance, and therefore, trade-offs must be made between these three properties.
    20. Message Queues - Kind of like databases because they have durable storage. They can be replicated for redunduncy or sharded for scalability. This can be used in task distribution and workload decoupling.

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

      Thanks Brother

    • @Jambajakumba
      @Jambajakumba 9 месяцев назад +4

      Thanks man! God bless you

    • @JazzEnrico
      @JazzEnrico 9 месяцев назад +2

      Thanks man :)

    • @kubrenh8976
      @kubrenh8976 7 месяцев назад +3

      You fucking legend. I was going to make some notes. You saved me time. Cheers

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

      HOLY BASED

  • @anantprakashsingh8777
    @anantprakashsingh8777 11 месяцев назад +33

    5:30 years and years of watching RUclips videos and this has to be the most compelling way of asking for a sub yet, I would've subscribed had I not been subscribed already.

  • @purpledaddy6077
    @purpledaddy6077 Год назад +86

    Well done! Very digestible explanation with great motion graphics to help illustrate!

  • @ravinders9221
    @ravinders9221 Год назад +17

    Crisp & clear content. You were able to cover most of the important topics in just 10 min. Nice keep up the good work.

  • @aaroncohen6577
    @aaroncohen6577 11 месяцев назад +6

    This is so well put together. So clear, concise and great graphics.

  • @meNoBatman
    @meNoBatman Год назад +82

    Bowing down to this incredibly well made content. Thank you so much!

  • @oleshko-g
    @oleshko-g 10 месяцев назад +17

    Oh. My. Gosh. This is THE most concise video about Systems design I’ve seen. All this fragmented things I’ve heard finally make sense together. Thank you 🙏

  • @andrewkicha1628
    @andrewkicha1628 10 месяцев назад +7

    Great job, I like how you balance between conciseness and covering just enough details so that people can further learn it if they are interested in a concept

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

    Best ever! Compact and interesting intro to system design concepts!!! Excellent!

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

    So much information in 11 minutes. Thank you for making it happen. Very helpful.

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

    OMG I loved the video, so well explained in a short amount of time. The perfect combination 😎❤️

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

    This is the best short video I have ever seen about the system design. Keep up the good work.

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

    The most creative way to ask people to subscribe! If I could, I would have subscribed 10 more times. Absolute genius!

  • @doctorrusty6494
    @doctorrusty6494 11 месяцев назад +3

    Very good summary of different but related concepts. I wish there were videos like this when I was starting as a Junior Dev 😯

  • @rahulsbhatt
    @rahulsbhatt 11 месяцев назад +60

    Thank you for your hard work!

    • @Vikas_Kumar_Singh
      @Vikas_Kumar_Singh 7 месяцев назад +6

      @@sunset7456 thats much more than 5$ bro 4000/80 is 50 dollars

    • @Nickator
      @Nickator 7 месяцев назад +11

      Bro just dropped 4k 💀

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

      @@Nickator no bro actuallybri dropped class 4..😂😂

  • @apipolaris
    @apipolaris 10 месяцев назад +2

    OMG tha was the most direct and simple way to explain a lot of important concepts! Every dev should watch this to understand more about the macro dev world

  • @guhkunpatata3150
    @guhkunpatata3150 11 месяцев назад +3

    i can see my years learning web in 10 minutes. very well made content and great explanation.

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

    CS590 Software Architecture summarized in 10 mins, awesome...this was definitely the most bulky course and you did way better than my professor in explaining

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

    Most valuable 10 mins was spend! No second was wasted. kudo to you!

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

    Important topics have been updated in just 10 minutes. Thank you for your concise and clear video👍👍👍

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

    Thanks! Keep it up, NeetCode!

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

    I really loved all the concepts. I'm a front-end heavy full stack developer wanting to upskill in the backend department. These pointers are really helpful. Could anyone point me in the right direction to learn more advanced topics on database designs and it's efficiency?

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

    Great video. It connected some dots for me. Great content thank you

  • @sudiproy4413
    @sudiproy4413 Год назад +38

    The best part is that I am already familiar with most of the concepts mentioned in the video. Still, I didn't realize it fell under the 'System Design' category since I am a self-taught backend developer.

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

      Interesting. This just further proves that frontend and backend really do have a distinct divide. Client side and server side. Client side definitely focusing more on human interaction, server side focusing more on the "motor/engine" of an app.

    • @amcmillion3
      @amcmillion3 9 месяцев назад +3

      @@joaquin67 Yea. I had it put to me perfectly by a senior on my team. Backend developers are really just data plumbers. We build all the underground plumbing for data to be moved around. Front end developers build the fancy sinks, toilets, showers, etc... that get the data from the plumbing.

    • @joaquin67
      @joaquin67 9 месяцев назад +1

      @@amcmillion3 I always love hearing the house analogy further improved as both are equally important. For example, I wish I had more outlets in my apartment that was built in the 80s, and more cabinets for things. Likewise, I wish the plumbing in my 2nd restroom didn't have the hot/cold water temperatures reversed. Backend is the bridge between data and frontend, frontend provides interaction between backend and human. Unfortunately, the human is the only level in the stack that can't always be debugged lol

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

    Thank you for this super understandable explanation.

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

    Awesome summary, I was actually looking for it.

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

    Great video, this is exactly what i was looking for to prepare for my interview tomorrow. Thanks!

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

    Clear, concise and precise

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

    Man I bought your lifetime subscription and I can say you have a talent to explain complex concepts in a simple language. You should expand your course to more areas - for example Cloud services (AWS, GCP, Azure...) - there are tons of content topics there and there are no content for those topics on youtube in terms of explaining as good as yours. You should do it bro!

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

    Thank you for making this! Another highly informative video! I am so impressed with your animations. Are you using remotion to make those? Or it is all after effects skills?

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

    Wow! This video is impressively well-crafted, managing to be both concise and thorough simultaneously.

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

    omg bro this is so much better than all other vids about system interview that I have seen

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

    Explained in simple and graphical way., that’s awesome!!

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

    Wonderful explanation 🙌

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

    Wow! That took so much knowledge to create such simplicity. Thank you.

  • @Mohamed-uf5jh
    @Mohamed-uf5jh 11 месяцев назад

    Thank you for your efforts. Very helpful.

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

    Wonderful concept explanation @NeetCode

  • @vitalyl1327
    @vitalyl1327 Год назад +22

    NoSQL is older than relational databases. All DBMSes were NoSQL prior to that Codd paper. All the flavours existed back then, in the late 60s - early 70s - document, hierarchical, graph-based.

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

      Really? Wow I wouldn't have thought so!

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

    I keep coming back to this, you need more content like this.

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

    Thanks for the video. Crystal clear.

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

    im so thankful for this video. i understood so much ❤❤

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

    This video is the best to just brush up the topics . Thankyou for making this very easy to understand!!!

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

    The last part summed it up perfectly!

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

    This is the best system design video i have watched!!

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

    Wow man you did a great explanation in very short time.

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

    This is pure gold for beginners! 🙂

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

    Goes to show u really understand the concept when u can explain all the terms so well and easy to understand, all while making connections to each feature! 👍🏼

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

    Should have mentioned queues back when you introduced horizontal scaling since you need it there and people would understand a fundamental use case more clearly.

  • @Alim-yo3sc
    @Alim-yo3sc Год назад

    Nice and simple... Thank you!

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

    This was beautiful!

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

    Incredible video man!
    Thanks for all your effort!

  • @oluwagbengakosoko9014
    @oluwagbengakosoko9014 18 дней назад

    Wow! One of the best videos on RUclips

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

    Thank you so much, very helpful!

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

    This is just gold! Thank you!

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

    Outstanding. Subscribed!

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

    Somehow I know every concept you had explained
    Its a good thing tho
    Love you video keep up the good work❤

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

    Amazing, this is why I follow you!

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

    Excellent content mate !

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

    oh my god, i'm halfway through and i just had to stop watching and come here to comments to tell how much i love the video. the way it is structured and how easily and smoothly it takes us from concept to concept, never breaking the flow is just amazing. very well done! thank you SO SO MUCH for putting it out here!

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

    This video is very informative, thanks for this high quality video ❤️

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

    Thanks! Great video

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

    This is great 💯 Thanks ❤️

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

    thank you NeetCode, enjoy the show

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

    The connection is really helpful. thanks!!

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

    Good review to make sure I still know my basics

  • @HikariSkript
    @HikariSkript Год назад +42

    Very Useful content, I loved the Design pattern video also.
    Had an interview on Friday, They asked about the strategy pattern, I told them how to Make FilterStrategy. 🤣 The round was was supposed to be 1 hour long but ended in half hour. I answered almost all questions. But there is no response from them.

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

      Where did you get filter strategy video in this channel?

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

      @@sunithaarganurkar7486 Search for neetcode design pattern, watch the video, he will explain with code. Pause the video to have better understanding.

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

      how did it go?

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

      did you hear back?

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

      @@spooder5022
      Hi, I got the response and cleared all rounds, there was a round with VP after that. The HR is delaying the offer tho, He said he will give the offer last Monday. I called again and again. No response.
      Meanwhile I got an offer from an Ad Tech company. The process was very smooth interactive interviews. Its giving 30% hike.
      The above one is a Data Science AI company.
      I am very confused should I pressurize the other company for offer or go with ad tech.

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

    One of the best videos I see for system design

  • @EE12345
    @EE12345 18 дней назад

    This is so well made

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

    Very quick and linked information.

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

    This is phenomenal!

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

    So much gold nuggets in this concise video. I think its serves really well having gone through your SD course. also, I see what you did there @10:43 😂

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

    May God bless, great educational content.

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

    Thank you so much for such great excellent content, it is so effective and easy to understand, worth it 👍👍😍😍👌👌🙌🙌

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

    Yay! With NeetCode, I can finally jump from a trainee-level to a senior-level in just 11 minutes!
    But wait, where can I get the actual physical box? Also, does one need to necessarily add milk, or can I just chew them 20 Must-Known System Design Concepts like potato chips?

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

    Excellent work!

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

    Simple & Clear👌🏻

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

    You're so talented!!!!!!

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

    very well explained and easy to understand . thanks

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

    Brief, great video. I love this!

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

    Amazing video! I hate how slow so many videos are and how much fluff they contain. You manage to explain these concepts in SUCH a simple way, which is a truly valuable and rare skill. Also +1 for the 5:29 subscribe button use case.

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

    That's great knowledge 👍, tks for sharing

  • @Ezio-lp8iq
    @Ezio-lp8iq Год назад

    Awesome and crisp

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

    You're truly awesome bro

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

    Awesome I learned a lot 😊

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

    Summary of whole networking in just 10 minutes ❤❤

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

    love it ,nice explanation

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

    Great way to explain and great visuals

  • @devkrisna
    @devkrisna 6 дней назад

    Wow, so much well how you have explain, even I have not any word, so thanks,

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

    Very effectively explained

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

    I love your videos. What software did you use to make the animations in your video?

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

    Best video I've seen in some time 😁👌🏽

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

    I work as a java tech lead in a startup . This will help for next interview

  • @PM-lv6cp
    @PM-lv6cp Год назад

    Thank you NeetCode :)

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

    Thank you. Its a gem.

  • @pranayjain._
    @pranayjain._ 10 месяцев назад

    Best video out there!

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

    Brilliant!

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

    This is pretty good 🔥

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

    bro no wonder the name of ur channel is neet because the video i've just watched is so neat really. this is the first time visiting ur channel and i hope i find many more amazing video like this one. Thank u

  • @mahdijamil6473
    @mahdijamil6473 23 дня назад

    3:45 It's called segmant because we are on transport layer. You use tcp/ip model so I think both packet or segment are the same