Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I've been interviewing software engineers lately and I tend to ask harder and hardeer questions until they get something wrong, then switch to another technology track and do the same. When the candidates do get something wrong, I always tell them the right answer...mainly because that's what I would want if I were being interviewed. It sucks to just hear "no that's not right" and nothing else...

Yesterday a candidate made a snarky comment when I gave him the correct answer after he answered incorrectly, saying "well I'm not sure I'll ever use that information...".

I never speak condescendingly or critically. I just say in a matter of fact tone: "actually, in xyz language, abc is implemented in such a way, not in that way".

Is my practice of providing correct answers inappropriate? Should I reconsider this practice?

share|improve this question
10  
you are asking the wrong types of questions. –  Jarrod Roberson Feb 4 '12 at 2:08
1  
Personally, I would prefer to hear the answer right away. –  Maxpm Feb 4 '12 at 3:31
5  
Your first example is flawed unless they are going to be expected to be writing both Java and C# in their daily activities, which is doubtful, and the second is subjective which is a better question, but you are expecting the wrong answer. There is no correct answer to that question, and it should not be expected. It can be answered positive and negative i.e. Bluntly applied design patterns, incorrectly used reduce the quality., I am pretty sure that isn't an answer you were looking for. Just because the they didn't answer what you wanted to hear doesn't make you correct. –  Jarrod Roberson Feb 4 '12 at 4:16
4  
"well I'm not sure I'll ever use that information..." To which, you only need reply "not here, anyway." –  Anthony Pegram Feb 4 '12 at 4:38
3  
The candidate took an arrow to his knee! –  Karthik Sreenivasan Feb 4 '12 at 5:19

14 Answers 14

up vote 33 down vote accepted

I wouldn't even tell them if they were right or not. A straight, "OK. I see. Thanks." normally does the trick.

Seriously, these days with always-on Internet, pop quiz type questions on language features are a bit redundant. Any decent developer who knows what they're trying to achieve can find out how to do it and what the best practice is within moments.

In my opinion you should be focusing on the their approaches to problem solving/debugging, attitudes to different development lifecyles, how they interpret requirements (i.e. find out the what not the how), and high-level design knowledge rather than individual language features where they just feel "caught out" for not knowing something that might be relatively obscure.

You can get a feel for their lower level knowledge in the way they answer these broader questions and then dig a bit deeper in that area if you think it's unsound.

Just my $0.02 worth.

share|improve this answer
7  
I've just given you +1, because I think the first sentence of your answer is exactly right. But why do you think the questions are "pop quiz type questions on language features"? I don't think the OP said that. Whatever the questions are, there must be some answers that are better than others, and some answers that are just wrong. In any case, it's not the interviewer's job to teach stuff to the candidate. –  David Wallace Feb 4 '12 at 6:16
2  
OP's own example of "I just say in a matter of fact tone: "actually, in xyz language, abc is implemented in such a way, not in that way"." gives a very strong impression of a trivia-type question. –  Affe Feb 4 '12 at 10:36
2  
As someone who is looking for jobs, I do hope my interviewer tells me if I got the answer right or wrong. I usually tend to ask my interviewer if the answer I gave them is what they are looking for, or if I should deviate from my proposed method or take it further. It gives me a better idea of how well I think my interview went. –  ossandcad Feb 6 '12 at 18:36

I wouldn't say it's wrong in general, I like to know when I've been wrong, but...

You have described an interview pattern of

  1. Question, question, question....you got that wrong;
  2. Question, question, question....you got that wrong;
  3. Question, question, question....you got that wrong;

The interviewee may notice a pattern, and draw a conclusion from it that you may not intend.

share|improve this answer

Interviewing is a two-way street. Depending on the economy, the candidate may have options, and may be interviewing you as well. Your questions might just be a statistical sampling of some knowledge area. More useful than the raw answers themselves is how well the candidate communicates his answers and reasons behind them. In the same way, the interviewer, by explaining the answer to at least one of the hard questions, can demonstrate to the candidate (assuming they pass the smoke test and are worth the time) a communicative work environment where they can learn cool things from coworkers, such as you, the interviewer.

You might also want to see how they react. Is this someone you would want to spend a lot of time explaining stuff to if you hired them? He else could you find out other than by trying, and seeing if the lights go on or not?

share|improve this answer

What I prefer to do is keep the questions open-ended and see what their thought processes are. If they're completely out in the weeds I'll try to ask more questions to coerce them back to something approaching sanity, and if they flat-out give up on a line of questioning and ask for a right answer I'll give them direct suggestions. If they can pick up the line of reasoning from there and continue on in the right direction, it tells me a lot about how well they can synthesize information and ideas on the fly, and while at that point it's unlikely that they'll be a successful high-level engineer, they could still be a valuable employee for the more low-grade tasks (i.e. things which are easy to do with guidance but would take too much time away from core engineers).

Personally, I think that the ability to both recognize and admit that you're on the wrong path or completely clueless about something is valuable, and seeing how people react to realizing they're on the wrong track does a lot to show how they'll deal with a real situation in which the solution isn't apparent to anyone.

share|improve this answer

I don't give answers out for a variety of reasons:

  1. Answers get around. Even without giving answers, this happens. I once gave a 4 part stats question as part of an interview day for a quantitative job at an ivy league. I didn't give answers, but by the end of the day, someone came in who had obviously heard the question. His problem - he mixed up the answers to 2 and 3 and couldn't tell why.
  2. It avoids introducing self-bias. In general I don't like to give people an idea of how they're doing in the interview. Unless I'm 100% sure it's time to switch to sell mode, I don't want to encourage them into answers rather than give real ones themselves.
  3. Liability. I don't know all the details, but at a large firm I used to work for, they listed, "Don't give feedback on answers" along with more obvious liability issues like, "Don't ask someone's age."

2 side notes on this:

  1. You can give the answer after you hire someone.
  2. It always helps to have some humility. I once had someone who missed half of my 4 part math question produce a spreadsheet to show how my intuition was wrong. I'm glad we hired him.

On the particulars of your situation... If I gave an answer, and the recipient was condescending, I'd end the interview. The person clearly isn't coachable.

share|improve this answer
2  
I know it's just a typo, but I found "I don't all the details" hilarious :) You don't WHAT all the details? Oh I see... you don't all the details... so I'll never know! :) –  corsiKa Feb 4 '12 at 4:39
    
Details about details... –  MathAttack Feb 4 '12 at 7:20
2  
@glowcoder: "I think you accidentally a word there." –  Keith Thompson Feb 4 '12 at 8:02
1  
"Unless I'm 100% sure it's time to switch to sell mode" - Always be in sell mode. You never know what you're going to think after you've slept on an interview, or how the rest of the interviewers are feeling at the time. You can always sell a job and then turn them down; you can't convince someone that you haven't already convinced. That said, +1 for the rest of the answer. Liability, I assume, covers the situation where you don't give a job because your answers to the questions were wrong. –  pdr Feb 4 '12 at 19:58
    
@pdr - Re: Selling - It's always good to be polite. What I mean by selling is after I have enough data to decide positively, I stop asking and start subtly selling. Your point is very valid though - today's candidate is tomorrow's customer. On liability - I mean the situation where you might get sued for not hiring someone. I don't know the full legal risks (I haven't been sued) but BigCompanyHR gave the advice there. I don't have ego issues with being proven wrong, but perhaps someone could sue the company if they double-check your answers. –  MathAttack Feb 4 '12 at 22:37

Well it depends.

From my experience, what you have done is quiet appropriate. It was the candidate's clouded judgement that must be corrected. When I used to take interviews, I usually check for their attitude before I offer help which is assessed based on the progress of the interview.

Good luck!

share|improve this answer

While I don't think correcting an interviewee is inappropriate, it's probably not the norm. I've never experienced it as an interviewee nor have I done it as an interviewer, and I (personally) wouldn't. Then again, it's not my personal style to ask questions in face-to-face interviews that have right or wrong answers (note: I ask questions for which there are good and bad answers, but not really right or wrong -- YMMV).

When I interview someone, I'm also (as others have alluded to) watching for the way the candidate works out the question or the problem asked. By asking open-ended questions, I then have the freedom to ask follow-up questions that can probe deeper into thought processes and also behavior. By "behavior" I mean does the candidate always have a ready answer even if it's not the "best" answer or is illogically formed? Or do they pause, consider their answer, and give a well-reasoned one even if it takes longer? Or, vice-versa, of course -- all outcomes, right or wrong, provide insight. My goal is not to shut down the conversation, which is how a verbal correction might be interpreted.

Now, depending on your circumstances and the types of jobs you're interviewing for -- such as whether or not the candidates are right out of school or otherwise entry- or junior-level folks -- I can totally see having a mix of questions. And, I can even see the benefit of correcting someone who says something wholly incorrect -- but it would be for the explicit purpose of seeing how they respond to criticism, not just to inform them that they're wrong (although that's a good side benefit). As you saw in your snarky candidate, someone who doesn't take criticism well in an interview is likely to take it less well in an actual working environment, so it was useful.

TL;DR: I've not experienced it, it's not inappropriate and is potentially useful, but perhaps spend some time determining just what it is you really want to know about the candidate and tweak your process accordingly.

share|improve this answer

Yes you should provide the correct answer if they got it wrong (for objective questions of course). Continue what you are doing. In my case I would really appreciate being corrected. It's one way of helping the candidates grow. I'm sure everyone experienced this early on. You might end up not hiring them but you did a great job sharing your knowledge and contributed to their growth.

No matter how much negative feedback you get in doing so, especially with close-minded candidates, do it anyway. The open mind will surely welcome it regardless if they'll find it useful or not.

In any case, your interview must be focused on their future responsibilities and try to extract behavioral patterns especially on their approach to problem solving and work ethics.

share|improve this answer

I have a first hand experience on this topic, but related to a programming task, rather than a pure question interview. I was interviewed recently and had to code something which I should have found very, very simple: something to do with fibonacci series. Although I shouldn't have had any problem the guy was next to me at the computer (even controlling the pointer with a second mouse) and correcting me without leaving me enough time to think of the answers. He was a bit full of himself and had a patronising attitude, which was funny because he was incapable of explaining what exactly did he want me to do (or pronouncing "fibonacci" correctly). Then he insisted that I followed a TDD approach, building the absolute minimum that would work for some test, (ie. start with a method that returns 1) which was quite dumb given the simplicity of the problem and it's useless to test candidates by having them work in the particular way you are going to develop your code (which anybody can understand and follow) instead of assessing their problem-solving skills.

By the way, they seem to have permanently posted their ad on this job board looking for "great programmers" as they advertise on their web. Go figure. I wonder if it has crossed their minds why they haven't found all those great programmers they need yet.

Sorry for the rant... so, no, if it's a coding test let the interviewee answer whatever they like and just keep it going with some polite "aha, aha" or let them work on their own, which is quite obvious but then again, I felt like ranting a little.

If it's a simple batch of questions, as an interviewee I would prefer being told the right answer. As an interviewer I wouldn't probably bother, to avoid having to hear snarky retorts. And not just because it's unpleasant, but because I would feel unfavourable to the interviewee. I strongly believe that it's imposible to assess someone's personality in such a short time. I would try to be aware that my brain has evolved to constantly jump to conclussions and make a conscious effort to dismiss them.

share|improve this answer

Like you, I would like to be corrected when in the interview chair. As the interviewer I see correction, and prompts towards the right track, as good practice. It's a great way to learn more about the interviewee than just their specific knowledge of the question's answer.

  • If the candidate shows interest in this new knowledge that's a great sign. Even better if it makes them ask some questions and delve further.

  • If they have a negative response such as annoyance then that's a red flag.

share|improve this answer

I'm going to disagree with Trevor on this one. I think these pop quiz type questions are great for initial phone interviews. Their purpose is not to stretch the candidate, just to see if they are worth spending any more time on. If someone dosent know the basic concepts then there is no point inviting them to an interview or reading their code examples.

I would recommend more open ended questions in face to face interviews. By then you have invested time in the candidate and should be asking some more open ended questions that allow good candidates to shine.

I personally prefer not to correct answers, it can put some candidates off and even good candidates occasionally make mistakes. The aim of the interview is not to teach the candidate but to hire someone after all!

share|improve this answer

When I interviewed people, I would not go out of my way to point out their mistakes. Most people are already nervous and this just makes people more self conscious. Also, as you saw, it can make people defensive (though knowing how someone will react to criticism may be helpful too). It was my job to find out what they knew, not to show how much I did by pointing out their mistakes.

You know they don't know... so you just move on. You're there to find the ones that do, not educate the ones that don't.

JMHO

share|improve this answer

There's nothing wrong with providing the right answer to the candidate. Moreover, it serves a good purpose: you watch the reaction of the candidates to situations when they are wrong. This is going to happen from time to time in their day-to-day work, too, so it is nice to know ahead of time how candidates react to being corrected. Do they admit that they are wrong and move on? Do they learn quickly when you explain something to them? Are they indifferent?

For example, aren't you happy that the "I'm not sure I'll ever use that information" episode happened during the interview? For all I know, you could have hired that guy if it weren't for this little remark, and find out about his attitude when it is too late.

share|improve this answer
    
+1 : I've found that seeing interviewees react to getting a technical question wrong (or how they debug incorrect code they've written as an answer) is at least as important as whether they got it right to begin with. –  Larry Gritz Feb 7 '12 at 23:13

I see nothing wrong with giving the answers you were looking for to a potential candidate. It's a learning process for both sides, so you might as well learn what you can from the interview. Besides, any "snarky comments" should tell you who you can safely eliminate.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.