diff --git a/README.md b/README.md
index 5b7d11de7..2ca28f84a 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
:information_source: This repository contains questions on various DevOps and SRE related topics
-:bar_chart: There are currently **781** questions
+:bar_chart: There are currently **786** questions
:books: To learn more about DevOps check the resources in [DevOpsBit.com](https://devopsbit.com)
@@ -2905,7 +2905,21 @@ There is a more advanced python feature called MetaClasses that aid the programm
- What is an error? What is an exception? What types of exceptions are you familiar with?
+Explain and demonstrate class attributes & instance attributes
+
+In the following block of code `x` is a class attribute while `self.y` is a instance attribute
+
+```
+class MyClass(object):
+ x = 1
+
+ def __init__(self, y):
+ self.y = y
+```
+
+
+
+What is an error? What is an exception? What types of exceptions are you familiar with?
```
# Note that you generally don't need to know the compiling process but knowing where everything comes from
@@ -3054,7 +3068,7 @@ some_list[:3]
-How to sort list be the length of items?
+How to sort list by the length of items?
```
sorted_li = sorted(li, key=len)
@@ -3381,11 +3395,14 @@ colums = list(zip(*(rows)))
What is the result of each of the following?
+
```
>> ', '.join(["One", "Two", "Three"])
>> " ".join("welladsadgadoneadsadga".split("adsadga")[:2])
>> "".join(["c", "t", "o", "a", "o", "q", "l"])[0::2]
+```
+
```
>>> 'One, Two, Three'
>>> 'well done'
@@ -3466,6 +3483,7 @@ the_list.sort(key=lambda x: x[1])
Explain the following:
+
* zip()
* map()
* filter()
@@ -5675,6 +5693,24 @@ Not only this will tell you what is expected from you, it will also provide big
## Design
+#### Architecture
+
+
+Explain "3-Tier Architecture" (including pros and cons)
+
+
+
+What are the drawbacks of monolithic architecture?
+
+* Not suitable for frequent code changes and the ability to deploy new features
+* Not designed for today's infrastructure (like public clouds)
+* Scaling a team to work monolithic architecture is more challenging
+
+
+
+What are the advantages of micro-services architecture over a monolithic architecture?
+
+
#### Scalability
@@ -5695,6 +5731,17 @@ Horizontal Scaling is the process of adding more resources that will be able han
+
+What is the problem with the following architecture and how would you fix it?
+
+
+
+The load on the producers or consumers may be high which will then cause them to hang or crash.
+Instead of working in "push mode", the consumers can pull tasks only when they are ready to handle them. It can be fixed by using a streaming platform like Kafka, Kinesis, etc. This platform will make sure to handle the high load/traffic and pass tasks/messages to consumers only when the ready to get them.
+
+
+
+
Users report that there is huge spike in process time when adding little bit more data to process as an input. What might be the problem?
diff --git a/images/design/producers_consumers_fix.png b/images/design/producers_consumers_fix.png
new file mode 100644
index 000000000..005b990aa
Binary files /dev/null and b/images/design/producers_consumers_fix.png differ
diff --git a/images/design/producers_consumers_issue.png b/images/design/producers_consumers_issue.png
new file mode 100644
index 000000000..3cad0044c
Binary files /dev/null and b/images/design/producers_consumers_issue.png differ