mirror of
https://github.com/yangshun/tech-interview-handbook.git
synced 2025-07-28 12:43:12 +08:00
contents: add interviewer cheatsheet
This commit is contained in:
75
contents/interviewer-cheatsheet.md
Normal file
75
contents/interviewer-cheatsheet.md
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
---
|
||||||
|
id: interviewer-cheatsheet
|
||||||
|
title: Cheatsheet (Interviewer)
|
||||||
|
---
|
||||||
|
|
||||||
|
This is a straight-to-the-point, distilled list of technical interview Do's and Don'ts **for interviewers**, mainly for algorithmic interviews. Some of these may apply to only phone screens or whiteboard interviews, but most will apply to both. I revise this list before each of my interviews as an interviewer to remind myself of them and eventually internalized all of them to the point I do not have to rely on it anymore.
|
||||||
|
|
||||||
|
**If you are a candidate you probably do not need to know this section well. You may read this to get a better sense of what an interviewer is supposed to do during an interview.**
|
||||||
|
|
||||||
|
#### Legend
|
||||||
|
|
||||||
|
- ✅ = Do
|
||||||
|
- ❌ = Don't
|
||||||
|
- ⚠️ = Situational
|
||||||
|
|
||||||
|
### Before interview
|
||||||
|
|
||||||
|
| | Things |
|
||||||
|
| --- | --- |
|
||||||
|
| ✅ | Make sure your surroundings are well-lit. |
|
||||||
|
| ✅ | Find a quiet environment with good Internet connection. |
|
||||||
|
| ✅ | Ensure webcam and audio are working. Test that your VC app is working well. |
|
||||||
|
| ✅ | Prepare two to three questions and be familiar with the different approaches for solving the questions. |
|
||||||
|
| ✅ | Familiarize yourself with the coding environment (CoderPad/CodePen). Set up the coding shortcuts, turn on autocompletion, tab spacing, etc. |
|
||||||
|
|
||||||
|
### Introduction
|
||||||
|
|
||||||
|
| | Things |
|
||||||
|
| --- | --- |
|
||||||
|
| ✅ | Check if candidate wants to use the restroom or take a break. |
|
||||||
|
| ✅ | Give an overview of the interview format (introduction, duration, programming languages available, 5 min at the end for Q&A). |
|
||||||
|
| ✅ | Do a self-introduction and get the candidate to introduce themselves. |
|
||||||
|
| ✅ | Explain to candidate that they do not have to finish all questions and you might interrupt them abruptly. |
|
||||||
|
| ❌ | Allow the candidate to spend too long introducing themselves. |
|
||||||
|
|
||||||
|
### Upon delivering the question
|
||||||
|
|
||||||
|
| | Things |
|
||||||
|
| --- | --- |
|
||||||
|
| ✅ | Ask if the candidate has seen the question before. |
|
||||||
|
| ✅ | Give a small example for the question and the desired output. |
|
||||||
|
| ✅ | Get the candidate to talk through the solution first before diving into coding. |
|
||||||
|
| ✅ | Provide hints where appropriate. |
|
||||||
|
| ✅ | If candidate is still stuck after providing hints, provide the solution and move to coding so that you can get coding signals. |
|
||||||
|
|
||||||
|
### During coding
|
||||||
|
|
||||||
|
| | Things |
|
||||||
|
| --- | --- |
|
||||||
|
| ✅ | If whiteboard interview, stand alongside candidate but also giving them space, instead of being distant, e.g seated down. |
|
||||||
|
| ✅ | Take note of all the positive and negative signals. |
|
||||||
|
| ❌ | Check the time in an overly-obvious manner. |
|
||||||
|
|
||||||
|
### After coding
|
||||||
|
|
||||||
|
| | Things |
|
||||||
|
| --- | --- |
|
||||||
|
| ✅ | Ask for candidate to provide test cases and run through the code with them. |
|
||||||
|
| ✅ | Point out edge cases candidate missed and ask the candidate to address them. |
|
||||||
|
| ✅ | Ask for time complexity and space analysis. |
|
||||||
|
| ✅ | Preserve the code somewhere - take a picture or copy the code out. |
|
||||||
|
| ✅ | Stop the candidate when there is 5 minutes left. e.g. ("I'll stop you here and let's go to the next section") |
|
||||||
|
|
||||||
|
### Wrap up
|
||||||
|
|
||||||
|
| | Things |
|
||||||
|
| --- | --- |
|
||||||
|
| ✅ | Allow candidate to ask questions and answer them to the best of your ability. |
|
||||||
|
| ✅ | Thank the candidate and wish them all the best. |
|
||||||
|
|
||||||
|
### Post interview
|
||||||
|
|
||||||
|
| | Things |
|
||||||
|
| --- | --------------------------------------------------------- |
|
||||||
|
| ✅ | Write feedback as soon as possible to not forget details. |
|
@ -21,6 +21,7 @@ module.exports = {
|
|||||||
'cheatsheet',
|
'cheatsheet',
|
||||||
'coding-signals',
|
'coding-signals',
|
||||||
'mock-interviews',
|
'mock-interviews',
|
||||||
|
'interviewer-cheatsheet',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -140,9 +140,48 @@ function Home() {
|
|||||||
className={classnames(
|
className={classnames(
|
||||||
'margin-vert--lg',
|
'margin-vert--lg',
|
||||||
'padding-vert--lg',
|
'padding-vert--lg',
|
||||||
'text--center',
|
|
||||||
styles.sectionAlt,
|
styles.sectionAlt,
|
||||||
)}>
|
)}>
|
||||||
|
<div className="container">
|
||||||
|
<div className="row">
|
||||||
|
<div className="col col--6 col--offset-3">
|
||||||
|
<h2
|
||||||
|
className={classnames(
|
||||||
|
'margin-vert--lg',
|
||||||
|
'text--center',
|
||||||
|
styles.sectionTitle,
|
||||||
|
)}>
|
||||||
|
Success Stories
|
||||||
|
</h2>
|
||||||
|
{successStories.map((user) => (
|
||||||
|
<div className="card margin-vert--lg" key={user.name}>
|
||||||
|
<div className="card__body">
|
||||||
|
<p className={styles.quote}>"{user.quote}"</p>
|
||||||
|
</div>
|
||||||
|
<div className="card__header">
|
||||||
|
<div className="avatar">
|
||||||
|
<img className="avatar__photo" src={user.thumbnail} />
|
||||||
|
<div className="avatar__intro">
|
||||||
|
<h4 className="avatar__name">{user.name}</h4>
|
||||||
|
<small className="avatar__subtitle">
|
||||||
|
{user.title}
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
className={classnames(
|
||||||
|
'margin-vert--lg',
|
||||||
|
'padding-vert--lg',
|
||||||
|
'text--center',
|
||||||
|
)}>
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<div className="row">
|
<div className="row">
|
||||||
<div className="col col--8 col--offset-2">
|
<div className="col col--8 col--offset-2">
|
||||||
@ -212,40 +251,6 @@ function Home() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className={classnames('margin-vert--lg', 'padding-vert--lg')}>
|
|
||||||
<div className="container">
|
|
||||||
<div className="row">
|
|
||||||
<div className="col col--6 col--offset-3">
|
|
||||||
<h2
|
|
||||||
className={classnames(
|
|
||||||
'margin-vert--lg',
|
|
||||||
'text--center',
|
|
||||||
styles.sectionTitle,
|
|
||||||
)}>
|
|
||||||
Success Stories
|
|
||||||
</h2>
|
|
||||||
{successStories.map(user => (
|
|
||||||
<div className="card margin-vert--lg" key={user.name}>
|
|
||||||
<div className="card__body">
|
|
||||||
<p className={styles.quote}>"{user.quote}"</p>
|
|
||||||
</div>
|
|
||||||
<div className="card__header">
|
|
||||||
<div className="avatar">
|
|
||||||
<img className="avatar__photo" src={user.thumbnail} />
|
|
||||||
<div className="avatar__intro">
|
|
||||||
<h4 className="avatar__name">{user.name}</h4>
|
|
||||||
<small className="avatar__subtitle">
|
|
||||||
{user.title}
|
|
||||||
</small>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</Layout>
|
</Layout>
|
||||||
);
|
);
|
||||||
|
Reference in New Issue
Block a user