Hacker News new | ask | show | jobs
by rum3 2615 days ago
How can FizzBuzz be complicated for anybody? The solution is so obvious. I thought it was some sort of trick question but apparently not.

http://wiki.c2.com/?FizzBuzzTest

2 comments

Well... vanilla FizzBuzz is easy peasy. Ask them to draw an architecture diagram for FizzBuzz Enterprise Edition on a whiteboard. Or ask them to implement it without using the modulus operator... muahaha. I'm sure that'd stump almost everyone.

You can make FizzBuzz incredibly complicated if you deviate from the vanilla FizzBuzz.

Asking for it without using the modulus operator is a bit evil haha.

I like this exercise and I sent it to a friend who has a few years of programming experience but is still learning heavily.

The first solution lacked the number being printed but everything else was right. Second solution had the number, but he missed the FizzBall when the number was divisible by both three and five. The third solution lacked the Fizz when it was divisible by three. Finally his fourth solution was correct.

My favorite is the variation where the base numbers and replacement strings are supplied as run-time parameters.

      RunFizzBuzz("");
      RunFizzBuzz("3=Fizz,5=Buzz");
      RunFizzBuzz("7=Rutabaga");
You'd be amazed at the percentage of people who fail this test. I can't say I have interviewed many people, but even seeing one or two people fail this test for a technical role is mind-boggling.
I could imagine someone not from a CS background to fail it by perhaps not recognizing they need to the modulus operator or even being aware of its existence?

Outside that, yeah. It indeed boggles the mind that the vanilla version of it could be failed by anyone who has taken elementary programming course.

In order to test your real problem-solving skills, you should allow the use of Internet search, because not all computer professionals can remember a particular algorithm.