Technical Skills
- Problem solving: not-easy algorithm questions
- Coding
- Design
Soft skills
- Communication
- Retrospect
- Mistakes related with design/decision
- What you learned from your mistake
- Bugs/troubleshooting
- Eager to learn
- Be flexible, willing to listen, not stubborn
What questions to ask
- ask interesting/challenging questions
- Or questions that's not difficult but focus on coding (bug free)
- ask questions that can be solved in different ways
- Avoid questions that can only solved one specific approach, unless it's obvious(binary search etc), and you are tesing coding skills not problem solving skills
Don't ask
Know the questions very well
- Different approaches
- Expect different approaches that you don't even know
- Verify it(use example, proof), if it works, the candidate does a good job and you also learn something new
Know common cause of bugs
- Able to detect bugs in candidate's code quickly
Give candidates the opportunity to prove themselves and shine
We are trying to evaluate the candidate's skills thoroughly, what he/she is good at, what not.
If you plan to ask 2 coding questions, one simple, and one more difficult, tell candidates
Let the candidates know your expectation
Make the candidates learn something
- If the candidate doesn't give right solution/answer, and at the end of the interview, he/she wants to know how to approach it, tell him/her.
Why?
- Candidates takes a lot of effort for the interview (one day off and commute), if they desire to learn something, and learning something make them feel good
- Prove that you know the solution and have reasonable answer, and not ask questions you even don't know much
No surprise
If you find issues/bugs in candidate's code or design, point them out
The candidate should have a rough idea about how he/she performs in this interview
Be fair
Phone interview
Prefer coding question over design question
- as design is partly about communication and it's hard to test communication skills over phone
- Problem solving: not-easy algorithm questions
- Coding
- Design
Soft skills
- Communication
- Retrospect
- Mistakes related with design/decision
- What you learned from your mistake
- Bugs/troubleshooting
- Eager to learn
- Be flexible, willing to listen, not stubborn
What questions to ask
- ask interesting/challenging questions
- Or questions that's not difficult but focus on coding (bug free)
- ask questions that can be solved in different ways
- Avoid questions that can only solved one specific approach, unless it's obvious(binary search etc), and you are tesing coding skills not problem solving skills
Don't ask
- brain teasers, puzzles, riddles
- problems only because you are interested, you just happen to know, or you just learned recently
- problems only because you are interested, you just happen to know, or you just learned recently
- Different approaches
- Expect different approaches that you don't even know
- Verify it(use example, proof), if it works, the candidate does a good job and you also learn something new
Know common cause of bugs
- Able to detect bugs in candidate's code quickly
Give candidates the opportunity to prove themselves and shine
We are trying to evaluate the candidate's skills thoroughly, what he/she is good at, what not.
If you plan to ask 2 coding questions, one simple, and one more difficult, tell candidates
Let the candidates know your expectation
Make the candidates learn something
- If the candidate doesn't give right solution/answer, and at the end of the interview, he/she wants to know how to approach it, tell him/her.
Why?
- Candidates takes a lot of effort for the interview (one day off and commute), if they desire to learn something, and learning something make them feel good
- Prove that you know the solution and have reasonable answer, and not ask questions you even don't know much
No surprise
If you find issues/bugs in candidate's code or design, point them out
The candidate should have a rough idea about how he/she performs in this interview
Be fair
Phone interview
Prefer coding question over design question
- as design is partly about communication and it's hard to test communication skills over phone