mirror of
				https://github.com/donnemartin/system-design-primer.git
				synced 2025-11-04 10:12:32 +03:00 
			
		
		
		
	This commit is contained in:
		
				
					committed by
					
						
						Donne Martin
					
				
			
			
				
	
			
			
			
						parent
						
							eaed5dd016
						
					
				
				
					commit
					e417324830
				
			
							
								
								
									
										56
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								README.md
									
									
									
									
									
								
							@@ -48,9 +48,9 @@ Additional topics for interview prep:
 | 
			
		||||
 | 
			
		||||
The provided [Anki flashcard decks](https://apps.ankiweb.net/) use spaced repetition to help you retain key system design concepts.
 | 
			
		||||
 | 
			
		||||
* [System design deck](https://github.com/donnemartin/system-design-primer/blob/master/resources/flash_cards/System%20Design.apkg)
 | 
			
		||||
* [System design exercises deck](https://github.com/donnemartin/system-design-primer/blob/master/resources/flash_cards/System%20Design%20Exercises.apkg)
 | 
			
		||||
* [Object oriented design exercises deck](https://github.com/donnemartin/system-design-primer/blob/master/resources/flash_cards/OO%20Design.apkg)
 | 
			
		||||
* [System design deck](resources/flash_cards/System%20Design.apkg)
 | 
			
		||||
* [System design exercises deck](resources/flash_cards/System%20Design%20Exercises.apkg)
 | 
			
		||||
* [Object oriented design exercises deck](resources/flash_cards/OO%20Design.apkg)
 | 
			
		||||
 | 
			
		||||
Great for use while on-the-go.
 | 
			
		||||
 | 
			
		||||
@@ -66,7 +66,7 @@ Feel free to submit pull requests to help:
 | 
			
		||||
 | 
			
		||||
Content that needs some polishing is placed [under development](#under-development).
 | 
			
		||||
 | 
			
		||||
Review the [Contributing Guidelines](https://github.com/donnemartin/system-design-primer/blob/master/CONTRIBUTING.md).
 | 
			
		||||
Review the [Contributing Guidelines](CONTRIBUTING.md).
 | 
			
		||||
 | 
			
		||||
## Index of system design topics
 | 
			
		||||
 | 
			
		||||
@@ -226,10 +226,10 @@ Outline a high level design with all important components.
 | 
			
		||||
 | 
			
		||||
### Step 3: Design core components
 | 
			
		||||
 | 
			
		||||
Dive into details for each core component.  For example, if you were asked to [design a url shortening service](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/pastebin/README.md), discuss:
 | 
			
		||||
Dive into details for each core component.  For example, if you were asked to [design a url shortening service](solutions/system_design/pastebin/README.md), discuss:
 | 
			
		||||
 | 
			
		||||
* Generating and storing a hash of the full url
 | 
			
		||||
    * [MD5](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/pastebin/README.md) and [Base62](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/pastebin/README.md)
 | 
			
		||||
    * [MD5](solutions/system_design/pastebin/README.md) and [Base62](solutions/system_design/pastebin/README.md)
 | 
			
		||||
    * Hash collisions
 | 
			
		||||
    * SQL or NoSQL
 | 
			
		||||
    * Database schema
 | 
			
		||||
@@ -272,61 +272,61 @@ Check out the following links to get a better idea of what to expect:
 | 
			
		||||
 | 
			
		||||
| Question | |
 | 
			
		||||
|---|---|
 | 
			
		||||
| Design Pastebin.com (or Bit.ly) | [Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/pastebin/README.md) |
 | 
			
		||||
| Design the Twitter timeline (or Facebook feed)<br/>Design Twitter search (or Facebook search) | [Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/twitter/README.md) |
 | 
			
		||||
| Design a web crawler | [Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/web_crawler/README.md) |
 | 
			
		||||
| Design Mint.com | [Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/mint/README.md) |
 | 
			
		||||
| Design the data structures for a social network | [Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/social_graph/README.md) |
 | 
			
		||||
| Design a key-value store for a search engine | [Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/query_cache/README.md) |
 | 
			
		||||
| Design Amazon's sales ranking by category feature | [Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/sales_rank/README.md) |
 | 
			
		||||
| Design a system that scales to millions of users on AWS | [Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/scaling_aws/README.md) |
 | 
			
		||||
| Design Pastebin.com (or Bit.ly) | [Solution](solutions/system_design/pastebin/README.md) |
 | 
			
		||||
| Design the Twitter timeline (or Facebook feed)<br/>Design Twitter search (or Facebook search) | [Solution](solutions/system_design/twitter/README.md) |
 | 
			
		||||
| Design a web crawler | [Solution](solutions/system_design/web_crawler/README.md) |
 | 
			
		||||
| Design Mint.com | [Solution](solutions/system_design/mint/README.md) |
 | 
			
		||||
| Design the data structures for a social network | [Solution](solutions/system_design/social_graph/README.md) |
 | 
			
		||||
| Design a key-value store for a search engine | [Solution](solutions/system_design/query_cache/README.md) |
 | 
			
		||||
| Design Amazon's sales ranking by category feature | [Solution](solutions/system_design/sales_rank/README.md) |
 | 
			
		||||
| Design a system that scales to millions of users on AWS | [Solution](solutions/system_design/scaling_aws/README.md) |
 | 
			
		||||
| Add a system design question | [Contribute](#contributing) |
 | 
			
		||||
 | 
			
		||||
### Design Pastebin.com (or Bit.ly)
 | 
			
		||||
 | 
			
		||||
[View exercise and solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/pastebin/README.md)
 | 
			
		||||
[View exercise and solution](solutions/system_design/pastebin/README.md)
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
### Design the Twitter timeline and search (or Facebook feed and search)
 | 
			
		||||
 | 
			
		||||
[View exercise and solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/twitter/README.md)
 | 
			
		||||
[View exercise and solution](solutions/system_design/twitter/README.md)
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
### Design a web crawler
 | 
			
		||||
 | 
			
		||||
[View exercise and solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/web_crawler/README.md)
 | 
			
		||||
[View exercise and solution](solutions/system_design/web_crawler/README.md)
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
### Design Mint.com
 | 
			
		||||
 | 
			
		||||
[View exercise and solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/mint/README.md)
 | 
			
		||||
[View exercise and solution](solutions/system_design/mint/README.md)
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
### Design the data structures for a social network
 | 
			
		||||
 | 
			
		||||
[View exercise and solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/social_graph/README.md)
 | 
			
		||||
[View exercise and solution](solutions/system_design/social_graph/README.md)
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
### Design a key-value store for a search engine
 | 
			
		||||
 | 
			
		||||
[View exercise and solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/query_cache/README.md)
 | 
			
		||||
[View exercise and solution](solutions/system_design/query_cache/README.md)
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
### Design Amazon's sales ranking by category feature
 | 
			
		||||
 | 
			
		||||
[View exercise and solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/sales_rank/README.md)
 | 
			
		||||
[View exercise and solution](solutions/system_design/sales_rank/README.md)
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
### Design a system that scales to millions of users on AWS
 | 
			
		||||
 | 
			
		||||
[View exercise and solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/scaling_aws/README.md)
 | 
			
		||||
[View exercise and solution](solutions/system_design/scaling_aws/README.md)
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
@@ -340,12 +340,12 @@ Check out the following links to get a better idea of what to expect:
 | 
			
		||||
 | 
			
		||||
| Question | |
 | 
			
		||||
|---|---|
 | 
			
		||||
| Design a hash map | [Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/hash_table/hash_map.ipynb)  |
 | 
			
		||||
| Design a least recently used cache | [Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/lru_cache/lru_cache.ipynb)  |
 | 
			
		||||
| Design a call center | [Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/call_center/call_center.ipynb)  |
 | 
			
		||||
| Design a deck of cards | [Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/deck_of_cards/deck_of_cards.ipynb)  |
 | 
			
		||||
| Design a parking lot | [Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/parking_lot/parking_lot.ipynb)  |
 | 
			
		||||
| Design a chat server | [Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/online_chat/online_chat.ipynb)  |
 | 
			
		||||
| Design a hash map | [Solution](solutions/object_oriented_design/hash_table/hash_map.ipynb)  |
 | 
			
		||||
| Design a least recently used cache | [Solution](solutions/object_oriented_design/lru_cache/lru_cache.ipynb)  |
 | 
			
		||||
| Design a call center | [Solution](solutions/object_oriented_design/call_center/call_center.ipynb)  |
 | 
			
		||||
| Design a deck of cards | [Solution](solutions/object_oriented_design/deck_of_cards/deck_of_cards.ipynb)  |
 | 
			
		||||
| Design a parking lot | [Solution](solutions/object_oriented_design/parking_lot/parking_lot.ipynb)  |
 | 
			
		||||
| Design a chat server | [Solution](solutions/object_oriented_design/online_chat/online_chat.ipynb)  |
 | 
			
		||||
| Design a circular array | [Contribute](#contributing)  |
 | 
			
		||||
| Add an object-oriented design question | [Contribute](#contributing) |
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user