What is the best interview question you have ever been asked?
I was asked to describe the architecture of the project I was currently working on.
It gave me a chance to really show the people what I knew. It also helped that it was a far better architecture than the company I was interviewing with was using.
I ended up not taking that job, but I thought it was a great question.
What do you do outside of work to further your love for programming and technology?
Best question because it is open ended, starts a dialog, gives the candidate to talk about something they enjoy, and there is no right or wrong answer (besides nothing).
My personal favorite is:
Have you ever been fired?
It is just fun to see some people squirm, but the people who answer straight with out hesitation are ones that usually can perform under pressure, and will not BS you about why the job isn't getting done.
Out of everyone else I've talked to, why should I hire you?
I'm personally not a fan of questions like that. It seems to indicate laziness on the part of the interviewer. In my mind, it is the interviewer's job to determine whether or not I'm the best candidate, by asking technical questions of the appropriate breadth and depth. Yeah, maybe this kind of question can determine how well a candidate can communicate, but it mostly feels like a trap question. There doesn't seem to be a right answer without dishing out the BS.
(when interviewing after contracting on-site for 7 months):
"Tell me one thing that we're doing badly that you think we should do differently."
@Nick Berardi - Hah that question will only make people squirm if they are unable to handle pressure AND have been fired
I've never interviewed people but on the receiving end, my favorite question is "when can you start"
Least favorite is "what is your 'five year plan'?"
"Would you like a glass of water?" is what I'm always hoping for after sweating out the wait.
This might sound crazy but the best question I was ever asked as a quick 2 part question by the old CIO at my company.
Question 1: What was your SAT score?
Question 2: What was your GPA in college?
At the time I was relatively young with light experience and didn't understand how the questions were relevant. So after I go the job I asked him about the questions.
Question 1 is to see how bright you are. Many programmers might program well but don't know basic math or reading comprehension and vocabulary - stuff the SAT measures quite well.
Question 2 is to see if you are a hard worker. People who are bright can ace 1 test. But your 4 year college GPA is based on work over a period of time. So low SAT + high GPA = hard worker. High SAT + low GPA = lazy.
He also says that anyone who claims to "not remember" either of these is probably a liar and did not do well.
Certainly there are a lot of flaws in this line if questioning/thinking. But his point was that he didn't know enough about programming to tell a good one from a bad. He figured if he could weed out the brightest people the rest would take care of itself. For the most part he's been right.
@Andrew
It is not necessarily a bad thing if you have been fired, because there are usually two situations where you are fired.
- You are lazy and not doing your job.
- You took a chance that went wrong.
I usually hold the #2 person over that of a person who as never been fired as long as they weren't a Mavrick or Lone Cowboy at their last job. Because it shows they have the balls and initiative to get things done, even thought it didn't work out in that situation.
@bcaff86
SAT and GPA are a bad question to ask because it takes a lot of verification and really doesn't mean that much unless you are coming right out of college. I like to gauge the people on the spot, because that is easier to verify and doesn't take weeks of waiting for documentation. Plus I have never put much stock in SAT or GPA, because you could have aced the Math and did bad in the Reading or vice versa. Plus they changed the standards recently, so now my score based on the 1600 scale looks pathetic vs the 2400 scale they now use. Also GPA is good only if you check in major GPA and only if they are with in 2 years from graduation. Because they could have done awesome in their Gym class and totally bombed a major related class and still average a 3.0.
When you review your peers code, what bothers you the most?
if you are opinionated, and good, you'll have an answer other than, nothing.
If you are superficial the answer will be their tabs.
If you are thoughtful and worth it with design. Maybe over or under use of design patterns. Misuse of new language features, or deodorant comments.
What is the worst professional mistake you've ever made?
Oh, and of course my old favorite (remember this one?): in a single-elimination tournament, how many matches need to be played to determine the winner when you start with 16 teams? With 1000? With 8144?
"Tell me about a project you have worked on that was a failure and what did you learn from it?"
After the technical questions that are a requirement for the people that I usually interview, I like to ask candidates about a project that they have worked on that was a failure. I'm looking for someone who is circumspect enough to recognize failure and learn something from it. At some level, everyone has been a part of a failure. People who dodge the question ("I can't think of one.") indicate to me that they have not been paying enough attention, have an ego problem, or are not interested in passing the interview. People who just want to cast nonspecific blame ("The project manager sucked.") are excuse-makers and will do it again when things get tough.
I'm looking for reasons not excuses. Be specific. Be constructive. Convince me that you have done something to resolve that failure mode permanently or could recognize and remedy the problem should it arise again.
"What bugs you about our product?". It avoids the weeding out of people who haven't bothered to research what we make.
I like to ask the interviewee to explain the difference between a reference type and a value type. After they answer, I hand them a piece of code that has an obvious gotcha in it and I ask them what the program outputs. You'd be surprised how many people with years of experience can give the textbook answer but then can't tell the difference in code. The reason I like this question is that it is an indicator of how well a developer knows how the language works on the computer compared to just knowing syntax.
If Microsoft built a car, would you drive it?
Usually the answer is, "Maybe after the first service pack is released."
Lots of questions fall under the brain-teaser/riddle category: they're "how do you think" questions, rather than specific technical issues.
Some examples of these are "Microsoft Questions" (http://www.sellsbrothers.com/fun/msiview/default.aspx?content=question.htm).
Riddles and brain-teasers are fun, but not really useful, in my book, for evaluating a candidate.
Questions that revolve around algortihms, or applying some semi-common concept to somethin you've likely not thought about are far more useful.
That all being said, the best interview question I've ever gotten is, "what was your favorite course in school, and why?". It's a fantastic ice-breaker, and, if the candidate is honest, will show a lot more about what the person is interested in rather than if they merely are coding drones.
Once at an interview i was asked how many gas stations exist in my country....
"What do you fear?" It's something I never considered before, at least as far as interviewing for a job is concerned. I was really caught off guard by it.
Why should I hire you?
This gives the candidate a chance to market himself. Talk about himself, tell about what he is doing or likes to do and how can he add value to the organization.
What was the most negative comment you ever received in your performance review?
How the interviewee answers tells you a lot about their honesty, forthrightness, self confidence, and ability to handle criticism.
This is a variant of the "what is your biggest weakness", but more concrete, and sidesteps bogus answers like "I work too hard".
"What do you think of my blog?"
Has the candidate really done their homework? Are they brave enough to disagree with something on it?
Forget all the "What is a virtual method" nonsense. Try out this question - it really seperates the wheat from the chaff!
I've been interviewed and I have interviewed. The best question to either shine or dim, on either side of the desk, is "Why shouldn't I hire you?" The answer is what really sticks to the interviewers mind beyond all else. A good response is gold.
can we write some weird things in here.. or there are strict rules about this
Design a __.
Let them think for a while, and then talk for a while, and then ask them about their choices. There are plenty of ways for a candidate to do well: See if they look to clarify design requirements, favor a methodology such as Test Driven Development, consider a broad range of tools to accomplish the task, or are familiar with design patterns or other modeling methods. Consider how well they express their ideas, if they ask for input, and if they're excited about it. See which candidates seem to have skills that are important to you, or which ones can learn quickly when asked to consider looking at a problem a certain way. Favor the ones that get a lot right or have the qualities most important to your team.
See if they have The Right Attitude
How do you think of your last company?
This question can test if the interviewee has the right attitude. Bad answer will be full of complaints on the last company. Good answer will be more positive. A guy with too much complaints might not adapt to the constantly changing environment.
My former boss killer-question (you would not belive how many people gave up without trying) is: "How much is 17% of number 19?".
What would you ask if I told you that baseball was becoming less popular in the United States?
Certainly my most memerable, anyway.
Led to a very interesting discussion.