I used to take this a step further. The split second one of the silly questions popped up, I'd stand up and very politely end the interview. Reactions were priceless. Interestingly, I'd often get invited back, or on a couple of occasion offered the job after a follow up phone call, where I give the sort of responses you have given.
The problem I have is that these types of question suggest to me that the company doesn't really know what it wants to hire, and there for is not one I would want to work for.
The problem most people have is that they really need the job and feel compelled to play along, which I can only assume these interviewers take as positive feed back.
I'd imagine it's a good way to spot well adjusted human beings.
This, of course, assumes (positive) things about the company and the interview process, which may not be true for 95% of the sample as far as I know.
Whilst I agree somewhat with the sentiment, I don't think that's at all an unreasonable question.
1. You do very clearly have enough information to make a decent informed guess. 2. It is a relevant question.
It's relevant because it assesses your general sense of numeracy. Whilst that won't show how quickly you'd be able to deal with a database issue, it does give an indication of how you might go about making broad judgement calls in the absence of any hard-and-fast numbers. For example: Is it worth looking into this database issue, or is it likely to be insignificant compared to the network overhead?
In my experience some people simply won't answer those questions - not because they can't but because they aren't happy working that way. Of course, in some situations you absolutely do need people who will always work things through from first principles and attempt to give as precise an estimate as they can, but sometimes you don't.
Of course one can trivialy estimate the number if one assumes that bus is a cuboid and that a golfball is an incompressble sphere - I would would probly have to look up the theorems on Google as its a long time since I used this sort of thing in anger - though bak in the day I did correct a bridge design for the 4th largest consulting engineers when the Engineer had use 2d rather than 3d :-)
It also drew out people who may not be a fit for our desk's culture of camaraderie where answers to banter along the lines of "that's personal" or "that's not relevant to my job description" would be awkward at best.
Additionally, I have heard from consulting buddies (the heathens!) that it's can good way to see how well a candidate can bullshit on little to no relevant data.
In any case, I don't think it's empirically valid to conclude someone a moron for asking brain teasers in interviews. I never asked them whereas many people much smarter than me did.
I'd say the latter.
It's frustrating to work with people who pretend they know more than they do rather than asking for help.
If this were the only type of interview question used the points you brought up would be a legitimate concern. Given that it was, in my case, married in a much greater proportion with concrete questions I maintain that it generated unique, useful information.
Traders generally have, prior to entering a trade, the opportunity to think through everything thoroughly and ask for help on the bumps. There are also times when the cost of the time for analysis is so great that a gut, if rough, call is needed, e.g. holding hard drive manufacturer equity as news of Bangkok flooding breaks. Being able to ball-park figures, after issuing a disclaimer about the uncertainty of one's estimates, is also a generally useful analytic skill.
It should also be noted that part of recognising the priority of things to be analysed is the degree by which they deviate from expectations - generating many of those expectations is a form of intuitive estimation.
But, as I said, it's mostly to estimate whether this is a person we'd like to spend 10-16 hours a day near. Constant righteous indignation would probably get annoying as fast as serial bullshitting.
And when a CEO does it, it can ruin companies.
But for that, data is needed and/or your estimate has to be better than the BS estimate
If someone comes up with "The potential market for flamethrowers is $500Mi" you better have the ability to check this before someone gets burned
I salute you, sir.
"How many users do you think will ever concurrently use a certain subset of our website?"
Actually, the question was phrased as "how would you architect Feature X?" This naturally led to "do we need a distributed approach?" And of course, the answer to that depends on the answers to the Fermi question and "how many users can a single box handle".
The goal is not to get a precise answer, the goal is to see how you think.
Another reason I like Fermi problems, is that the kind of people who I want work with (read: curious-minded tend-to-be-geeky programmers) tend to love them, and solve them for fun. I can't count the number of times we sat over lunch, arguing weird questions like how many planes it would take to move a certain river, or how many people it would take to eat a rhinocerous.
If someone is put off by these kinds of questions, I would question whether they fit with the kind of culture I think a group of smart people have.
The genesis of these kind of questions is http://en.wikipedia.org/wiki/Fermi_problem (checkout the classic "how many piano tuners"). Fermi approximation's purpose it to estimate without concrete data. In the end, if the numbers aren't right, you just need to replace the numbers, provided your method was correct.
I am not contending its relevance(largely irrelevant). I am just pointing out the origin.
What about estimating how many I/O operations in a second the DB supports? You'd be surprised how many candidates out there lack basic arithmetic abilities.
The only utility I can see in that question is to assume that it's a question you're expected to dodge, and that the deftness with which you deflect the crazy question is a measure of your interpersonal skills. To launch into a story about this one time at band camp is presumably the worst possible answer.
Still, I don't think it's good even for that question.
However, i hate when i get questions like "how many golf balls can you get in a double decker bus" and "whats your most embarrassing moment", both of these were questions i was actually asked in an interview. My answer to the first was "I dont know and i'm not going to try and work it out because 1) i dont have enough information and 2) its not relevant to this position. I'd happily answer hypothetical questions about situations that could plausibly come up during this position, but working out number of golf balls in a bus doesnt show you how i would solve the problem of the database running slow or validation checks not working correctly." For the second one i simply answered "I have never been embarrassed in a professional setting as i mainly just do my job and i'm not embarrassed to say 'I dont know' or to ask for help. The only times i've been embarrassed were in my personal life and those are stories not appropriate for an interview."
Needless to say, these were questions asked by the CEO of a startup i thought was absolutely amazing, i had sat through a tech interview with the CTO before the CEO came in and felt i did well with the tech questions. Once the CEO came in and asked me these questions, i wondered how an awesome startup was achieving this success behind the leadership of total and utter moron. I decided not to work there as i lost all respect for the CEO.