IT Interview Brain Teasers Puzzles Riddles

Friend of mine got this puzzle at a job interview for Java developer position:

You are standing outside a closed door. On the other side of the door is a room that has three light bulbs in it. The room is completely sealed off from the outside. It has no windows and nothing can get in or out except through the door. On the outside of the room there are three light switches that control each of the respective light bulbs on the other side of the door.

How would you identify which switch corresponds to which light bulb, if you are only allowed one to enter the room only once?

He became very upset and instead of answering on interview puzzle decided to finish the interview with the company. He explained his decision to me in a following way:

It's one thing to ask an open-ended technical question that lends itself to straightforward answers like, "What are some things you could do to minimize the need for garbage collection?". It's quite another to subject the interviewee to interview puzzles.

My advice to job-hunters: Don't hire the employer who subjects you to such nonsense.

When I say "don't hire the employer," I'm referring to the fact that a job interview is a two-way process. The employer is interviewing the prospective employee, but the prospective employee is also interviewing the employer. Each is hiring the other. Both actors should be asking reasonable questions. Both should be engaged in meaningful conversation. Meaningless puzzles and riddles are out-of-band.

Reject a brain teaser by asking if you can have a more concrete, job-related question. Ask if there's perhaps a difficult problem currently receiving attention in the department you'd be working in. Ask if you can take a crack at that problem, or something just like it.

If you're lucky (and if the interviewer is anywhere near as smart as he or she thinks he/she is), the interviewer will pick up on the fact that you're a serious, pragmatic individual with domain expertise and intelligence, who is anxious to apply hard-won knowledge to real-world problems. You're not a game-show contestant, in other words.

A really stubborn, inflexible interviewer will stick to the puzzle strategy and defend it by saying something like "I don't really care if you get the question right, I just want to see how you think." Which is, of course, ludicrous. The truth is, a candidate who immediately gets the riddle "right" will always impress this kind of interviewer far more than someone who doesn't. That's the whole point of riddles. If a person really wanted to "see how you think," wouldn't it take getting to know you a little bit? Wouldn't it mean engaging you in two-way conversation about something meaningful?

Ask yourself: Do you want to work for the kind of hiring manager or organization that sees its new hires as successful game-show contestants?

The right thing to do if you're an interviewer who wants to see how a candidate "thinks" (or "reasons" or "problem-solves") is to ask open-ended questions that are both job-related, and call for domain expertise.

If you're hiring a Java programmer, by all means ask an open-ended question like "What would you do if an application is failing because of OutOfMemoryErrors?" This could lead to discussions around a whole host of issues relating to checked and unchecked exceptions, memory leaks, garbage collection, design patterns, good coding practices, debugging strategies, etc. Within a few minutes, you should know a lot more about the applicant's qualifications than whether or not he or she bought this year's common job interview puzzles book before coming to the interview.

Let's be clear. There's absolutely no need, ever, to subject an interviewee to questions for which there's a "trick answer." The hiring process isn't about tricks and games. Is it?

If you're a job candidate and you feel an interview is going in an inappropriate direction, it's up to you to speak out. Don't forget, you're doing some interviewing here, too. Ask politely if you can have another question. If the interviewer sticks with riddles and says "I just want to see how you think," you're dealing with a certain kind of person (colloquially known as a jackass), so dumb it down and (politely) ask the interviewer if you can have another question, job-related, that will allow you to demonstrate how you think. You may even have to suggest possible questions yourself, if the interviewer is a bit thick in the head.

What do you think about my friend’s decision to walked out of an IT interview, because the interviewer started to asked puzzles and brainteasers?

I think puzzles and brainteasers are the terrible way to interview programmers. The simplest way to figure out if someone can program is to ask them to write a small program on the white board. Stop asking puzzles!

Mostly companies do this to see if you are able to think outside of the box, or if you are able to cut through to the core of a problem. If you have even been on the other side of the table, I can tell you that I would rather want a person who is imaginable and creative.

Given two persons with exactly the same experience and who are exactly alike, except that one can answer this and one can't, I would always choose the person who can answer. This is based simply on the persons capability to think abstractly.

This might be seen as an annoying and pointless exercise but consider this. It is much much easier to teach a person new skills, techniques and fact about a given subject if that person is lacking(I can always just send the person in question on a course in advanced java, should that be the case). I am however, hard pressed to teach a person how to think abstractly.

If I have deemed that I need abstract thinking in my employee for this particular job, abstract comes first and technical knowledge second as I can always fill up my employee with more of that.

What the interviewer really wants to see at the interview is who you are. Your attitude and personality are going to be the most important factors in the decision making. If you are not able to handle the basic pressure during an interview, how are you going to handle your future coworkers?

Tobias... People that ask these questions are either incompetent, playing games to make themselves seem superior, or both.If the interviewer can't have a meaningful discussion related to software development, and determine if the interviewee can think appropriately, then they need a new interviewer.People that ask this crap are generally wankers, and nothing more.

I was interviewed today for QA software analyst position and was subjected to three riddles. I was so angry at this jack-ass for thinking my time was his to waste with riddles. A riddle tells an interviewer nothing about me. They judged me on a stupid riddle - not on asking me professional-level questions that pertained to my skills and job knowledge, or even how I might get along with others in a team. What a waste of two hours of my life that I'll never get back!

I find this questions great. If you can't pass simple intelligence test, that says a lot about your creative thinking. This test alone shouldn't be main reason to reject someone, but it can be a first sign that applicant is not built for highly creative positions. You may prove yourself in other areas and present yourself in what you do best, of course.