diff --git a/README.md b/README.md index bced6c4..427e702 100644 --- a/README.md +++ b/README.md @@ -9403,6 +9403,8 @@ Bonus: extract the last word of each line ## System Design +This section contains only questions on System Design subject. The exercises can be found in [system-design-exercises repository](https://github.com/bregman-arie/system-design-exercises). + #### Architecture
@@ -9525,12 +9527,40 @@ Instead of working in "push mode", the consumers can pull tasks only when they a How would you scale the architecture from the previous question to hundreds of users?
+#### Cache +
-What is "cache"? In what cases would you use it?
+What is "cache"? In which cases would you use it?
-What is distributed cache?
+What is "distributed cache"?
+
+ +
+What is a "cache replacement policy"?
+ +Take a look [here](https://en.wikipedia.org/wiki/Cache_replacement_policies) +
+ +
+Which cache replacement policies are you familiar with?
+ +You can find a list [here](https://en.wikipedia.org/wiki/Cache_replacement_policies) +
+ +
+Explain the following cache policies: + + * FIFO + * LIFO + * LRU
+ +Read about it [here](https://en.wikipedia.org/wiki/Cache_replacement_policies) +
+ +
+Why not writing everything to cache instead of a database/datastore?
#### Migrations