Skip to main content

Systems Design Interviews

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

  1. Not asking enough questions

  2. Not reading the questions carefully

  3. Not quantifying the problem, best guess (with some assumptions) is OK

  4. Not writing down the Functional and Non-Functional Requirements

During the Actual Design

  1. Not talking about tradeoffs - i.e. Why am I choosing this? What are the alternatives?

  2. Starting with too much complexity, and/or pre-mature optimization

  3. If you are thinking about problems, and applying solutions, make sure you justify/talk out loud about them.

The Solution

The Framework

  1. Talk with the interviewer, have an authentic conversation during this process

  2. Read the damned question

  3. Ask clarifying questions

  4. Write down the Functional and Non-Functional Requirements

  5. Design small and simple

  6. Design for scale if necessary, TALK about tradeoffs

Helpful Notes

  1. Think in Frameworks and First Principal (First principal is, you are trying to communicate that you know how to design this)

  2. Communicate, and over communicate

  3. Practice, practice, practice

  4. Mock interviews with people you trust or professionals HelloInterview is a service I used

  5. Notes, or systems to help you remember the framework. Sticky notes around your screen might help.

Comments

Comments powered by Disqus