How to interview a developer? This is a very common problem. Different people have different criteria for judging. Here is a mathematical method for me to score a developer quantitatively, so that we can roughly compare the quality of different developers based on the scores.
|CS Basic Knowledge||OS? Network? Language? Framework? Code Style?||5|
|Data Structure + Algorithm||Basic DSA is necessary, DP/Tree/Graph?||4|
|Project Experience||Open-source? interesting? Valuable? Match the job?||4|
|Job/Education Experience||Well-known companies/schools are preferred.||2|
|Clever||Self-study? Self-driven? Savvy? Good at taking notes?||2|
|Character||Perseverance? Passionate about tech?||1|
|Teamwork||Communication? Cooperation? Management?||1|
|Others||Award? Hobby? Geek?||1|
For an interviewer, the important are:
- Read the candidate’s resume carefully and annotate it before the interview.
- Be like a friend, you can get to know a real and natural performance of candidate.
- Give the candidate more time to talk about his experience and demonstrate his abilities.
- Be careful to guide candidates, as most candidates don’t know exactly what they need to show.
For a candidate, the important are:
- The ability of systematical thinking.
- The ability to find knowledge and digest knowledge.
- The mindset of problem-solving.
- The ability to use existing resources like software.
- The ability of communication and teamwork.
- 80 < score <= 100 - Excellent
- 65 < score <= 80 - Very good
- 50 < score <= 65 - Can be considered
- 25 < score <= 50 - Relatively Worse
- 0 < score <= 25 - Extremely Worse