You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -66,7 +66,7 @@ Feel free to submit pull requests to help:
66
66
67
67
Content that needs some polishing is placed [under development](#under-development).
68
68
69
-
Review the [Contributing Guidelines](https://github.com/donnemartin/system-design-primer/blob/master/CONTRIBUTING.md).
69
+
Review the [Contributing Guidelines](CONTRIBUTING.md).
70
70
71
71
## Index of system design topics
72
72
@@ -226,10 +226,10 @@ Outline a high level design with all important components.
226
226
227
227
### Step 3: Design core components
228
228
229
-
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:
229
+
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:
230
230
231
231
* Generating and storing a hash of the full url
232
-
*[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)
232
+
*[MD5](solutions/system_design/pastebin/README.md) and [Base62](solutions/system_design/pastebin/README.md)
233
233
* Hash collisions
234
234
* SQL or NoSQL
235
235
* Database schema
@@ -272,61 +272,61 @@ Check out the following links to get a better idea of what to expect:
| 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)|
280
-
| 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)|
281
-
| 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)|
282
-
| 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 the data structures for a social network |[Solution](solutions/system_design/social_graph/README.md)|
280
+
| Design a key-value store for a search engine |[Solution](solutions/system_design/query_cache/README.md)|
281
+
| Design Amazon's sales ranking by category feature |[Solution](solutions/system_design/sales_rank/README.md)|
282
+
| Design a system that scales to millions of users on AWS |[Solution](solutions/system_design/scaling_aws/README.md)|
283
283
| Add a system design question |[Contribute](#contributing)|
284
284
285
285
### Design Pastebin.com (or Bit.ly)
286
286
287
-
[View exercise and solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/pastebin/README.md)
287
+
[View exercise and solution](solutions/system_design/pastebin/README.md)
288
288
289
289

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

296
296
297
297
### Design a web crawler
298
298
299
-
[View exercise and solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/web_crawler/README.md)
299
+
[View exercise and solution](solutions/system_design/web_crawler/README.md)
300
300
301
301

302
302
303
303
### Design Mint.com
304
304
305
-
[View exercise and solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/mint/README.md)
305
+
[View exercise and solution](solutions/system_design/mint/README.md)
306
306
307
307

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

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

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

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

332
332
@@ -340,12 +340,12 @@ Check out the following links to get a better idea of what to expect:
340
340
341
341
| Question ||
342
342
|---|---|
343
-
| Design a hash map |[Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/hash_table/hash_map.ipynb)|
344
-
| 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)|
345
-
| Design a call center |[Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/call_center/call_center.ipynb)|
346
-
| 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)|
347
-
| Design a parking lot |[Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/parking_lot/parking_lot.ipynb)|
348
-
| Design a chat server |[Solution](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/online_chat/online_chat.ipynb)|
343
+
| Design a hash map |[Solution](solutions/object_oriented_design/hash_table/hash_map.ipynb)|
344
+
| Design a least recently used cache |[Solution](solutions/object_oriented_design/lru_cache/lru_cache.ipynb)|
345
+
| Design a call center |[Solution](solutions/object_oriented_design/call_center/call_center.ipynb)|
346
+
| Design a deck of cards |[Solution](solutions/object_oriented_design/deck_of_cards/deck_of_cards.ipynb)|
347
+
| Design a parking lot |[Solution](solutions/object_oriented_design/parking_lot/parking_lot.ipynb)|
348
+
| Design a chat server |[Solution](solutions/object_oriented_design/online_chat/online_chat.ipynb)|
349
349
| Design a circular array |[Contribute](#contributing)|
350
350
| Add an object-oriented design question |[Contribute](#contributing)|
Copy file name to clipboardExpand all lines: solutions/system_design/mint/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -331,7 +331,7 @@ class SpendingByCategory(MRJob):
331
331
332
332
**Important: Do not simply jump right into the final design from the initial design!**
333
333
334
-
State you would 1) **Benchmark/Load Test**, 2) **Profile** for bottlenecks 3) address bottlenecks while evaluating alternatives and trade-offs, and 4) repeat. See [Design a system that scales to millions of users on AWS](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/scaling_aws/README.md) as a sample on how to iteratively scale the initial design.
334
+
State you would 1) **Benchmark/Load Test**, 2) **Profile** for bottlenecks 3) address bottlenecks while evaluating alternatives and trade-offs, and 4) repeat. See [Design a system that scales to millions of users on AWS](../scaling_aws/README.md) as a sample on how to iteratively scale the initial design.
335
335
336
336
It's important to discuss what bottlenecks you might encounter with the initial design and how you might address each of them. For example, what issues are addressed by adding a **Load Balancer** with multiple **Web Servers**? **CDN**? **Master-Slave Replicas**? What are the alternatives and **Trade-Offs** for each?
Copy file name to clipboardExpand all lines: solutions/system_design/pastebin/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -239,7 +239,7 @@ To delete expired pastes, we could just scan the **SQL Database** for all entrie
239
239
240
240
**Important: Do not simply jump right into the final design from the initial design!**
241
241
242
-
State you would do this iteratively: 1) **Benchmark/Load Test**, 2) **Profile** for bottlenecks 3) address bottlenecks while evaluating alternatives and trade-offs, and 4) repeat. See [Design a system that scales to millions of users on AWS](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/scaling_aws/README.md) as a sample on how to iteratively scale the initial design.
242
+
State you would do this iteratively: 1) **Benchmark/Load Test**, 2) **Profile** for bottlenecks 3) address bottlenecks while evaluating alternatives and trade-offs, and 4) repeat. See [Design a system that scales to millions of users on AWS](../scaling_aws/README.md) as a sample on how to iteratively scale the initial design.
243
243
244
244
It's important to discuss what bottlenecks you might encounter with the initial design and how you might address each of them. For example, what issues are addressed by adding a **Load Balancer** with multiple **Web Servers**? **CDN**? **Master-Slave Replicas**? What are the alternatives and **Trade-Offs** for each?
Copy file name to clipboardExpand all lines: solutions/system_design/query_cache/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -216,7 +216,7 @@ Refer to [When to update the cache](https://github.com/donnemartin/system-design
216
216
217
217
**Important: Do not simply jump right into the final design from the initial design!**
218
218
219
-
State you would 1) **Benchmark/Load Test**, 2) **Profile** for bottlenecks 3) address bottlenecks while evaluating alternatives and trade-offs, and 4) repeat. See [Design a system that scales to millions of users on AWS](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/scaling_aws/README.md) as a sample on how to iteratively scale the initial design.
219
+
State you would 1) **Benchmark/Load Test**, 2) **Profile** for bottlenecks 3) address bottlenecks while evaluating alternatives and trade-offs, and 4) repeat. See [Design a system that scales to millions of users on AWS](../scaling_aws/README.md) as a sample on how to iteratively scale the initial design.
220
220
221
221
It's important to discuss what bottlenecks you might encounter with the initial design and how you might address each of them. For example, what issues are addressed by adding a **Load Balancer** with multiple **Web Servers**? **CDN**? **Master-Slave Replicas**? What are the alternatives and **Trade-Offs** for each?
Copy file name to clipboardExpand all lines: solutions/system_design/sales_rank/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -243,7 +243,7 @@ For internal communications, we could use [Remote Procedure Calls](https://githu
243
243
244
244
**Important: Do not simply jump right into the final design from the initial design!**
245
245
246
-
State you would 1) **Benchmark/Load Test**, 2) **Profile** for bottlenecks 3) address bottlenecks while evaluating alternatives and trade-offs, and 4) repeat. See [Design a system that scales to millions of users on AWS](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/scaling_aws/README.md) as a sample on how to iteratively scale the initial design.
246
+
State you would 1) **Benchmark/Load Test**, 2) **Profile** for bottlenecks 3) address bottlenecks while evaluating alternatives and trade-offs, and 4) repeat. See [Design a system that scales to millions of users on AWS](../scaling_aws/README.md) as a sample on how to iteratively scale the initial design.
247
247
248
248
It's important to discuss what bottlenecks you might encounter with the initial design and how you might address each of them. For example, what issues are addressed by adding a **Load Balancer** with multiple **Web Servers**? **CDN**? **Master-Slave Replicas**? What are the alternatives and **Trade-Offs** for each?
Copy file name to clipboardExpand all lines: solutions/system_design/social_graph/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -254,7 +254,7 @@ For internal communications, we could use [Remote Procedure Calls](https://githu
254
254
255
255
**Important: Do not simply jump right into the final design from the initial design!**
256
256
257
-
State you would 1) **Benchmark/Load Test**, 2) **Profile** for bottlenecks 3) address bottlenecks while evaluating alternatives and trade-offs, and 4) repeat. See [Design a system that scales to millions of users on AWS](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/scaling_aws/README.md) as a sample on how to iteratively scale the initial design.
257
+
State you would 1) **Benchmark/Load Test**, 2) **Profile** for bottlenecks 3) address bottlenecks while evaluating alternatives and trade-offs, and 4) repeat. See [Design a system that scales to millions of users on AWS](../scaling_aws/README.md) as a sample on how to iteratively scale the initial design.
258
258
259
259
It's important to discuss what bottlenecks you might encounter with the initial design and how you might address each of them. For example, what issues are addressed by adding a **Load Balancer** with multiple **Web Servers**? **CDN**? **Master-Slave Replicas**? What are the alternatives and **Trade-Offs** for each?
Copy file name to clipboardExpand all lines: solutions/system_design/twitter/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -226,7 +226,7 @@ The response would be similar to that of the home timeline, except for tweets ma
226
226
227
227
**Important: Do not simply jump right into the final design from the initial design!**
228
228
229
-
State you would 1) **Benchmark/Load Test**, 2) **Profile** for bottlenecks 3) address bottlenecks while evaluating alternatives and trade-offs, and 4) repeat. See [Design a system that scales to millions of users on AWS](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/scaling_aws/README.md) as a sample on how to iteratively scale the initial design.
229
+
State you would 1) **Benchmark/Load Test**, 2) **Profile** for bottlenecks 3) address bottlenecks while evaluating alternatives and trade-offs, and 4) repeat. See [Design a system that scales to millions of users on AWS](../scaling_aws/README.md) as a sample on how to iteratively scale the initial design.
230
230
231
231
It's important to discuss what bottlenecks you might encounter with the initial design and how you might address each of them. For example, what issues are addressed by adding a **Load Balancer** with multiple **Web Servers**? **CDN**? **Master-Slave Replicas**? What are the alternatives and **Trade-Offs** for each?
Copy file name to clipboardExpand all lines: solutions/system_design/web_crawler/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -260,7 +260,7 @@ For internal communications, we could use [Remote Procedure Calls](https://githu
260
260
261
261
**Important: Do not simply jump right into the final design from the initial design!**
262
262
263
-
State you would 1) **Benchmark/Load Test**, 2) **Profile** for bottlenecks 3) address bottlenecks while evaluating alternatives and trade-offs, and 4) repeat. See [Design a system that scales to millions of users on AWS](https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/scaling_aws/README.md) as a sample on how to iteratively scale the initial design.
263
+
State you would 1) **Benchmark/Load Test**, 2) **Profile** for bottlenecks 3) address bottlenecks while evaluating alternatives and trade-offs, and 4) repeat. See [Design a system that scales to millions of users on AWS](../scaling_aws/README.md) as a sample on how to iteratively scale the initial design.
264
264
265
265
It's important to discuss what bottlenecks you might encounter with the initial design and how you might address each of them. For example, what issues are addressed by adding a **Load Balancer** with multiple **Web Servers**? **CDN**? **Master-Slave Replicas**? What are the alternatives and **Trade-Offs** for each?
0 commit comments