- There are so many great system design tutorials for beginners in the market:
- Learning them does help in interviews because most interviews are super busy people. They typically don't have much time thinking about new interview questions. I really want to take the time to mess around and enjoy it because life is short.
- In-depth discussions is the most effective way for me to understand and remember things. This following blogs really demonstrate what type of in-depth discussions I want to have:
- I am a visual learner and graph is always easier for me to understand things with graph. I especially like tech books published by Manning because it is so good at illustrating with pictures.
- Earlier I was using Monodraw for pictures. Recently I started using Excalidraw because it was easier to use and maintain.
- The summary inside this repo are the result of learning from the following materials:
- Blogs:
- Books:
- Videos courses:
- In Chinese only
- There are two types of TODOs in the repo
- The first is a topic on the left hand rail directly marked as TODO. It is a topic that I am interested in but haven't got time to learn systematically about it.
- The second is a TODO listed inside the bottom of a discussion topic. It typically links to a blog / resource that I want to read further but haven't got time to.
- Open topics in prioritized order for the first category:
- Scenario_Newsfeed
- Scenario_InstantMessager
- Scenario_GoogleDoc
- Network_Netty
- Algorithm_Consistency
- Algorithm_ErrorRecovery
- DDIA_Studying
- Server_Nginx
- MicroSvcs_ApiGateway
- MicroSvcs_ConfigCenter
- MicroSvcs_DDD
- MicroSvcs_Governance
- MicroSvcs_BreakMonolithic
- RegistryCenter_Etcd
- Scenario_RecommendationSystem
- Scenario_SearchEngine
- Storage_DistributedAcidDatabase
- Container_Kubernetes
- JVM
- Storage_ElasticSearch
- Scenario_Twitter search
- Scenario_GoogleDrive
- Network_云中网络
- Concurrent hashmap
- Contribution welcomed at https://github.com/DreamOfTheRedChamber/system-design-interviews