If you could only ask 1 interview question to determine whether or not to hire a programmer what would it be?
Pretty similar to : what is THE best answer interview question...
If you could only ask 1 interview question to determine whether or not to hire a programmer what would it be?
Pretty similar to : what is THE best answer interview question...
"Do you have a portfolio of some or all of your past work that I may examine?"
"Give me a list of questions you'd ask in an interview and answer them."
Depends on what you think is the most important quality (which also depends on what kind of work you do!). I think the most important one is innovation, thinking outside the box, etc, which requires a great deal of passion about programming. So I would ask a question that attempts to reveal how much passion does he have about programming.
I have actually asked.
"Explain to me what a mock object is?"
I used this train of logic. If someone can answer this question. They write unit tests, if they write unit tests, they are better than more than half of the developers who don't. Out of all the ones that write unit tests, knowing enough about mock objects to answer that question, probably puts them in the top 5 percentile of programmers. And anyone who cares about programming enough to write unit test and use mock objects, probably is a good programmer, concerned about doing things the right way.
I think of it this way, a developer who writes good unit tests and uses mock objects, is almost always a good programmer.
But, I'd feel pretty confident hiring a developer if they just answered that one question well.
"Why should I hire you?" (Appropriate for nonprogramming positions as well)
"Why do you think that you can do this job?"
However, I do not think that a single question is a good interviewing strategy.
"Please elaborate on what aspects in your way of working you find are important in order to achieve high software quality".
Staggering and no real opinion - No hire. Given a good and elaborate answer, loads of information can be extracted, and the opinions can be weighed against company policy/values.
"What is your reputation on stackoverflow.com?"
In all seriousness, when I interview candidates I think one of the most important questions is the one that requires them to write real substantive code as their answer.
E.g. "How would you solve the following problem in [desired language]?"
To hit on a point made already in this post, the candidates that use unit tests when solving the code challenge as well as other best practices and coding styles (or lack thereof) will often tell you more about them as a programmer then a series of verbal questions. Or as they say a picture is worth a thousand words.
[EDIT] There appears to be confusion about what I'm stating above. When I ask candidates to write code, I give them a laptop with a standard IDE (they can choose between Eclipse, Netbeans, etc), access to the Java API documentation, and a lot of time to write/test/compile in order to show real code that works. Additionally candidates are told ahead of time (i.e. in the initial phone contact) that they will have this challenge with the above stated materials available to them. I'm assuming this response was voted down initially because it was thought that I ask people to write code on a piece of paper or whiteboard which is something I disagree with.
I personally hate the canned questions that are pulled out of a book and that check if a subject learned something in CS101 or from a website.
If I ever get to interview a developer, I would present him with one of several complicated lower-level design issues that I had to tackle in the past, and see how he thinks. There is no correct answer, but it's easy to see bad issues, different philosophies, etc.
My rationale is that if I can't trust that person to do design instead of me, why would I want to delegate to him so I don't micromanage him?
"I am only able to ask you one question for this interview, so why should I hire you?"
The correct answer:
"Tell me about your passion for programming."
OK. So technically that's not a question. But anyway. The rationale is that I really wouldn't want to hire a programmer that doesn't have a passion for the field. And by asking the candidate to elaborate some on the subject I also get a chance to judge their communications skills and get a feel for how honest they are. I value both communication skills and honesty as high as passion.
I always ask the interviewer "Tell me about a particular problem in your previous project that was interesting or challenging and how you went about solving it." I use this to see their level of passion, what kind of problem they think is interesting as well as their communication skills. It often leads to full blow discussions where I can poke and prod in may directions. Sometimes it is hard to tell what the individual really worked on on a team project, how they debug, how they research etc so I try to get them describing a real world sitation.
I subscribe to the theory that I want someone with intelligence, ability and PASSION. I want to see that they really think this stuff is fascinatin and it bothered them until it was fixed.
"If you could only ask 1 interview question to determine whether or not to hire a programmer, what would it be?"
I've asked "What is your editor of choice?" I don't really care what the answer is (as long as it's reasonable) but I'm suspicious of anyone who doesn't have an opinion.
Of course, I'd want to know more, but that question seems to eliminate non-programmers.
"Are you willing to work for a company that will make its hire/nohire decision based solely on your answer to one question, and why or why not?"
Either that, or:
"Describe your single greatest triumph as a programmer."
The answer will tell you a lot about how they work, their philosophy in approaching and solving a problem... or if they don't tell you anything useful, that tells you a lot too.
"Tell me about some of your personal projects, something you have done outside of work/school".
I think this question is a great indicator on the quality of the interviewee. Simply having a personal project shows a passion and enthusiasm for development outside of simply collecting a paycheck.
I have asked this question in the past and have used it as my main deciding factor when choosing between two equally qualified candidates.
Seriously, some candidates for coding jobs will say "yes" to this. It's quick way of eliminating compulsive liars.
Something to the effect of: "Give me an example where you fixed something you didn't like in a way that was elegant, where elegant means minimal effort for maximum gain."
http://jrothman.com/blog/htp/2009/01/how-do-you-hire-for-innovation.html
One or more of those would suffice.
Write some code [for some arbitrary problem].
I can't count the number of times I've gone fifteen or twenty minutes through an interview with the candidate giving good answers to the kind of "soft" questions seen in the other reponses (even something like "what is a mock object?"), only to ask a coding question that requires them to write on the whiteboard and realize that the interview is over.
Nowadays, I always ask a question that requires code up-front, even if it's something stupid like "write a function that returns the index of a given value in an array". You'd be amazed at how many people fail at such a simple task.
"What are your answers to all the questions Joel Spolsky would ask if he was interviewing you?"
http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html
If left alone in a room with a tea-cosy would you try it on?
Defend the choice of technology X when technology Y is a better/ more practical choice.
eg:
A good programmer should be able to justify a technology/ language choice even if they personally don't believe it's the best one
I would ask the candidate to explain the whole process of garbage collection, because I think knkowledge of memory allocation/ reclaimation is a very import aspect of programming which cannot be ignored.
This question works decently well for new college grads:
Explain the code you wrote 2 weeks ago.
Many students are not able to explain the design choices they made in the code they just wrote. If their answer ultimately boils down to, "Well, because that's what the teacher told us to write, don't hire."
You should not have to ask a question, that fact that the person is there means your interested. Maybe he's interviewing you...
similar to Jon Ericson's question: "What's your favorite programming language and why?" I'm suspicious not only of anyone who has never thought about it, but also of anyone who actually HAS one. People who try to fit round pegs into square holes can be a problem...