It all looks really different from the other side of the table. Back when I wrote this, that, and the other thing, the kind of questions that get asked in technical interviews seemed (to a recent candidate) to be unfair, arbitrary, nerve-wracking, impolite, unrelated to anything about the job, and not likely to predict anything useful.
Since that time I’ve probably done 40 phone screens and interviewed 25 people in person (including for other groups). And the questions now seem eminently fair, even though they’re the same questions. (Why, to maintain our high 10% hiring standards, I’ve even taken to playing the “how many fingers am I holding up?” game with _both_ hands behind my back. (Oh boy — I am _just_ kidding. I can’t emphasize that enough. Really just kidding.)) One thing that impresses me is the level of consensus. An algorithms interviewer may like someone while a C++ interviewer doesn’t, but two independent grillers on the same subject will usually agree.
With that said, my biggest worries about the process are that 1) it favors good talkers, 2) it favors people who have done a lot of interviews, 3) it favors quick thinkers, and 4) it can’t tell you anything about persistence.
Quick thinking might seem like a good thing to favor, but people’s thinking styles really do differ a lot. Some people (like me) are really slow mullers — we need a lot of time to think things over, but don’t stop doing it. (I do some of my best thinking in the shower, actually, but most interviewers unfortunately don’t offer one.) I would take a really committed, thoughtful, persistent mind over a whiteboard whiz any day, but I don’t know of a way to test for it.