It is recommended you follow the following steps to solving
Estimations ( 2-5 mins )
Next step is usually to estimate the scale required for the system. The goal of this step is to understand the level of sharding required ( if any ) and to zero down on the design goals for the system.
For example, if the total data required for the system fits on a single machine, we might not need to go into sharding and the complications that go with a distributed system design.
OR if the most frequently used data fits on a single machine, in which case caching could be done on a single machine.
Skeleton of the design ( 4 - 5 mins )
30-40 mins is not enough time to discuss every single component in detail. As such, a good strategy is to discuss a very high level with the interviewer and go into a deep dive of components as enquired by the interviewer.
Deep dive ( 20-30 mins )
This is an extension of the previous section.
All of the problem discussions follow the exact same pattern on InterviewBit.
Title | Difficulty | Average time to read | Asked in |
---|---|---|---|
Design Cache | Medium | 40 minutes |
|
Sharding a Database | Medium | 35 minutes |
|
Highly Available Database | Hard | 50 minutes |
|
Highly Consistent Database | Hard | 50 minutes |
|