A collection of best resources to learn System Design, Software architecture, and prepare for System Design Interviews
4,491
18 commits
updated Mar 31, 2026
Hello guys, if you are preparing for Software Engineer Interviews, or Software developer interview then you may know that how difficult it is to prepare for System Design interviews given its open ended nature and vastness but at the same time you cannot ignore it.
In Software Engineering world, if you are applying for a Senior Engineer / Lead / Architect / or a more senior role, System Design is the most sought-after skill, and hence one of the most important rounds in the whole process. If you mess this up, nothing else would matter.
If you get it right though, you're looking at a raise of at least tens of thousands of dollars annuall and in this repository, you will find best System design resources like online courses, books, websites, and system design interview cheat sheets like below from Exponent and ByteByteGo which you can use to quickly revise the key concepts
So how do you ace your system design round? Well, here's what I did while preparing for my interviews with Facebook, Google, and Amazon, and it worked out rather well. I did end up creating a checklist for myself which got me through most of my rounds, so if you follow a similar path you should be able to come up with something that works for you as well.
A collection of best resources to learn System Design, Software architecture, and prepare for System Design Interviews, including System Design Practice Tests
Online courses provide the most structured way to prepare for System Design, here are the best online courses you can join to learn System Design and prepare for System Design interviews
While online courses are good to start with, books provides the most in-depth knowledge required to crack the System Design interview, here are the top System design books you can read to prepare for interviews
These are the online platforms and websites where you can not only learn SYstem design but also practice solving System design questions and you can also find more tutorials and articles related to system design:
These are essential System Design concepts every programmer or softeware developer should know. It contains software architecture component, how to use them, when to use, tradeoffs and techniques commonly used to improve scalability, fault-tolearance, security and performance of real world production system
These are the concept based System design interview questions which is often asked during telephonic round of interviews. Many of these questiosn were asked to me and I have impressed my interviewer with my answers, which you can also read
1. [What is difference between API Gateway and Load Balancer?]
2. (What is difference between Reverse Proxy and Forward Proxy?)
3. (What is difference between Horizontal scaling and vertical scaling?)
4. (What is difference between Microservices and Monolithic architecture?)
5. What is difference between vertical and horizontal partitioning ?
6. (What is Rate Limiter? How does it work?)
7. (How does Single Sign On (SSO) works?)
8. (How does Apache Kafka works? why it so fast?)
9. (Differnece between Kafka, ActiveMQ, and RabbitMQ?)
10. (Difference between JWT, OAuth, and SAML?)
Now the holy grail of System design interviews, here are the most popular System design probelems you can practice
Place holders for system design case studies
-System Design Interview cheat sheet by Educative which is definitely worth reading and printing:
And, here is the System Design Template from DesignGuru which is another great resources to learn bout System Design concepts:
DesignGuru also offers Mock Interviews for Coding interview and System Design interview, if you are serious about your preparation for FAANG interview,
Antoher System Design Interview cheatsheet by ByteByteGo
Here is another System Design Cheat Sheet you can print:
It's is designed by Exponent , a dedicated websites for tech interview preparations which I accidentally found while looking for system design interview resources.
Renowned for its specialized courses like System Design Interview Course, Exponent stands out as a valuable resource for those seeking to enhance their skills in areas such as system design, engineering
Depending on where you are interviewing, go through the company blog. VERY USEFUL IN INTERVIEWS! It really helps if you have an idea of the architecture, as the questions asked will generally be of that domain and your prior knowledge will help out here.
These are the additional resources you can see for more in-depth prepration of your interviews:
486 followers · starred Dec 2025
14 followers · starred Jun 2025
67 followers · starred Sep 2024
15 followers · starred Nov 2024
A collection of best resources to learn System Design, Software architecture, and prepare for System Design Interviews
4,491
18 commits
updated Mar 31, 2026
Hello guys, if you are preparing for Software Engineer Interviews, or Software developer interview then you may know that how difficult it is to prepare for System Design interviews given its open ended nature and vastness but at the same time you cannot ignore it.
In Software Engineering world, if you are applying for a Senior Engineer / Lead / Architect / or a more senior role, System Design is the most sought-after skill, and hence one of the most important rounds in the whole process. If you mess this up, nothing else would matter.
If you get it right though, you're looking at a raise of at least tens of thousands of dollars annuall and in this repository, you will find best System design resources like online courses, books, websites, and system design interview cheat sheets like below from Exponent and ByteByteGo which you can use to quickly revise the key concepts
So how do you ace your system design round? Well, here's what I did while preparing for my interviews with Facebook, Google, and Amazon, and it worked out rather well. I did end up creating a checklist for myself which got me through most of my rounds, so if you follow a similar path you should be able to come up with something that works for you as well.
A collection of best resources to learn System Design, Software architecture, and prepare for System Design Interviews, including System Design Practice Tests
Online courses provide the most structured way to prepare for System Design, here are the best online courses you can join to learn System Design and prepare for System Design interviews
While online courses are good to start with, books provides the most in-depth knowledge required to crack the System Design interview, here are the top System design books you can read to prepare for interviews
These are the online platforms and websites where you can not only learn SYstem design but also practice solving System design questions and you can also find more tutorials and articles related to system design:
These are essential System Design concepts every programmer or softeware developer should know. It contains software architecture component, how to use them, when to use, tradeoffs and techniques commonly used to improve scalability, fault-tolearance, security and performance of real world production system
These are the concept based System design interview questions which is often asked during telephonic round of interviews. Many of these questiosn were asked to me and I have impressed my interviewer with my answers, which you can also read
1. [What is difference between API Gateway and Load Balancer?]
2. (What is difference between Reverse Proxy and Forward Proxy?)
3. (What is difference between Horizontal scaling and vertical scaling?)
4. (What is difference between Microservices and Monolithic architecture?)
5. What is difference between vertical and horizontal partitioning ?
6. (What is Rate Limiter? How does it work?)
7. (How does Single Sign On (SSO) works?)
8. (How does Apache Kafka works? why it so fast?)
9. (Differnece between Kafka, ActiveMQ, and RabbitMQ?)
10. (Difference between JWT, OAuth, and SAML?)
Now the holy grail of System design interviews, here are the most popular System design probelems you can practice
Place holders for system design case studies
-System Design Interview cheat sheet by Educative which is definitely worth reading and printing:
And, here is the System Design Template from DesignGuru which is another great resources to learn bout System Design concepts:
DesignGuru also offers Mock Interviews for Coding interview and System Design interview, if you are serious about your preparation for FAANG interview,
Antoher System Design Interview cheatsheet by ByteByteGo
Here is another System Design Cheat Sheet you can print:
It's is designed by Exponent , a dedicated websites for tech interview preparations which I accidentally found while looking for system design interview resources.
Renowned for its specialized courses like System Design Interview Course, Exponent stands out as a valuable resource for those seeking to enhance their skills in areas such as system design, engineering
Depending on where you are interviewing, go through the company blog. VERY USEFUL IN INTERVIEWS! It really helps if you have an idea of the architecture, as the questions asked will generally be of that domain and your prior knowledge will help out here.
These are the additional resources you can see for more in-depth prepration of your interviews:
486 followers · starred Dec 2025
14 followers · starred Jun 2025
67 followers · starred Sep 2024
15 followers · starred Nov 2024