I'm going to drastically oversimplify, but there are two types of interviewees, and two types of interviewers, but only one of the four matches leads to a deadly clash as expressed by many other users here in their disdain for the question.
Interviewees: There are people who Need a Job Now and interviewing all over and will likely say yes to almost any opportunity, and there are people who are casually looking around seeing what else is out there, they are in no hurry and they can easily afford to say no. The first type needs money to live, they view themselves as a wage slave; the second type could just as well go start a startup but instead choose to rent out their brain for someone else's use (and they view themselves as this way, renting a service).
Interviewers: The first type, they do a competence test and they do a culture/personality test. This can be accomplished in an informal luncheon or the like. The second type, they pull questions like these, trying to extract as much information from the candidate's personal life as possible--perhaps even asking for a Facebook password--or they put the candidate through coding hoops that don't really test talent but memorization and retention of Java-school-undergrad-level material that's just a single Google away. (Though personally I wouldn't mind being asked to implement the binary search correctly in a statically-sized-int language, especially since even in Java the official version was wrong for quite some time due to integer overflow. But this is just a piece of trivia I enjoy, I don't know if I would ask it unless the job required a good familiarity with architecture and language detail...)
The job-hunters will fit fine with either interviewer. They'll talk at length about their own mothers if they think it will help them get the job offer. The casual brain-renting candidates only match with the casual interviewer, however, and will happily walk away from the nosy interviewers. It's nice to see that principle at work in this community, even if there are some that oppose; we need more people in general, not just hackers, willing to say no to jobs even at the start of the interview stage when they sense something they don't like on principle.
Interviewees: There are people who Need a Job Now and interviewing all over and will likely say yes to almost any opportunity, and there are people who are casually looking around seeing what else is out there, they are in no hurry and they can easily afford to say no. The first type needs money to live, they view themselves as a wage slave; the second type could just as well go start a startup but instead choose to rent out their brain for someone else's use (and they view themselves as this way, renting a service).
Interviewers: The first type, they do a competence test and they do a culture/personality test. This can be accomplished in an informal luncheon or the like. The second type, they pull questions like these, trying to extract as much information from the candidate's personal life as possible--perhaps even asking for a Facebook password--or they put the candidate through coding hoops that don't really test talent but memorization and retention of Java-school-undergrad-level material that's just a single Google away. (Though personally I wouldn't mind being asked to implement the binary search correctly in a statically-sized-int language, especially since even in Java the official version was wrong for quite some time due to integer overflow. But this is just a piece of trivia I enjoy, I don't know if I would ask it unless the job required a good familiarity with architecture and language detail...)
The job-hunters will fit fine with either interviewer. They'll talk at length about their own mothers if they think it will help them get the job offer. The casual brain-renting candidates only match with the casual interviewer, however, and will happily walk away from the nosy interviewers. It's nice to see that principle at work in this community, even if there are some that oppose; we need more people in general, not just hackers, willing to say no to jobs even at the start of the interview stage when they sense something they don't like on principle.