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.
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.
You can make FizzBuzz incredibly complicated if you deviate from the vanilla FizzBuzz.