4 ms·
Maybe I'm just incredibly naive, but are fizzbuzz tests really that necessary? I have a hard time believing anybody could get an interview, let alone graduate w
by horsehead 14y ago
Maybe I'm just incredibly naive, but are fizzbuzz tests really that necessary? I have a hard time believing anybody could get an interview, let alone graduate with a BS in compsci, without being able to do something THAT simple ....
- masterzora 14y agoYes, yes they are. I don't even see all of the resumes submitted to my company since they are filtered through the recruiters and our HR guy but the ones I do see still need a fizzbuzz test more often than not. Granted, it is not a thing you should give everyone. I can usually tell when I look at a resume that such a thing is likely to be pretty pointless (It points me to a github account I can look at instead? Why bother? The resume is clearly written by someone who knows what they're talking about and isn't stuffing everything they've ever done onto a page in a game of buzzword bingo? Probably safe.) so I don't give fizzbuzz tests to everyone but sometimes you have to be sure.
- horsehead 14y agoWhile this is a little disappointing in that it speaks to the quality (or lack thereof) of developers coming out of college, or elsewhere, it is also really encouraging too! the fizzbuzz problem is actually incredibly simple and I was able to write code out by hand that worked in my python interpreter. Hopefully I'll have some good github stuff to point potential employers to soon (i'm working on some things now). But at least I know that I should be able to pass some of the incompetency gauges fairly easily! also, i've never heard of buzzword bingo before, but it sounds interesting! maybe i'll make a program for buzzword bingo. You can use it in your interviews! :P
- infinite8s 14y agoWell, not to burst your bubble, but fizzbuzz is a negative filter (ie passing it is the minimum needed to even be considered for a dev job).
- getsat 14y agoCongratulations. You're better than 50% of the programmers I interview. Want a job in SF?
- ajepst 14y agoYes, they are necessary. I've seen "senior" people bomb on it. There's a segment of "developers" that are good at selling themselves as programmers, manipulating the interviewer so you talk yourself into thinking they are awesome. You've probably met some of these types at conferences, and think they'd be a worthwhile hire. But stick a simple programming problem in front of them, and they can't back it up. if you're not that great at spotting these people, they can slip by the average interviewer without something concrete like a FizzBuzz to show they can back up their talk. And once they make it into your organization, if you don't catch them early, they can be extremely destructive.
- georgieporgie 14y agoI interviewed a 'senior' developer who had been a consultant for several years. When we asked how he implemented past projects, his answers were really vague. We got suspicious and dropped down to a simple problem like, "write a loop to print the numbers from one to ten." The guy was writing some really weird stuff. When asked to explain, he confidently told us that in C++, every time you reference the iterator variable inside the loop, it gets increased. His solution was something like: for (int i = 1; i <= 10; i++) { printf("%d\n", i); // <== i gets incremented! i--; // need to compensate for the extra increment! } (except I'm pretty sure he didn't get printf right) So, yeah, I see FizzBuzz as a wonderful way to weed out the incompetent right away, allowing you to focus on deciding whether you need capable or exceptional. Incidentally, one of the guys on my senior project team in college didn't understand how variable assignment worked. He would write: int flagsVar = COMMON_BASE_FLAGS; flagsVar = ADDITIONAL_FLAG_I_WANT; CallAPI(flagsVar); // Why doesn't it work?! He graduated.
- kstenerud 14y agoYou'd be surprised... But actually, fizzbuzz is just the bottom level. You also want to do basic coding exercises for whatever specific area you are hiring for, such as: - Set up an extremely basic web app that lets the user enter a name and echoes it back to them. - Make a sprite move across the screen. - Display a 3d cube with different colors on each side and make it rotate. - Make it play some music. - Aggregate the data in this simple database. - Here's some naive producer-consumer code. Make it thread-safe. - Debug this code that has memory issues. - Critique this (flawed) design. - Update the CSS to make this page look nicer. Basically, you never want to get into a situation where you've hired someone who has managed to talk his way through life. It's far less headache to just use a few sanity checks on every potential hire.
- kragen 14y agoI wonder if there's a harder equivalent to FizzBuzz — one that doesn't take any longer to explain or do, but requires a much higher level of skill to pass. One we used at http://airwave.com/ http://airwave.com/ was "Write a Perl subroutine to determine whether a string is a valid dotted-quad IP address," which is something you can do in various reasonable ways in one to five lines of code.
- deleted 14y ago[deleted]
- mseebach 14y agoThere are plenty, and yours is a good example of one. In fact I think actual FizzBuzz is not used much in the wild any more as it's too well known and thus drillable.
- Natsu 14y agoIs that really so much harder? Somehow, I expect you'd get a lot of opaque regexes like: sub isIP { return (shift =~ m/^((\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])$/)? 1 : 0; }
- 14y ago
- matwood 14y agoYou have clearly never had to interview people. Fizzbuzz is super basic and that's the point. It quickly separates the person who was around when programming happened and someone that actually did the programming.