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.3 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.

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, 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.
  • 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.
  • State and explain the time and space complexity of your approaches.
  • If stuck, think about related problems you've 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.

4. During Coding

Do's

  • Practice good coding style. Clear variable names, consistent operator spacing.
  • 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 the language.
  • Let the interviewer talk. Usually if they speak, they are trying to give you hints or steer you in the right direction.

Don'ts

  • Remain quiet the whole time.
  • Spend too much time writing comments.
  • Use extremely verbose variable names.
  • Copy and paste code without checking.
  • 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 and ask good questions! Pick some questions from here.
  • Ask questions that are tailored to the company.
  • Thank the interviewer.

Don'ts

  • End the interview without asking any questions.