20 System Design Concepts Explained in 10 Minutes

2024 ж. 3 Мам.
818 551 Рет қаралды

🚀 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

Пікірлер
  • I love how the topics are connected to one another in a simple and neat way.

    @yogeshputtaswamy8464@yogeshputtaswamy8464 Жыл бұрын
    • dont you mean "neet" way?

      @pepperdayjackpac4521@pepperdayjackpac4521 Жыл бұрын
    • can't believe he missed it

      @BERNOUSSAMA@BERNOUSSAMA7 ай бұрын
    • In a neet way!

      @its_me_tabs@its_me_tabs6 ай бұрын
  • 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.

    @avishkahettiarachchi8617@avishkahettiarachchi861711 ай бұрын
    • Thanks Brother

      @Sanadtm@Sanadtm10 ай бұрын
    • Thanks man! God bless you

      @Jambajakumba@Jambajakumba9 ай бұрын
    • Thanks man :)

      @JazzEnrico@JazzEnrico9 ай бұрын
    • You fucking legend. I was going to make some notes. You saved me time. Cheers

      @kubrenh8976@kubrenh89767 ай бұрын
    • HOLY BASED

      @bithon5242@bithon52426 ай бұрын
  • 5:30 years and years of watching KZhead 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.

    @anantprakashsingh8777@anantprakashsingh877711 ай бұрын
  • Well done! Very digestible explanation with great motion graphics to help illustrate!

    @purpledaddy6077@purpledaddy6077 Жыл бұрын
  • 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 🙏

    @oleshko-g@oleshko-g10 ай бұрын
  • Crisp & clear content. You were able to cover most of the important topics in just 10 min. Nice keep up the good work.

    @ravinders9221@ravinders9221 Жыл бұрын
  • 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

    @andrewkicha1628@andrewkicha162810 ай бұрын
  • This is so well put together. So clear, concise and great graphics.

    @aaroncohen6577@aaroncohen657711 ай бұрын
  • Bowing down to this incredibly well made content. Thank you so much!

    @meNoBatman@meNoBatman Жыл бұрын
  • Best ever! Compact and interesting intro to system design concepts!!! Excellent!

    @AnandSadasivan@AnandSadasivan Жыл бұрын
  • The most creative way to ask people to subscribe! If I could, I would have subscribed 10 more times. Absolute genius!

    @wasiflatifhussain@wasiflatifhussain Жыл бұрын
  • So much information in 11 minutes. Thank you for making it happen. Very helpful.

    @priyammondal@priyammondal Жыл бұрын
  • 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

    @apipolaris@apipolaris10 ай бұрын
  • This is the best short video I have ever seen about the system design. Keep up the good work.

    @abeebraheem1489@abeebraheem14894 ай бұрын
  • Very good summary of different but related concepts. I wish there were videos like this when I was starting as a Junior Dev 😯

    @doctorrusty6494@doctorrusty649411 ай бұрын
  • Most valuable 10 mins was spend! No second was wasted. kudo to you!

    @Casanovajosh@Casanovajosh Жыл бұрын
  • i can see my years learning web in 10 minutes. very well made content and great explanation.

    @guhkunpatata3150@guhkunpatata315011 ай бұрын
  • OMG I loved the video, so well explained in a short amount of time. The perfect combination 😎❤️

    @AdrianBaenaGarcia@AdrianBaenaGarcia Жыл бұрын
  • 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

    @KingstonFortune@KingstonFortune7 ай бұрын
  • Important topics have been updated in just 10 minutes. Thank you for your concise and clear video👍👍👍

    @BestURLShortenerBioPageQRCode@BestURLShortenerBioPageQRCode7 ай бұрын
  • Wow! This video is impressively well-crafted, managing to be both concise and thorough simultaneously.

    @vishaldesaiVMD@vishaldesaiVMD7 ай бұрын
  • 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?

    @xcoda@xcoda11 ай бұрын
  • 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!

    @uwontlikeit@uwontlikeit4 ай бұрын
  • Great video, this is exactly what i was looking for to prepare for my interview tomorrow. Thanks!

    @Srishti9015@Srishti90156 ай бұрын
  • Thanks! Keep it up, NeetCode!

    @pirateg3cko@pirateg3cko Жыл бұрын
  • omg bro this is so much better than all other vids about system interview that I have seen

    @marshall3900@marshall3900Ай бұрын
  • Great video. It connected some dots for me. Great content thank you

    @timtim9o5@timtim9o5 Жыл бұрын
  • Thank you for this super understandable explanation.

    @sakthipriyane8506@sakthipriyane8506 Жыл бұрын
  • I keep coming back to this, you need more content like this.

    @Xaoticex@Xaoticex3 ай бұрын
  • Awesome summary, I was actually looking for it.

    @sivan2878@sivan2878 Жыл бұрын
  • Clear, concise and precise

    @SandVision03@SandVision03 Жыл бұрын
  • This video is the best to just brush up the topics . Thankyou for making this very easy to understand!!!

    @anujapuranik2000@anujapuranik20008 ай бұрын
  • Thanks for the video. Crystal clear.

    @tonyz2203@tonyz220310 ай бұрын
  • Explained in simple and graphical way., that’s awesome!!

    @vijaymohanreddy2869@vijaymohanreddy28695 ай бұрын
  • 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.

    @sudiproy4413@sudiproy4413 Жыл бұрын
    • 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.

      @joaquin67@joaquin67 Жыл бұрын
    • @@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.

      @amcmillion3@amcmillion39 ай бұрын
    • @@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

      @joaquin67@joaquin679 ай бұрын
  • This is pure gold for beginners! 🙂

    @shivthedev@shivthedev7 ай бұрын
  • im so thankful for this video. i understood so much ❤❤

    @gabrielbott4659@gabrielbott4659 Жыл бұрын
  • This is the best system design video i have watched!!

    @chemsss8582@chemsss8582 Жыл бұрын
  • Wow! That took so much knowledge to create such simplicity. Thank you.

    @edh9500@edh95006 ай бұрын
  • This is just gold! Thank you!

    @uchungnguyen1474@uchungnguyen14748 ай бұрын
  • 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! 👍🏼

    @Techgether@TechgetherАй бұрын
  • Wonderful explanation 🙌

    @abhaytiwari5991@abhaytiwari5991 Жыл бұрын
  • Thank you for your efforts. Very helpful.

    @Mohamed-uf5jh@Mohamed-uf5jh Жыл бұрын
  • 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.

    @jonobrien8848@jonobrien8848 Жыл бұрын
  • Somehow I know every concept you had explained Its a good thing tho Love you video keep up the good work❤

    @techhackz2897@techhackz2897 Жыл бұрын
  • The last part summed it up perfectly!

    @dan_le_brown@dan_le_brown10 ай бұрын
  • Wonderful concept explanation @NeetCode

    @tomiwaadedokun6638@tomiwaadedokun6638 Жыл бұрын
  • Wow man you did a great explanation in very short time.

    @jamalhaider1617@jamalhaider1617 Жыл бұрын
  • This was beautiful!

    @srivardhanreddyk988@srivardhanreddyk988 Жыл бұрын
  • 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?

    @AaronJOlson@AaronJOlson Жыл бұрын
  • This video is very informative, thanks for this high quality video ❤️

    @aks9842@aks98428 ай бұрын
  • thank you NeetCode, enjoy the show

    @naranyala_dev@naranyala_dev Жыл бұрын
  • 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!

    @zeeg1529@zeeg15297 ай бұрын
  • 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.

    @vitalyl1327@vitalyl1327 Жыл бұрын
    • Really? Wow I wouldn't have thought so!

      @joeeeee8738@joeeeee873811 ай бұрын
  • Nice and simple... Thank you!

    @Alim-yo3sc@Alim-yo3sc Жыл бұрын
  • The connection is really helpful. thanks!!

    @sagaravhad5198@sagaravhad51988 ай бұрын
  • Amazing, this is why I follow you!

    @smtp_yurzx@smtp_yurzx Жыл бұрын
  • Thank you for your hard work!

    @rahulsbhatt@rahulsbhatt11 ай бұрын
    • @@sunset7456 thats much more than 5$ bro 4000/80 is 50 dollars

      @Vikas_Kumar_Singh@Vikas_Kumar_Singh8 ай бұрын
    • Bro just dropped 4k 💀

      @Nickator@Nickator7 ай бұрын
    • @@Nickator no bro actuallybri dropped class 4..😂😂

      @dart_ariz604@dart_ariz6045 ай бұрын
  • Wow! One of the best videos on KZhead

    @oluwagbengakosoko9014@oluwagbengakosoko901425 күн бұрын
  • Incredible video man! Thanks for all your effort!

    @DanielTames@DanielTames Жыл бұрын
  • 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.

    @HikariSkript@HikariSkript Жыл бұрын
    • Where did you get filter strategy video in this channel?

      @sunithaarganurkar7486@sunithaarganurkar7486 Жыл бұрын
    • @@sunithaarganurkar7486 Search for neetcode design pattern, watch the video, he will explain with code. Pause the video to have better understanding.

      @HikariSkript@HikariSkript Жыл бұрын
    • how did it go?

      @spooder5022@spooder5022 Жыл бұрын
    • did you hear back?

      @spooder5022@spooder5022 Жыл бұрын
    • @@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.

      @HikariSkript@HikariSkript Жыл бұрын
  • Thank you so much for such great excellent content, it is so effective and easy to understand, worth it 👍👍😍😍👌👌🙌🙌

    @mahendranath2504@mahendranath2504 Жыл бұрын
  • May God bless, great educational content.

    @aidennelson3171@aidennelson3171 Жыл бұрын
  • One of the best videos I see for system design

    @kishankalariya9086@kishankalariya90864 ай бұрын
  • This is an AMAZING Systems Design video covering all the key components and explaining them very well.

    @atift5465@atift5465 Жыл бұрын
  • 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.

    @DEBIEL918@DEBIEL9182 ай бұрын
  • Brief, great video. I love this!

    @michabajerski7360@michabajerski73608 ай бұрын
  • 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 😂

    @pl5778@pl5778 Жыл бұрын
  • Good review to make sure I still know my basics

    @erickshaffer6615@erickshaffer6615 Жыл бұрын
  • Thanks! Great video

    @Akhilshark9@Akhilshark9 Жыл бұрын
  • Outstanding. Subscribed!

    @rgschuhart@rgschuhart Жыл бұрын
  • Excellent content mate !

    @libin4403@libin440310 ай бұрын
  • Very quick and linked information.

    @krishnajha1@krishnajha111 ай бұрын
  • Great way to explain and great visuals

    @cesarlabastida1392@cesarlabastida13928 ай бұрын
  • 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

    @jenithmehta9603@jenithmehta96033 ай бұрын
  • Thank you so much, very helpful!

    @mrsbootsworkouts@mrsbootsworkouts5 ай бұрын
  • Best video I've seen in some time 😁👌🏽

    @chethan93@chethan934 ай бұрын
  • This is great 💯 Thanks ❤️

    @saadatbadgujar@saadatbadgujar Жыл бұрын
  • 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?

    @awesomebearaudiobooks@awesomebearaudiobooks Жыл бұрын
  • I loved your video just in the first 48 seconds Subscribed already!!! Keep it up!!

    @anamshaikh5010@anamshaikh50107 ай бұрын
  • That's great knowledge 👍, tks for sharing

    @vinhandev@vinhandev4 ай бұрын
  • Summary of whole networking in just 10 minutes ❤❤

    @arnabchatterjee8556@arnabchatterjee8556 Жыл бұрын
  • You're truly awesome bro

    @yuridesideri7144@yuridesideri714410 ай бұрын
  • This is phenomenal!

    @khangdang4292@khangdang42924 ай бұрын
  • 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

    @sakarienuh6293@sakarienuh629310 ай бұрын
  • Excellent work!

    @kalebnegussie8140@kalebnegussie814011 ай бұрын
  • This is so well made

    @EE12345@EE1234525 күн бұрын
  • very well explained and easy to understand . thanks

    @InfoBuzz1130@InfoBuzz11309 ай бұрын
  • Thank you so much man

    @josephinekwakye4495@josephinekwakye4495 Жыл бұрын
  • Awesome I learned a lot 😊

    @MIDNightPT4@MIDNightPT4 Жыл бұрын
  • This is pretty good 🔥

    @lisali5719@lisali571911 ай бұрын
  • love it ,nice explanation

    @biswajitnaik8225@biswajitnaik82254 ай бұрын
  • Thank you. Its a gem.

    @vyking1972@vyking197211 ай бұрын
  • Awesome and crisp

    @Ezio-lp8iq@Ezio-lp8iq Жыл бұрын
  • Brilliant!

    @ViciOuSKiddo@ViciOuSKiddo Жыл бұрын
  • Best video out there!

    @pranayjain._@pranayjain._10 ай бұрын
  • thank you, this is good!

    @raj_kundalia@raj_kundalia5 ай бұрын
  • Wow... Masterpiece🤙

    @rishabh7781@rishabh7781 Жыл бұрын
  • I was following your example, but I had to unsubscribe to see the request.

    @darkblade126@darkblade126 Жыл бұрын
    • Why so serious !?

      @user-yx4bt5wq7g@user-yx4bt5wq7g Жыл бұрын
    • ​@@atomicgray he's joker irl and just reenacting that scene from the movie calm down

      @raianmr2843@raianmr2843 Жыл бұрын
    • 😀

      @vinaypandey9172@vinaypandey9172 Жыл бұрын
    • ​@@user-yx4bt5wq7g why so serious?

      @skrowrepap1119@skrowrepap111911 ай бұрын
    • Why did you guys unsubscribed

      @shengki333@shengki33310 ай бұрын
  • The elegance of his explanations is greatly overpowered by the hilarity of reading "range-based sharding." I thought sharding was bad enough when kept local

    @maxlevelmedia7448@maxlevelmedia74489 ай бұрын
KZhead