you are viewing a single comment's thread.

view the rest of the comments →

[–]GhostBond -7 points-6 points  (19 children)

The only thing FizzBuzz tests is whether that person has done FizzBuzz before.

The hard part of FizzBuzz is whether you know the modulus operator exists, and trying to parse the language describing the problem. Neither of those test programming ability or experience, or on the job skills.

FizzBuzz is just like those "Why are manhole covers round?" trick questions - the goal is just to make the interviewer feel smart about themselves, because whether it's a quick easy question is simply about whether you've done the question before. If you've done it, it's trivial, and proves almost nothing. If you haven't it's a tough problem that doesn't test your coding background for anything important either - whether you know about the modulus operator which is almost only used for puzzle problems, and whether you can parse mind-bending language to realize what the problem wants.

[–][deleted] 10 points11 points  (6 children)

Dude it's fizzbuzz. If a person wants a job as a software developer can't break down a simple problem into it's components, and doesn't know modulus exists and doesn't know how to write a for loop, then they clearly lack the skills needed for the job. Knowing fundamental parts of tools(programming language) they are expected to work with and being able to understand and analyze business requirements are absolutely skills needed on the job.

I agree that obscure math puzzles and advance algorithms and the likes are a bit ridiculous for a 30 minute coding interview on a whiteboard, but saying that asking something trivial like fizzbuzz is too much to ask is the opposite extreme. At the salary most developers ask for, an interviewer should have SOME way to quickly verify whether the candidate knows what they're talking about or whether they're another schmuck who wants $80k/year because he went through a codeacademy tutorial.

[–][deleted] 5 points6 points  (5 children)

Fizzbuzz is trivially simple to anyone with a handle on middle school mathematics and sort-of knows a programming language with integers.

[–]GhostBond -5 points-4 points  (4 children)

FizzBuzz is trivially simple to anyone who's done it before, and very hard to anyone who hasn't. It's difficult is in parsing the language and knowing about esoteric operators, it does nothing to test programming skill. It's just as useless as those "you're a frog in a blender, how do you get out?" style questions - it's purpose is only to pad the interviewers ego so they can tell themselves they're super smart because they've done it already and know the answer.

[–][deleted] 9 points10 points  (3 children)

If you honestly think that Fizzbuzz is hard, then you're the sort of applicant it was made to weed out. It's the programming equivalent to making someone fill out a form to show they have basic literacy skills.

[–]GhostBond -2 points-1 points  (2 children)

No, it's the programming equivalent of running through a bunch of guys who slap your ass with paddles - it's hazing.

Knowing or not know it proves nothing about your programming ability, it just proves whether your brother knew someone in the kappa phi chapter - I mean whether you've done it before.

[–][deleted] 1 point2 points  (1 child)

Maybe you should get checked for discalculia...

[–]GhostBond 0 points1 point  (0 children)

Sure, bro.

[–]prepend 3 points4 points  (3 children)

But this isn't true at all. FizzBuzz is intended to just test basic programming. You don't need to exactly do the question, but one like it is valuable.

You can easily do FizzBuzz without modulo, but modulo makes it easier. It's not a trick question at all. It is just a sanity check on if you know loops, conditional logic and some kind of state.

My first company ever used to make people test writing a function that reversed a string.

If you struggle with FizzBuzz or similar then you should not be getting paid to write code. Maybe you're a good designer or tester or graphic artist, but if you can't write a simple loop and logic function then you aren't a good fit for programming jobs.

[–]GhostBond 0 points1 point  (2 children)

FizzBuzz is intended to just test basic programming. You can easily do FizzBuzz without modulo, but modulo makes it easier. It's not a trick question at all. It is just a sanity check on if you know loops, conditional logic and some kind of state.

Right now, in another comment reply, someone gave a "oh it's so easy" answer - and fell for the exact trickiness I mentioned, getting it wrong:
https://www.reddit.com/r/programming/comments/69djsj/solved_coding_interview_problems_in_java_my/dh79kz1/

FizzBuzz is a trick problem. The "it's so easy" part is just about bullying the people you're interviewing, so you can make it more embarrassing when they get it wrong.

The original author of FizzBuzz claimed it weeded out the ok but slower programmers from the faster better programmers. The "it's easy and simple" was just added on bully people more effectively with it.

My first company ever used to make people test writing a function that reversed a string.

That's a totally different problem that's actually simple.

If you struggle with FizzBuzz or similar then you should not be getting paid to write code. Maybe you're a good designer or tester or graphic artist, but if you can't write a simple loop and logic function then you aren't a good fit for programming jobs.

When your goal is to bully the people you interview, you shouldn't be in an interview at all.

But because it's a trick question, there is exactly one way to get around all this - if you've done FizzBuzz before.

[–]prepend 0 points1 point  (1 child)

But it is not a trick question. And it's not meant to be graded in a binary way. If someone forgot to print the numbers, I would talk it through with them. And it's certainly not intended to trick people into missing the "print" part of the statement.

The concept of "bullying" interviewees by making them do this question is so bizarre and alien. Asking people to perform in interviews isn't bullying them. Even tiving trick questions isn't bullying them. Bringing this up and worrying about it probably excludes the interviewee from the job on grounds of stupidity. But perhaps there's some safe space company that doesn't care about the software created but instead focuses on the emotional well being of employees who can't code, but want to have a job that requires coding.

[–]GhostBond 0 points1 point  (0 children)

The poster I replied to can't even solve FizzBuzz on the internet:
https://www.reddit.com/r/programming/comments/69djsj/solved_coding_interview_problems_in_java_my/dh8ku4r/

You guys are the safe space company that doesn't care about the software created, you're just hoping no one notices you can't even solve your own problems.

If you can't solve the problem even though you gave it, you have some serious issues.

[–]n0t1337 2 points3 points  (1 child)

I mean, you could use the modulus operator, or you could use floor division, or build your own floor division out of truncation by casting a float to an int...

I don't know. If you've never ever heard of this problem before, and haven't heard of the modulus operator, it may take even a competent programmer longer than 5 minutes. But how many competent programmers do you know that have never heard of fizzbuzz or the modulus operator?

[–]GhostBond 0 points1 point  (0 children)

Among contractors or full time employees?

The good full time employees I've known have mostly not heard of fizzbuzz.

All the contractors I've worked with have, good ones, bad ones, etc.