- Classical Design Patterns
- Basics of Distributed Systems
- How databases work
- Message queueing
How do you design a messaging service?
How do you design a database system?
How do you design a scalable hashtagging system?
Spend 30-40 minutes on each problem.
Spend a certain time on each aspect for example to cover the problem holistically:
- Data modeling
- API design
- Error handling
Look at real life implementations to see examples.
Design a system for photo storage service
There are different types of system design types.
- System Design is classical distributed system problem
- Product design is like an API design problem for say
- Special design for specific domain problem like Compiler design etc.