Convert cheatsheet to table

pull/45/head
Yangshun Tay 7 years ago
parent d3d98510b2
commit cf398576f5

@ -7,92 +7,77 @@ For a detailed walkthrough of interview preparation, refer to the ["Preparing fo
### 1. Before Interview ### 1. Before Interview
**Do's** || Things |
|-|-|
- Prepare pen, paper and earphones/headphones. |**Do's**|Prepare pen, paper and earphones/headphones.|
- Find a quiet environment with good Internet connection. ||Find a quiet environment with good Internet connection.|
- Stay calm and composed. ||Stay calm and composed.|
- Familiarize yourself with the coding environment (CoderPad/CodePen). Set up the coding shortcuts, turn on autocompletion, tab spacing, etc. ||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. || Dress comfortably. Usually you do not need to wear shirt and tie.|
### 2. Introduction ### 2. Introduction
**Do's** || Things |
|-|-|
- Introduce yourself in a few sentences under a minute or two. |**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. ||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. ||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.|
**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 ### 3. Upon Getting the Question
**Do's** || Things |
|-|-|
- Repeat the question back at the interviewer. |**Do's**|Repeat the question back at the interviewer.|
- Clarify input format and range. ||Clarify input format and range.|
- Work through a small example to ensure you understood the question. ||Work through a small example to ensure you understood the question.|
- Explain a high level approach even if it is a brute force one. ||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. ||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. ||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](../algorithms) in this section. ||If stuck, think about related problems you have seen before and how they were solved. Check out the [tips](../algorithms) in this section.|
|**Don'ts**|Ignore information given to you. Every piece is important.|
**Don'ts** ||Jump into coding straightaway.|
||Start coding without interviewer's green light.|
- Ignore information given to you. Every piece is important. ||Appear too unsure about your approach or analysis.|
- Jump into coding straightaway.
- Start coding without interviewer's green light.
- Appear too unsure about your approach or analysis.
### 4. During Coding ### 4. During Coding
**Do's** || Things |
|-|-|
- Practice good coding style. Clear variable names, consistent operator spacing, proper indentation, etc. |**Do's**|Practice good coding style. Clear variable names, consistent operator spacing, proper indentation, etc.|
- Defensive coding. Check for nulls, empty collections, etc. ||Defensive coding. Check for nulls, empty collections, etc.|
- Explain what you are coding/typing to the interviewer, what you are trying to achieve. ||Explain what you are coding/typing to the interviewer, what you are trying to achieve.|
- Type/write at a reasonable speed. ||Type/write at a reasonable speed.|
- Write in a modular fashion. Extract out chunks of repeated code into functions. ||Write in a modular fashion. Extract out chunks of repeated code into functions.|
- Use the hints given by the interviewer. ||Use the hints given by the interviewer.|
- Practice whiteboard space-management skills. ||Practice whiteboard space-management skills.|
- Demonstrate mastery of your chosen programming language. ||Demonstrate mastery of your chosen programming language.|
|**Don'ts**|Remain quiet the whole time.|
**Don'ts** ||Spend too much time writing comments.|
||Use extremely verbose variable names.|
- Remain quiet the whole time. ||Copy and paste code without checking.|
- Spend too much time writing comments. ||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.|
- Use extremely verbose variable names. ||Write too big (takes up too much space) or too small (illegible) if on a whiteboard.|
- 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 ### 5. After Coding
**Do's** || Things |
|-|-|
- Scan through your code for mistakes as if it was your first time seeing code written by someone else. |**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. ||Check for off-by-one errors.|
- Come up with more test cases. Try extreme test cases. ||Come up with more test cases. Try extreme test cases.|
- Step through your code with those test cases. ||Step through your code with those test cases.|
- Look out for places where you can refactor. ||Look out for places where you can refactor.|
- Reiterate the time and space complexity of your code. ||Reiterate the time and space complexity of your code.|
- Explain trade-offs and how the code/approach can be improved if given more time. ||Explain trade-offs and how the code/approach can be improved if given more time.|
|**Don'ts**|Immediately announce that you are done coding.|
**Don'ts** ||Argue with the interviewer.|
- Immediately announce that you are done coding.
- Argue with the interviewer.
### 6. Wrap Up ### 6. Wrap Up
**Do's** || Things |
|-|-|
- Ask questions. More importantly, ask good and engaging questions that are tailored to the company! Pick some questions from [this list](../non-technical/questions-to-ask.md). |**Do's**|Ask questions. More importantly, ask good and engaging questions that are tailored to the company! Pick some questions from [this list](../non-technical/questions-to-ask.md).|
- Thank the interviewer. ||Thank the interviewer.|
|**Don'ts**|End the interview without asking any questions.|
**Don'ts** ||Ask about your interview performance. It can get awkward.|
- End the interview without asking any questions.
- Ask about your interview performance. It can get awkward.

Loading…
Cancel
Save