Quote:
Original post by Washu
Quote:
There are clear weaknesses in the test methodology here, no matter how you try to justify them.
Where? The question EXPLICITLY STATES that you should expect LONG arrays, to quote it:
I'm not arguing that. What I was arguing in that comment was simply: as far as I know, C++ has no native type that is guaranteed to be big enough to hold "maximum absolute value of int times maximum size of a vector<int>". So whether you get it truly right in C++ (without using a big integer class) is basically a matter of luck unless somebody tells you the exact environment the code will operate in.
(As an aside, long is typically 32 bits only on 32 bit systems, but is 64 bits on a 64 bit system. At least on Linux/BSD it works that way, it's been too long that I've touched Windows to say for certain how it works there. Clearly if int has 32 bits, but long has 64 bits, using long as accumulator works in that particular test (until they decide to have vectors with multi-billion size). If both are 32 bits, using long as an accumulator will fail. You really have to know the relevant details of the environment to make it work in C/C++.)
I don't think anybody is seriously disputing that the test correlates with programmer ability. I believe it does correlate, and whoever says they're not worried about only scoring around 30 should really reconsider. But if you expect even very good programmers to consistently score 100% on tests of this type you are deluding yourself.
The thing is, I'd much rather work with somebody who only scored around 90% in that test because of a minor slipup, but is a guru for tracking down bugs, rather than having to work with somebody who scored 100% but fails at debugging when he doesn't get it right the first time. It's the right mixture of skills that counts, and this particular automated test doesn't account for that.