You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tech-interview-handbook/preparing/cheatsheet.md

3.8 KiB

Interview Cheatsheet

This is a straight-to-the-point distilled list of technical interview Do's and Don'ts. Some of these may apply to only phone screens on whiteboard interviews but most will apply to both. I revise this list before each of my interviews to remind myself of them and eventually internalized all of them to the point I do not have to rely on it anymore.

For a detailed walkthrough of interview preparation, refer to the "Preparing for a Coding Interview" section.

1. Before Interview

Do's

  • Prepare pen, paper and earphones/headphones.
  • Find a quiet environment with good Internet connection.
  • Stay calm and composed.
  • Familiarize yourself with the coding environment (CoderPad/CodePen). Set up the coding shortcuts, turn on autocompletion, tab spacing, etc.
  • Dress comfortably. Usually you do not need to wear shirt and tie.

2. Introduction

Do's

  • Introduce yourself in a few sentences under a minute or two.
  • Mention interesting points that are relevant to the role you are applying for.
  • Sound enthusiastic! Speak with a smile and you will naturally sound more engaging.

Don'ts

  • Spend too long introducing yourself. The more time you spend talk the less time you have to code.

3. Upon Getting the Question

Do's

  • Repeat the question back at the interviewer.
  • Clarify input format and range.
  • Work through a small example to ensure you understood the question.
  • Explain a high level approach even if it is a brute force one.
  • Improve upon the approach and optimize. Reduce duplicated work and cache repeated computations.
  • Think carefully, then state and explain the time and space complexity of your approaches.
  • If stuck, think about related problems you have seen before and how they were solved. Check out the tips in this section.

Don'ts

  • Ignore information given to you. Every piece is important.
  • Jump into coding straightaway.
  • Start coding without interviewer's green light.
  • Appear too unsure about your approach or analysis.

4. During Coding

Do's

  • Practice good coding style. Clear variable names, consistent operator spacing, proper indentation, etc.
  • Defensive coding. Check for nulls, empty collections, etc.
  • Explain what you are coding/typing to the interviewer, what you are trying to achieve.
  • Type/write at a reasonable speed.
  • Write in a modular fashion. Extract out chunks of repeated code into functions.
  • Use the hints given by the interviewer.
  • Practice whiteboard space-management skills.
  • Demonstrate mastery of your chosen programming language.

Don'ts

  • Remain quiet the whole time.
  • Spend too much time writing comments.
  • Use extremely verbose variable names.
  • Copy and paste code without checking.
  • Interrupt your interviewer when they are talking. Usually if they speak, they are trying to give you hints or steer you in the right direction.
  • Write too big (takes up too much space) or too small (illegible) if on a whiteboard.

5. After Coding

Do's

  • Scan through your code for mistakes as if it was your first time seeing code written by someone else.
  • Check for off-by-one errors.
  • Come up with more test cases. Try extreme test cases.
  • Step through your code with those test cases.
  • Look out for places where you can refactor.
  • Reiterate the time and space complexity of your code.
  • Explain trade-offs and how the code/approach can be improved if given more time.

Don'ts

  • Immediately announce that you are done coding.
  • Argue with the interviewer.

6. Wrap Up

Do's

  • Ask questions. More importantly, ask good and engaging questions that are tailored to the company! Pick some questions from this list.
  • Thank the interviewer.

Don'ts

  • End the interview without asking any questions.
  • Ask about your interview performance. It can get awkward.