|
|
|
|
|
by ricardoreis
2766 days ago
|
|
FizzBuzz is just an icon, of course. And by itself not such a bad filter - even if it's just basically a test of memorization (a lot people actually can't remember a simple trick like that, or can't be bothered to see the importance of it). The only problem is... at some point the tech industry basically started saying to itself, "That worked pretty well! Now if we can just make our tests 50 times harder the must be... 50 times as good!" Which explains a lot about the situation we're in now. |
|
What "simple trick"? The original point of FizzBuzz is not to check that the interviewee produces hyper-efficient code that avoids repeating the divisibility checks (or, for that matter, to check that they repeat the divisibility checks and are able to defend why that's simpler). It's to check that they can write down any solution at all (within reason [1]). Doing that doesn't require any tricks; you literally just need to write down the requirements in the form of code. Unless you count for loops as tricks! I know the guy who came up with FizzBuzz [2], and he did so to root people who couldn't code at all, not those who weren't good at coming up with (or memorising) coding tricks. Or, if the "trick" you're talking about is memorising, verbatim, a simple for loop solution to FizzBuzz without understanding it, then that can be countered with small variations of the problem.
I agree that some interviewers pose questions that are too hard, which ending up testing ability to perform in an unrealistic situation more than actual programming competence. Of course this happened before FizzBuzz existed. Similarly some probably set a straightforward FizzBuzz and overanalyse details rather than worrying about whether it works (or worry about silly syntax mistakes, which are perfectly reasonable on a whiteboard).
[1] http://joelgrus.com/2016/05/23/fizz-buzz-in-tensorflow/
[2] https://imranontech.com/2007/01/24/using-fizzbuzz-to-find-de...