On Tue, Sep 04, 2012 at 01:26:46PM +0100, Mr I wrote: >Again your assumptions are on knowing about the fibonacci sequence. So a >candidate that does not know the fibonacci sequence but identifies a >possible flaw in the question can only be a maintenance programmer?
The question contains a specification of a function which, while technically complete, raises some questions. Someone who doesn't ask those questions isn't much use if he's going to be doing anything for himself rather than just executing someone else's instructions. If this is a non-interactive test, I want annotations on the code, and either of these broad classes would do: (1) "I'm assuming from the name that this is a Fibonnaci sequence generator, and therefore fib(0)=1 and fib(1)=1." (2) "This recursion will never terminate, so I'm assuming that fib(0)=0 in order that it produce a result." Note that the latter requires no knowledge of anything except programming. If you're going to claim programmers don't need to know how to spot a non-terminating recursion, I'm afraid I'm not going to agree.