News for hackers. Stuff that matters.
Re:Typical programming interview questions. by patio11 on Monday February 21, 2011 @01:40AM (#2244526)
All problems of the form "Provide the next number of this sequence" are attempts to demonstrate that you think, or are capable of thinking, in a fashion similar to the way the decisionmaker thinks. 31 is a totally reasonable answer to that question, mathematically. So is pi. So is "zebra". (The question was "Provide the traditional lexicographic sorting in English of the elements zebra, one, twenty one, and eleven, except o comes before e.")

The reason that 31 is not a good answer in terms of securing a job is because your decisionmaker prides himself on being intelligent and he does not see arithmetic sequences as being sufficiently impressive. The reason pi is not a good answer is, despite there being uncountably many mathematical phenomena for which {1, 11, 21, pi} are correct answers, it is insufficiently elegant/tricky for what he has in mind.

Re:Typical programming interview questions. by lkozma on Monday February 21, 2011 @05:30AM (#2244970)
I agree about 31 but not necessarily about zebra or pi. A reasonably meaningful metric is compressibility of the sequence, or how short code could produce it. Although that just opens a different can of worms, it could be argued that 31,41 is better solution than the one given in answer in OP which is better than pi or zebra.
Re:Typical programming interview questions. by patio11 on Monday February 21, 2011 @05:45AM (#2244994)
That is begging the question -- it moves the "I am totally winging this because it makes me feel superior" from the "prefer 'elegant' answers" to "prefer 'elegant' languages for writing compressed descriptions of problems".

A rigorous program expressing the sequences to which "pi" and "zebra" are the next answers takes only 0 bits and 1 bits respectively to compress in Patio11, a pedantic language created purely for the purpose of this post. It is far more rigorous than either English or C-style pseudocode, has a well-defined grammar, and could have an interpreter written in any common programming language that would fit on the side of a business card.

I stick with the original contention: any problem of this nature is about either identifying birds of a feather or lording one's intellectual superiority over the candidate.

Re:Typical programming interview questions. by lkozma on Monday February 21, 2011 @09:04AM (#2245409)
The problem arises when you are asked to provide further (possibly infinite nr) elements of the sequence: the first would still compress nicely as

"a(i)=i*10+1."

yours would be "a(3)=pi, a(4)=zebra, a(5)=cheetah, a(6)=akrcqfztaf a(7)=666" etc.

But I agree, if the question is just "what is the next element?" and so far only 3 are given, your answer is as good as anything else.

Re:Typical programming interview questions. by wulf on Monday February 21, 2011 @10:25AM (#2245690)
the decisionmaker is not bright but vain. Intelligent would be to test if applicants understand the concept of a function that creates a sequence.