Member-only story
How To Ace Your Software Engineering Interview — Part 3 (System Design Questions)
Congratulations, you are now proficient with both algorithms and behavioral questions and are at the final step: System design questions. System design questions are scary and tricky, because they have no right answer, similar to behavioral questions. This is why these questions are crucial for passing your software engineering interview: Their ambiguity is what makes them an effective tool to gauge the technical strength of any experienced engineer. Unfortunately, there’s no concrete process to really master this type of question, but here’s the general approach you should have going into them:
- Your goal is to build a large and complex system at a high level
- The system you build should be good
- You should have solid reasoning for why your system is actually good
To clarify these ideas (like what exactly a “good” system is), I have the following general advice you should follow for these questions.
If You’re Coding, You’re Failing
As mentioned in idea #1, your goal is to build the system at a high level. This is the most common way I see engineers fail these problems. The entire point of these questions is to see if you can do more than just write code within…