So lately I've been participating in a lot of interviews. My company is looking for skilled developers who know about continuous integration using Ant, extreme programming and lots of other good stuff. While I'm in Bangalore the idea is to go through lots of interviews so we can find that perfect candidate.
Joel Spolsky (of JoelOnSoftware.com fame) has a good article on how important excellent programmers are. It's a valid idea and I generally agree. I'd rather have 3 excellent programmers than 100 mediocre ones. However, I'm sort of stuck in a situation where we can't hire rocket scientist programmers. We need solid developers with knowledge of Java/J2EE and various open source APIs.
In the olden days (1996-2000) the typical questions of "Difference between interface and an abstract class?", "Draw a UML class diagram for String.", "How would you design a connection pool?", "What is a race condition?", etc don't seem to be cutting out the chafe like they used to. I need a new set of questions that can really narrow down if developer's know their stuff, or are just really good at googling. (Don't get me wrong, googling is extremely important to a good developer.)
So I found my new favorite site, techinterview.org (by one of Spolsky's programmers). It's full of great, useful brain teaser questions that should occupy a good 10 minutes in an hour interview.