Ask HN:I am interviewing a candidate for a job help me
I have made a fairly large list of interview questions mostly taken from CoddingHorror, Joel's blog and some blogs linked from HN.
My real question:
When I ask the a to solve a programming problem (say FizzBuzz test), should I give him his own time, should I leave him alone with the problem or should I simply keep starting at his face with a pointed stare while he writes the program on the paper ?
Some interviews which I answered (and failed) in my life were mostly like the second type. The interviewer would ask me to write a program to reverse a link and if I wasted a minute calculating in my mind what would be the approach he would simply move to the next question. Some even said, if you gotta think for this problem you are not fit for the job.
I dont want to hire a candidate who has memories solution approaches to the candidate, I am looking for someone who can attack a problem with confidence.
You're likely not going to have a business situation which requires an employee to code a solution in 5 minutes. Even if you do, the team + collaborative environment in that situation vs in this present interview situation will make a major difference in the employee's performance.
You obviously want to hire people that can handle stress and perform well under it, but it doesn't make a lot of sense to create these unrealistic situations to test how well a candidate might perform on the job.
I'd recommend informing the candidate upfront that the interview will be taped. Then give him the problem and come back in an hour. Make the candidate provide you with all the scratch sheets / work and use these in conjunction with your tape to evaluate his/her performance.
I realize this may not be realistic, but it is possible and I think it would lead to some interesting and useful results.
treat it as such, then, and state it up front.
i tend to introduce it as something like "a code question to see how you think" (or something to that effect). and then set the tone by asking a question that is simple on the surface, but people rarely get 100% right on their first iteration. they usually come to an acceptable answer somewhat quickly, and then i discuss it with them. that sets up a dialog for the other questions, even if the subsequent ones are more cut and dry types of questions.
edit: in fact, almost all of my questions are like this. i rarely do stuff like a "reverse a string". reversing a string is somewhat trivial and doesn't provide layers or interaction. i prefer to have a question that allows me to see how someone thinks and interact with them to see how smart they are and how well we might be able to work together.