3 ms·
Interviewing has been solved a long time ago with the invention of FizzBuzz. If they can solve it, hire them. If they can't don't. If you're worried its too eas
by james_s_tayler 8y ago
Interviewing has been solved a long time ago with the invention of FizzBuzz. If they can solve it, hire them. If they can't don't. If you're worried its too easy then turn up the difficulty and ask them write an implementation of fizzbuzz that makes use of specific features of a language or framework. If you are BigCo and need to crank the difficulty up really high you can ask the candidate to implement a solution to calculate which number contributes the most the letter z appearing in the output of fizzbuzz between the numbers 5 trillion and 143 trillion, preferably involving a Hadoop cluster.
If you're a SaaS company and you're hiring a sales person, instead of the typical "sell me this pen" you can even replace it with "sell me FizzBuzz".
I'm telling you, it's bullet proof.
- rum3 8y agoHow 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 http://wiki.c2.com/?FizzBuzzTest
- k_sze 8y agoYou'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.
- james_s_tayler 8y agoI 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.
- lincpa 8y agoIn 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.
- james_s_tayler 8y agoWell... 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.
- billpg 8y agoMy 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");
- rum3 8y agoAsking 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.