Feature expectations
Design Goals
- It is extremely important part, hence get a very clear understanding of whats the requirement for the question.
Estimations
- 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.
Design Goals
Figure out what are the most important goals for the system. It is possible that there are systems which are latency systems in which case a solution that does not account for it, might lead to bad design.
Skeleton of the design
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.
Skeleton of the design
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.
No comments:
Post a Comment