Books To Read - mayankbindas/Interview-Prep GitHub Wiki
Top: System Design Interview – An insider's guide
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
Microservice Patterns and Best Practices: Explore patterns like CQRS and event sourcing to create scalable, maintainable, and testable microservices
Understanding Distributed Systems: What every developer should know about large distributed applications
Domain Driven Design
Enterprise
Here are 5 books I think every software engineer should read in 2022! Of course, there are many more great books, but these are my top 5 recommendations!
- Clean Code - https://amzn.to/3nHNtAC
- Clean Architecture - https://amzn.to/3kZ7UqR
- The DevOps Handbook - https://amzn.to/3Aw2uNo
- Software Engineering at Google - https://amzn.to/3rfJc8L
- Understanding Distributed Systems - https://amzn.to/3cjChr5
- Web Scalability for Startup Engineers
- System Design Interview – An insider's guide
- Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
- Building Microservices: Designing Fine-Grained Systems
- Understanding Distributed Systems: What every developer should know about large distributed applications
- Microservice Patterns and Best Practices: Explore patterns like CQRS and event sourcing to create scalable, maintainable, and testable microservices
- RESTful Web APIs: Services for a Changing World
- Build APIs You Won't Hate: Everyone and their dog wants an API, so you should probably learn how to build them
- I Heart Logs: Event Data, Stream Processing, and Data Integration
- Kafka: The Definitive Guide: Real-Time Data and Stream Processing at Scale
- Graph Databases: New Opportunities for Connected Data
- Cassandra: The Definitive Guide: Distributed Data at Web Scale
👨💻 Data Structures & Algorithms
-
Computer Science Distilled - https://amzn.to/39jYZ0S
-
Grokking Algorithms - https://amzn.to/2JcBrjS
-
Introduction to Algorithms - https://amzn.to/2V03JRb
-
Elements of Programming Interviews (Python) - https://amzn.to/35XPQJw
-
Elements of Programming Interviews (Java) - https://amzn.to/374W5KT
-
Clean Code - https://amzn.to/3nHNtAC
-
Clean Architecture - https://amzn.to/3kZ7UqR
-
Refactoring - https://amzn.to/377VXdM
-
The Productive Programmer - https://amzn.to/33aMeSE
-
Pragmatic Thinking & Learning - https://amzn.to/2J5IfzM
🌩 Distributed Systems
- Web Scalability for Startup Engineers - https://amzn.to/39c55QV
- Designing Data Intensive Applications - https://amzn.to/3fxgOLm
- Understanding Distributed Systems - https://amzn.to/3cjChr5
- Software Engineering at Google - https://amzn.to/3rfJc8L
- Building Microservices - https://amzn.to/2UUPsFi
📕 OTHER RECOMMENDATIONS
- Algorithm Design Manual - https://amzn.to/35ZXx1D
- Algorithms (4th Ed.) - https://amzn.to/3m9c1kN
📺 EXCELLENT FREE RESOURCES
(Watch these in order - beginner to advanced)
- Intro to Computer Science (by Ana Bell @ MIT) - https://bit.ly/3oHCWpq
- Programming Abstractions (by Julie Zelenski @ Stanford) - https://bit.ly/3n7WfIg
- Introduction to Algorithms (by Erik Demaine @ MIT) - https://bit.ly/2JWzd8J
Articles/Books:
- https://sre.google/books/
- http://book.mixu.net/distsys/
- https://engineering.fb.com/2020/08/17/production-engineering/async/
- https://engineering.fb.com/2020/08/24/production-engineering/scaling-services-with-shard-manager/
- https://engineering.fb.com/2020/03/18/production-engineering/ntp-service/
- https://engineering.fb.com/2019/09/30/ml-applications/mars/
- https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf
- https://media.amazonwebservices.com/blog/2017/aurora-design-considerations-paper.pdf