What are the various Consistency patterns available in system design?
- Weak Consistency:
- After writing data, reading it may or may not immediately reflect the new information. This is often used in real-time applications multiplayer games where immediate consistency may not be critical. For instance, in a phone call, if thereās a brief loss of network, information about the conversation during that time may be lost.
- Eventual Consistency:
- Following a data write, it takes some time, typically within milliseconds, for all reads to eventually show the latest data. This asynchronous replication is common in systems like DNS, providing high availability. It ensures that, given enough time, all replicas converge to the same data state.
- Strong Consistency:
- After writing data, subsequent reads will immediately show the latest information. This is achieved through synchronous replication and is commonly found in systems like relational databases (RDBMS) and file systems. Strong consistency is essential in scenarios where precise, up-to-date data is crucial, especially in systems dealing with transactions.
Top Most Asked System Design Interview Questions
System Design is defined as a process of creating an architecture for different components, interfaces, and modules of the system and providing corresponding data helpful in implementing such elements in systems.
Table of Content
- 1. Why is it better to use horizontal scaling than vertical scaling?
- 2. What is sharding, and how does it improve database scalability?
- 3. What is CAP theorem?
- 4. What do you understand by load balancer? Why is it important in system design?
- 5. What are the various Consistency patterns available in system design?
- 6. When would you use cache layer of a system?
- 7. A reverse proxy in a web architecture means what?
- 8. Outline the role played by a CDN in Web Architecture.
- 9. Describe the concepts of RESTful API principles.
- 10. How does a message broker operate within a distributed environment?
- 11. Why should we use NoSQL database?
- 12. What does the Singleton Design Pattern aim at?
- 13. Discuss what is consistent hashing ?
- 14. Why is the two-phase commit protocol important?
- 15. What are vector clocks in the context of the distributed system?
- 16. Explain the function of consensus algorithms in distributed systems.
- 17. How does the āgraceful degradationā principle impacts on system design?
- 18. What are the bottlenecks in system design?
- Conclusion
Contact Us