A lot of software engineers struggle with System Design Interviews (SDIs) primarily because of three reasons:
- The unstructured nature of SDIs, where the candidates are asked to work on an open-ended design problem that doesn’t have a standard answer;
- Candidates lack experience in developing complex and large scale systems;
- Candidates did not spend enough time to prepare for SDIs;
Like coding interviews, candidates who haven’t put a deliberate effort to prepare for SDIs, mostly perform poorly, especially at top companies like Google, Facebook, Amazon, Microsoft, etc. In these companies, candidates who do not perform above average have a limited chance to get an offer. On the other hand, a good performance always results in a better offer (higher position and salary) since it shows the candidate’s ability to handle a complex system.


