20 System Design Concepts Explained in 10 Minutes
Ғылым және технология
🚀 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
Пікірлер: 379
I love how the topics are connected to one another in a simple and neat way.
@pepperdayjackpac4521
Жыл бұрын
dont you mean "neet" way?
@BERNOUSSAMA
8 ай бұрын
can't believe he missed it
@its_me_tabs
7 ай бұрын
In a neet way!
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
10 ай бұрын
Thanks Brother
@Jambajakumba
10 ай бұрын
Thanks man! God bless you
@JazzEnrico
10 ай бұрын
Thanks man :)
@kubrenh8976
8 ай бұрын
You fucking legend. I was going to make some notes. You saved me time. Cheers
@bithon5242
7 ай бұрын
HOLY BASED
5:30 years and years of watching KZread 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.
Well done! Very digestible explanation with great motion graphics to help illustrate!
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 🙏
This is so well put together. So clear, concise and great graphics.
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
Best ever! Compact and interesting intro to system design concepts!!! Excellent!
Bowing down to this incredibly well made content. Thank you so much!
Crisp & clear content. You were able to cover most of the important topics in just 10 min. Nice keep up the good work.
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
So much information in 11 minutes. Thank you for making it happen. Very helpful.
This is the best short video I have ever seen about the system design. Keep up the good work.
Thank you for your hard work!
@Vikas_Kumar_Singh
8 ай бұрын
@@sunset7456 thats much more than 5$ bro 4000/80 is 50 dollars
@Nickator
8 ай бұрын
Bro just dropped 4k 💀
@dart_ariz604
6 ай бұрын
@@Nickator no bro actuallybri dropped class 4..😂😂
@Cringy69
11 күн бұрын
bhai....kitne ki package lagni hoti hai....aise 4k donate karne ke liye???
OMG I loved the video, so well explained in a short amount of time. The perfect combination 😎❤️
Very good summary of different but related concepts. I wish there were videos like this when I was starting as a Junior Dev 😯
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
The most creative way to ask people to subscribe! If I could, I would have subscribed 10 more times. Absolute genius!
Most valuable 10 mins was spend! No second was wasted. kudo to you!
Awesome summary, I was actually looking for it.
Wow! This video is impressively well-crafted, managing to be both concise and thorough simultaneously.
Great video, this is exactly what i was looking for to prepare for my interview tomorrow. Thanks!
Wow! That took so much knowledge to create such simplicity. Thank you.
Important topics have been updated in just 10 minutes. Thank you for your concise and clear video👍👍👍
omg bro this is so much better than all other vids about system interview that I have seen
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
Жыл бұрын
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
10 ай бұрын
@@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
10 ай бұрын
@@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
Explained in simple and graphical way., that’s awesome!!
i can see my years learning web in 10 minutes. very well made content and great explanation.
This video is the best to just brush up the topics . Thankyou for making this very easy to understand!!!
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?
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! 👍🏼
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?
I keep coming back to this, you need more content like this.
Thanks! Keep it up, NeetCode!
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!
Great video. It connected some dots for me. Great content thank you
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
11 ай бұрын
Really? Wow I wouldn't have thought so!
Thank you for this super understandable explanation.
This is just gold! Thank you!
im so thankful for this video. i understood so much ❤❤
Incredible video man! Thanks for all your effort!
Wonderful concept explanation @NeetCode
Thanks for the video. Crystal clear.
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!
Clear, concise and precise
Thank you so much, very helpful!
The connection is really helpful. thanks!!
Wow man you did a great explanation in very short time.
Thank you for your efforts. Very helpful.
Nice and simple... Thank you!
The last part summed it up perfectly!
Somehow I know every concept you had explained Its a good thing tho Love you video keep up the good work❤
This video is very informative, thanks for this high quality video ❤️
Excellent content mate !
This is pure gold for beginners! 🙂
Very quick and linked information.
Wonderful explanation 🙌
This is the best system design video i have watched!!
I loved your video just in the first 48 seconds Subscribed already!!! Keep it up!!
Wow! One of the best videos on KZread
Brief, great video. I love this!
Amazing, this is why I follow you!
Outstanding. Subscribed!
Good review to make sure I still know my basics
One of the best videos I see for system design
very well explained and easy to understand . thanks
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.
this explanation is just perfect 🤝🤝
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.
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
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
Very good video!!! Thanks!
Great way to explain and great visuals
Excellent work!
thank you NeetCode, enjoy the show
This is phenomenal!
This was beautiful!
Thank you so much for such great excellent content, it is so effective and easy to understand, worth it 👍👍😍😍👌👌🙌🙌
I work as a java tech lead in a startup . This will help for next interview
This is great 💯 Thanks ❤️
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 😂
Simple & Clear👌🏻
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
Жыл бұрын
Where did you get filter strategy video in this channel?
@HikariSkript
Жыл бұрын
@@sunithaarganurkar7486 Search for neetcode design pattern, watch the video, he will explain with code. Pause the video to have better understanding.
@spooder5022
Жыл бұрын
how did it go?
@spooder5022
Жыл бұрын
did you hear back?
@HikariSkript
Жыл бұрын
@@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.
That's great knowledge 👍, tks for sharing
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
You're truly awesome bro
Thanks! Great video
love it ,nice explanation
May God bless, great educational content.
Very effectively explained
great video, thanks!
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
You're so talented!!!!!!
one of the finest videos ever watched...
This is an AMAZING Systems Design video covering all the key components and explaining them very well.
This is so well made
Wow, so much well how you have explain, even I have not any word, so thanks,
Best video I've seen in some time 😁👌🏽
Great Work!!
I love your videos. What software did you use to make the animations in your video?