Each chapter in the book ends with an interview question followed by the analysis of what an interviewer would look for in an answer. Write one of these yourself. Start with an interview question you have asked or one that you’ve been asked (or one from the internet). Then write up what an interviewer would look for in an answer. Be specific about how the interviewer might help the interviewee if they get stuck. Note: this is intended to be a relatively short assignment to give you time to work on your final project.
I've been on an interview panel as an interviewer far more times than as a candidate.
Although the initial interview has a set of fixed questions for all candidates, subsequent interviews are typically more interesting to explore specific strengths and weaknesses.
Many times, the actual questions are irrelevant. The objective is to get candidates talking. The questions are typically just icebreakers to get started on a technical conversation. Yes, it is true that the questions can be used to weed people out that are completely unqualified. But the reality is that if HR is doing their job (and the candidate is honest), by the time an interview comes around the issue should be more about how new problems are solved. The same questions for different candidates is not only fair - but it makes the selection process easier for interviewers to compare responses.
One possible question: How would you get data from/to a database from application/device/etc?
That's a pretty open-ended question. By the time the interview is happening, the candidate should know that we're a C#/SQL shop, and will hopefully get started on that route for an answer. If not, minor penalty for not paying attention to the job specification.
What I look for, beyond technical competence: attitude, enthusiasm, motivation, methodology.
Does the candidate seem genuinely interested in software development? Are previous examples of something similar referenced? If they don't know the answer, what methods are used to find the answer?
Once the basic question is answered, then depending on the quality of the response, I will typically "grow" the problem: start adding new and more complex requirements such as dealing with millions of rows of data, security / firewall issues, etc. "What if this?", and "Have you considered that?". Again, it is all about getting a candidate to talk and ultimately reveal the methodology for problem solving and the underlying attitude.
Interviewers can help by just encouraging the candidate to just relax. There's nothing wrong with giving part of an answer. Everyone is anxious and nervous during an interview. Everyone knows this. The interview is just to ensure that the resume reflects reality. Anything beyond that is looking for best fit with regards to personality. I'd choose someone with perhaps less technical skill, but with a great attitude over someone with a poor attitude pretty much any day of the week. Technical skills are much easier to teach.
My best advice for interviewer: help the candidate feel at ease and relaxed.
My best advice for a candidate: relax. Be yourself.
<< Exercise 6 -- Assignments -- Exercise 8 >>