General Design Templates
Last updated
Last updated
๐ฆ๐๐๐๐ฒ๐บ ๐๐ฒ๐๐ถ๐ด๐ป ๐ ๐ฎ๐๐๐ฒ๐ฟ ๐ง๐ฒ๐บ๐ฝ๐น๐ฎ๐๐ฒ: ๐ข๐ป๐ฒ ๐ง๐ฒ๐บ๐ฝ๐น๐ฎ๐๐ฒ ๐๐ผ ๐ฅ๐๐น๐ฒ ๐ง๐ต๐ฒ๐บ ๐๐น๐น. I've used this template to discuss many problems in . This template serves as a list of things that can be discussed during the interview. Keep it handy. โจ ๐๐ฃ๐ ๐๐ฎ๐๐ฒ๐๐ฎ๐ An API Gateway (AG) is a server that acts as a single point of entry for a set of . AG receives client requests, forwards them to the appropriate microservice, and then returns the server's response to the client. AG is responsible for tasks such as routing, authentication, and rate limiting. ๐๐๐ก A Content Delivery Network (CDN) is a distributed network of servers that are deployed in multiple locations around the world. These servers are designed to deliver web content, such as images, videos, and other static files, to users based on their geographical location. The main purpose of a is to improve the performance and availability of web content by caching it on servers that are closer to the users who are requesting it. ๐๐ฎ๐๐ฎ ๐ฃ๐ฎ๐ฟ๐๐ถ๐๐ถ๐ผ๐ป๐ถ๐ป๐ด In a database, ๐ต๐ผ๐ฟ๐ถ๐๐ผ๐ป๐๐ฎ๐น ๐ฝ๐ฎ๐ฟ๐๐ถ๐๐ถ๐ผ๐ป๐ถ๐ป๐ด, also known as sharding, involves dividing the rows of a table into smaller tables and storing them on different servers or database instances. This is done to distribute the load of a database across multiple servers and to improve performance. On the other hand, ๐๐ฒ๐ฟ๐๐ถ๐ฐ๐ฎ๐น ๐ฝ๐ฎ๐ฟ๐๐ถ๐๐ถ๐ผ๐ป๐ถ๐ป๐ด involves dividing the columns of a table into separate tables. This is done to reduce the number of columns in a table and to improve the performance of queries that only access a small number of columns. ๐๐ถ๐๐๐ฟ๐ถ๐ฏ๐๐๐ฒ๐ฑ ๐บ๐ฒ๐๐๐ฎ๐ด๐ถ๐ป๐ด ๐๐๐๐๐ฒ๐บ๐ These are used to send messages between distributed components of a system. Examples include Apache and . ๐๐ถ๐๐๐ฟ๐ถ๐ฏ๐๐๐ฒ๐ฑ ๐ณ๐ถ๐น๐ฒ ๐๐๐๐๐ฒ๐บ๐ These are file systems that are designed to store and manage files across a group of servers. ๐๐๐น๐น-๐๐ฒ๐ ๐ ๐๐ฒ๐ฎ๐ฟ๐ฐ๐ต Full-text search enables users to search for specific words or phrases within an app or website. When a user queries, the app or website returns the most relevant results. To do this quickly and efficiently, full-text search relies on an inverted index, which is a data structure that maps words or phrases to the documents in which they appear. Ref: โ System Design Survival Guide (2023): โ Take a look at ๐๐ฟ๐ผ๐ธ๐ธ๐ถ๐ป๐ด ๐๐ต๐ฒ ๐ฆ๐๐๐๐ฒ๐บ ๐๐ฒ๐๐ถ๐ด๐ป ๐๐ป๐๐ฒ๐ฟ๐๐ถ๐ฒ๐ for questions - โ For software architecture, take a look at ๐๐ฟ๐ผ๐ธ๐ธ๐ถ๐ป๐ด ๐๐ต๐ฒ ๐๐ฑ๐๐ฎ๐ป๐ฐ๐ฒ๐ฑ ๐ฆ๐๐๐๐ฒ๐บ ๐๐ฒ๐๐ถ๐ด๐ป ๐๐ป๐๐ฒ๐ฟ๐๐ถ๐ฒ๐ - ๐ Recommend our Coding & System Design courses and earn 20% on each referral: