mirror of
https://github.com/yangshun/tech-interview-handbook.git
synced 2025-07-28 12:43:12 +08:00
3.9 KiB
3.9 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
Things | |
---|---|
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
Things | |
---|---|
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
Things | |
---|---|
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
Things | |
---|---|
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
Things | |
---|---|
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
Things | |
---|---|
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. |