To close things out for 2014, we're re-running our most popular articles. Without further ado, enjoy one of our most popular; this one originally ran in September.
Matteo recently interviewed a candidate that was employed elsewhere as an “architect”. His responses to the standard soft-skills questions sounded a bit rehearsed, which made Matteo suspicious, so he started asking some more technical questions, like: “What’s the difference between an interface and an abstract class?”
“Well, in some logarithms , an interface is going to be internal to the system, but an abstract class has terminators that make it external.”
Matteo almost showed him the door right there, but that might just be nerves or a misunderstanding. Instead, Matteo broke out the trust old interviewing tool- the FizzBuzz.
“So, the program should print numbers, but if the number is divisible by three, it should print ‘fizz’, and if it’s divisible by five it should print ‘buzz’, and if it’s divisible by both, it should print ‘fizz buzz’. I can do that.”
The candidate grabbed a piece of scratch paper and started working through the solution. It started promising enough, as he wrote out some pseudo-code:
But then he kept going.
And going.
Somehow, the candidate had divined a deep relationship between 3.14 and the fizzbuzz pattern, but rejected it when he discovered that 3.14/3 == 5.14 fizz
.
But he did identify the rule- 1/3*fizz/buzz- and the exception to that rule, which made it equal 1/10. With the scratch work out of the way, the candidate grabbed a fresh sheet of paper so that he could write out the final version of his FizzBuzz “logarithm”.
“There,” he said proudly. “That was a little tricky to solve, but I think that shows you how it would be done.”
Matteo showed the candidate out, and so far as we know, the candidate was never seen again. We can only guess at the deeper meaning behind this alien wisdom.