If you tell me to write it as OO as possible, then I'll do that. But if I can write it in a shorter, more efficient way using only arrays, I'll do that.
What size inputs am I expected to handle? What platforms must this run on? What environment can I suppose is available? What performance is available? What kind of tests does your company use?
I think you're making too much implicit assumptions that everyone is programming in an environment similar to yours if you state it that way.
"We prefer giving them problems like writing a text based guess the number game or tic tac toe. Mindless easy to solve project."
Language, Environment, etc doesn't matter. If you are interviewing people on that stuff then you aren't finding the best candidates.
They get to choose everything outside of the problem to solve and it is an extremely dumbed down project like I said in the original comment. The "real world" part is in the implementation... How well is the code architected? Did they write tests? Are there performance issues? Bugs?
We don't expect people to be perfect either, we learn more from the discussion afterwards, since its not a puzzling problem we get to focus on software design and not the problem itself, which we feel is more important.
The lunch/bar setting also loosens the interviewee up and they are always less nervous than if we had brought them into the conference room.
We don't care how talented you are if we can't stand being around you. If we had to choose between a mediocre programmer who has a lot of passion and fun to be around or a brilliant programmer who is arrogant, we'll take the mediocre guy and just train him up into being a brilliant programmer.
we'll take the mediocre guy and just train him up into being a brilliant programmer
If you actually have a successful process for doing that, you could be owning many islands.
"If you actually have a successful process for doing that, you could be owning many islands."
Don't pull a fox news on me, you can't rip out the most important part of that sentence ;)
Someone _who has a lot of passion_
If the person is inexperienced or does not have a very public profile (no opensource projects), then we will drop back and throw them some random problems to solve but never a puzzle, since most people just memorize the solutions to puzzles or learn the solutions after doing enough interviews.
We prefer giving them problems like writing a text based guess the number game or tic tac toe. Mindless easy to solve project. They could spit it out in the shortest number of lines, which is what the bad puzzle questions encourage, but we are looking for how well the design/architect code. So the person who creates a good class structure and writes tests for his/her game is the one who gets hired, not the person who prefers shortest lines of code.