20 System Design Concepts Explained in 10 Minutes

Sdílet
Vložit
  • čas přidán 3. 06. 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
  • Věda a technologie

Komentáře • 380

  • @yogeshputtaswamy8464
    @yogeshputtaswamy8464 Před rokem +504

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

  • @avishkahettiarachchi8617
    @avishkahettiarachchi8617 Před rokem +328

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

      Thanks Brother

    • @Jambajakumba
      @Jambajakumba Před 10 měsíci +4

      Thanks man! God bless you

    • @JazzEnrico
      @JazzEnrico Před 10 měsíci +2

      Thanks man :)

    • @kubrenh8976
      @kubrenh8976 Před 8 měsíci +3

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

    • @bithon5242
      @bithon5242 Před 7 měsíci +1

      HOLY BASED

  • @anantprakashsingh8777
    @anantprakashsingh8777 Před rokem +40

    5:30 years and years of watching CZcams 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 Před rokem +88

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

  • @oleshko-g
    @oleshko-g Před 11 měsíci +19

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

    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

  • @aaroncohen6577
    @aaroncohen6577 Před rokem +7

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

  • @ravinders9221
    @ravinders9221 Před rokem +17

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

  • @meNoBatman
    @meNoBatman Před rokem +83

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

  • @AnandSadasivan
    @AnandSadasivan Před rokem +3

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

  • @priyammondal
    @priyammondal Před rokem +7

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

  • @KingstonFortune
    @KingstonFortune Před 8 měsíci +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

  • @apipolaris
    @apipolaris Před 11 měsíci +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

  • @wasiflatifhussain
    @wasiflatifhussain Před rokem +1

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

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

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

  • @doctorrusty6494
    @doctorrusty6494 Před rokem +3

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

  •  Před rokem +1

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

  • @rahulsbhatt
    @rahulsbhatt Před rokem +63

    Thank you for your hard work!

    • @Vikas_Kumar_Singh
      @Vikas_Kumar_Singh Před 9 měsíci +6

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

    • @Nickator
      @Nickator Před 8 měsíci +12

      Bro just dropped 4k 💀

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

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

    • @Cringy69
      @Cringy69 Před 16 dny +1

      bhai....kitne ki package lagni hoti hai....aise 4k donate karne ke liye???

  • @Casanovajosh
    @Casanovajosh Před rokem

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

  • @BestURLShortenerBioPageQRCode
    @BestURLShortenerBioPageQRCode Před 8 měsíci +1

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

  • @guhkunpatata3150
    @guhkunpatata3150 Před rokem +3

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

  • @vishaldesaiVMD
    @vishaldesaiVMD Před 8 měsíci

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

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

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

  • @sivan2878
    @sivan2878 Před rokem

    Awesome summary, I was actually looking for it.

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

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

  • @pirateg3cko
    @pirateg3cko Před rokem +1

    Thanks! Keep it up, NeetCode!

  • @sudiproy4413
    @sudiproy4413 Před rokem +39

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

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

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

  • @uwontlikeit
    @uwontlikeit Před 5 měsíci +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!

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

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

  • @vijaymohanreddy2869
    @vijaymohanreddy2869 Před 6 měsíci

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

  • @tomiwaadedokun6638
    @tomiwaadedokun6638 Před rokem +1

    Wonderful concept explanation @NeetCode

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

    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! 👍🏼

  • @xcoda
    @xcoda Před rokem +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?

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

      Really? Wow I wouldn't have thought so!

  • @timtim9o5
    @timtim9o5 Před rokem

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

  • @zeeg1529
    @zeeg1529 Před 8 měsíci +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!

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

    This is just gold! Thank you!

  • @SandVision03
    @SandVision03 Před rokem

    Clear, concise and precise

  • @Mohamed-uf5jh
    @Mohamed-uf5jh Před rokem

    Thank you for your efforts. Very helpful.

  • @abhaytiwari5991
    @abhaytiwari5991 Před rokem

    Wonderful explanation 🙌

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

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

  • @chemsss8582
    @chemsss8582 Před rokem

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

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

    Thanks for the video. Crystal clear.

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

    The last part summed it up perfectly!

  • @sakthipriyane8506
    @sakthipriyane8506 Před rokem

    Thank you for this super understandable explanation.

  • @rgschuhart
    @rgschuhart Před rokem

    Outstanding. Subscribed!

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

    Excellent content mate !

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

    Wow! One of the best videos on CZcams

  • @krishnajha1
    @krishnajha1 Před rokem

    Very quick and linked information.

  • @Alim-yo3sc
    @Alim-yo3sc Před rokem

    Nice and simple... Thank you!

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

    The connection is really helpful. thanks!!

  • @smtp_yurzx
    @smtp_yurzx Před rokem

    Amazing, this is why I follow you!

  • @jonobrien8848
    @jonobrien8848 Před rokem +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.

  • @mrsbootsworkouts
    @mrsbootsworkouts Před 6 měsíci +1

    Thank you so much, very helpful!

  • @TheRomanianWolf
    @TheRomanianWolf Před 17 dny

    Very good video!!! Thanks!

  • @gabrielbott4659
    @gabrielbott4659 Před rokem

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

  • @AaronJOlson
    @AaronJOlson Před rokem +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?

  • @shivthedev
    @shivthedev Před 8 měsíci

    This is pure gold for beginners! 🙂

  • @anamshaikh5010
    @anamshaikh5010 Před 8 měsíci

    I loved your video just in the first 48 seconds
    Subscribed already!!! Keep it up!!

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

    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.

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

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

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

    Brief, great video. I love this!

  • @techhackz2897
    @techhackz2897 Před rokem

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

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

    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

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

    very well explained and easy to understand . thanks

  • @jamalhaider1617
    @jamalhaider1617 Před rokem

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

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

    One of the best videos I see for system design

  • @great-knowlage
    @great-knowlage Před 22 dny

    this explanation is just perfect 🤝🤝

  • @DanielTames
    @DanielTames Před rokem +1

    Incredible video man!
    Thanks for all your effort!

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

    That's great knowledge 👍, tks for sharing

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

    Great way to explain and great visuals

  • @erickshaffer6615
    @erickshaffer6615 Před rokem

    Good review to make sure I still know my basics

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

    love it ,nice explanation

  • @kalebnegussie8140
    @kalebnegussie8140 Před rokem

    Excellent work!

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

    You're so talented!!!!!!

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

    Hey, it was a good and interesting video. Thanks.
    Writing summary for my understanding.
    1. Horizontal scaling is better
    2. Load balancers are used to choose which server to interact with
    3. CDN are placed across the world, they help in faster delivery of static data.
    4. Rest API - standardization of api request
    5. Graphql - Ask only the data that required
    6. Storage - Relational(Sql), Non relational (mongo)
    7. Caching, message queues - Redis, Kafka

  • @naranyala_dev
    @naranyala_dev Před rokem

    thank you NeetCode, enjoy the show

  • @awesomebearaudiobooks
    @awesomebearaudiobooks Před rokem +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?

  • @saadatbadgujar
    @saadatbadgujar Před rokem

    This is great 💯 Thanks ❤️

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

    This is phenomenal!

  • @ajayraikar4694
    @ajayraikar4694 Před 6 měsíci

    Simple & Clear👌🏻

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

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

  • @pl5778
    @pl5778 Před rokem

    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 😂

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

    Very effectively explained

  • @srivardhanreddyk988
    @srivardhanreddyk988 Před rokem

    This was beautiful!

  • @aidennelson3171
    @aidennelson3171 Před rokem +2

    May God bless, great educational content.

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

    Great explanation 🎉

  • @cameronmx9
    @cameronmx9 Před 6 měsíci

    Great content!

  • @dirtydamoan2919
    @dirtydamoan2919 Před rokem

    great video, thanks!

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

    Great Work!!

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

    You're truly awesome bro

  • @Akhilshark9
    @Akhilshark9 Před rokem

    Thanks! Great video

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

    This is so well made

  • @user-rf1ib1lu7l
    @user-rf1ib1lu7l Před 7 měsíci

    Excellent video

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

      Where did you get filter strategy video in this channel?

    • @HikariSkript
      @HikariSkript Před rokem +2

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

    • @spooder5022
      @spooder5022 Před rokem

      how did it go?

    • @spooder5022
      @spooder5022 Před rokem

      did you hear back?

    • @HikariSkript
      @HikariSkript Před rokem +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.

  • @vyking1972
    @vyking1972 Před rokem

    Thank you. Its a gem.

  • @mahendranath2504
    @mahendranath2504 Před rokem

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

  • @diegochecarelli7587
    @diegochecarelli7587 Před rokem

    amazing video! thx

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

    one of the finest videos ever watched...