Hey folks, I know most of us are from college and focus on competitive programming.
But there is another world out there, which becomes very relevant when you start with a job.
And that world is of software engineering + system design.
If you are doing an internship or a job, I would highly recommend that you start now.
Below are the best resources for System Design on the Internet. I have curated them over the last 5 years, and my YouTube videos use them as sources.
Topics:
- Video Processing
- Cluster and Workflow Management
- Intra-Service Messaging
- Message Queue Antipattern
- Service Mesh
- Practical System Design
- Distributed File System
- Time Series Databases
- Rate Limiting
- In Memory Database - Redis
- Network Protocols
- Chess Engine Design
- Subscription Management System
- Google Docs
- API Design
- NoSQL Database Internals
- NoSQL Database Algorithms
- Database Replication
- Containers and Docker
- Capacity Estimation
- Publisher Subscriber
- Event Driven Architectures
- Hexagonal Architectures
- Microservices
- Load Balancing
- Alerts and Anomaly Detection
- Distributed Logging
- Metrics and Text Search Engine
- Single Point of Failure
- Location Based Services
- Batch Processing
- Real Time Stream Processing
- Caching
- Distributed concensus
- Authorization
Each topic has resource links to blogs and videos related to it.
GitHub Link: System Design Resources
All the best!