

Ask HN: Why is it that so many people fail fizzbuzz? - ruswick


======
mrmekon
I am a awful interviewee. Absolutely awful.

I routinely bomb the simplest interview quizzes. Usually the early "weed-out"
ones like FizzBuzz. I do fine on the much more advanced questions.

I think part of what makes them more difficult for me is that they _feel_ like
a test. The more advanced questions, they feel like engineering problems in
need of a solution. But when someone pops up with an out-of-nowhere "do this
purpose-less thing!" question, I spend all of my time wondering about what
they're actually looking for, and none thinking about the problem at hand. _Is
this a trick? Am I missing something? What does he want from me!?_

I also just can't code worth a damn when someone is staring at me. I love
interviewers who pose a long, complicated question and then leave the room for
30 minutes so I can work on it. These are always _much_ more difficult
problems, and I find them infinitely easier than the little 2-minute quizzes.

------
ghshephard
It's what I call "screening" failure. The wrong person was brought into the
interview for the wrong position. When somebody fails fizzbuzz, this is 100%
the fault of the hiring company/recruiter. Fizzbuzz is not a test, it's a
"Lets get comfortable before the interview starts in earnest" type question.
If you are a proficient developer, and you aren't able to nail that in your
sleep, then somebody made a huge mistake bringing you in for an interview.

Our company has recently started doing (developer) screening by doing online
real time coding, where the candidate get the opportunity to solve some real-
time problems in their vertical, with whatever tools/compilers they are
comfortable with (Java/Python/C/C++ and MAC Layer, PHY Layer, SQL, UI
Frameworks, etc..) before they are brought in for an interview.

Nobody fails fizzbuzz in our interviews, and it means nobody is wasting
interviewing time doing screening anymore.

------
boyter
I wonder if its because the modulus operator (the obvious way to solve it)
isn't something you use all the time for basic CRUD applications?

As an example i'm working on a largish codebase (100,000 lines) right now now
and a quick grep shows only 4 uses of it, all of which are in a jQuery plugin.

~~~
jholman
My new interview-screening question will be "solve fizzbuzz without using
division or modulus". Because it's still so easy that you don't want to hire
anyone who can't do it.

~~~
petethered
Simple Perl Code

    
    
      my $i;
      my $fizz = 3;
      my $buzz = 5;
      for ($i = 1; $i <= 100; $i++) {
        if ($i ne $fizz && $i ne $buzz) {
          print "$i\n";
          next;
        }
        if ($i eq $fizz) {
          print "fizz";
          $fizz += 3;
        }
        if ($i eq $buzz) {
          print "buzz";
          $buzz += 5;
        }
        print "\n";
      }
    

Edit for formatting

~~~
ukoki
or in stupidly terse Ruby...
f,b=3,5;(1..100).each{|i|s='';(s,f='Fizz',3)if(f-=1)==0;(s,b=s+'Buzz',5)if(b-=1)==0;puts(s==''?i:s)}

------
freework
My postulate is that there are some people who have really really really good
soft skills, and they get through the interview by wit and charm alone. The
interviewer decides to hire the person before it gets the the fizzbuzz part.
Those people get by on the job by taking a really long time to get things
done, but have great excuse masking skills, so they keep their job. This is
all based on my experiences working with people who couldn't do fizzbuzz. The
one things that they all had in common, was that they all had really great
people skills.

Note: Thats not to say that that _all_ people with people skills can't do
fizzbuzz, just the people with an abundance of it. Why waste time getting good
at a hard skill, if you can get by perfectly fine with your great soft skills?

------
codeonfire
It's a failure to understand skill. People who have not done something don't
understand that skill matters. Look at any skilled trade. Everyone thinks they
can cook as well as a head chef with just a few months practice and a
cookbook, but the head chef will beat them because those years matter. Even
when thing seem equal, skill still matters. If you give two top experts the
same task, one may have specialized skill in the task. This specialized skill
not only let's on expert complete the task, it may totally prevent the other
expert from completing the task altogether. To they lay person, the reaction
is "I don't understand. they are both experts.". Skill matters more than
people understand.

------
ishbits
I had to lookup fizzbuzz as I wasn't familiar with it. I haven't interviewed
in 10 years. At first I thought there must be a trick, it's too simple. Way
simpler than the tests I've given interviewing (reversing a string). But it is
as simple as it sounds.

It's a shame people can't get it. But modulus is an operation I do daily.

------
pedalpete
My question is, what do these people think they are going to do when they get
the job? Or do they actually think they can program, and then realize that
they can't?

~~~
dagw
I've worked with people who could program in the sense that they knew their
language API and knew how to string libraries together in an obvious manner in
a way that made the program at least compile. However they where completely
lost when they actually had to come up with their own solution to something.
If asked to solve FizzBuzz their first step would be to check if the standard
library came with a FizzBuzz function, then they'd look around for a third
party FizzBuzz library, then they'd use Google to try to find some code on a
forum they can blindly copy and paste, and if all that fails they'll make up
some excuse as to why they can't work on FizzBuzz right now and hand it off to
someone else.

The thing is you can get quite far in programming using that approach.

------
davs
wait, is fizzbuzz really that wide spread as testing technique ?

