This is a little reflection on problems with system design interviews, the ends and means of executing the proper answering framework.
You may notice that this is targeted to a generalized audience, however it is the of the topic which is important to me.
The Mistakes
Initially, upon starting the interview
Not asking enough questions
Not reading the questions carefully
Not quantifying the problem, best guess (with some assumptions) is OK
Not writing down the Functional and Non-Functional Requirements
During the Actual Design
Not talking about tradeoffs - i.e. Why am I choosing this? What are the alternatives?
Starting with too much complexity, and/or pre-mature optimization
If you are thinking about problems, and applying solutions, make sure you justify/talk out loud about them.
The Solution
The Framework
Talk with the interviewer, have an authentic conversation during this process
Read the damned question
Ask clarifying questions
Write down the Functional and Non-Functional Requirements
Design small and simple
Design for scale if necessary, TALK about tradeoffs
Helpful Notes
Think in Frameworks and First Principal (First principal is, you are trying to communicate that you know how to design this)
Communicate, and over communicate
Practice, practice, practice
Mock interviews with people you trust or professionals HelloInterview is a service I used
Notes, or systems to help you remember the framework. Sticky notes around your screen might help.
Comments
Comments powered by Disqus