I have worked who are totally passionate and read all the blogs and can talk about all new buzzwords and techniques. Who simultaneously had problem write simple code. That is incomparable to Beowulf.
I have worked who are totally passionate and read all the blogs and can talk about all new buzzwords and techniques. Who simultaneously had problem write simple code. That is incomparable to Beowulf.
10 years ago I was asked how to tell if an integer is divisible by two without using division or modulus. What they expected was to bit mask the 1s place in the integer and check for equality with 0. I'd take Fizzbuzz any day.
Wait, it gets better. I was asked the "divisible by two" question and gave the standard bitmasking technique in response. But then my interviewer said that wasn't "allowed" either, because apparently this programming environment they do their daily work in (this was an old-school web development shop basically) doesn't support basic math operations of any kind except equality, plus and minus.
He then pressed me for something "even simpler", "perhaps using function calls". Then I figured out what the "right" answer was -- he wanted be to test for odd- or even-ness recursively by, well, you know how.
So after reminding him about the obvious performance drawbacks of such an approach, I asked him -- "So do you actually write code like this in production?"
To which his answer was: "No, but I do during interviews".
if CPU masks it then time the read.
ok partly sarcasm but partly: this isn’t a hard question. i’m sure i could enumerate ALL the possible ways to do this. maybe i’m good at puzzles.
if your comment is about how awful an interview question it is, in that case yeah i agree. but not because it’s hard. anyone should be able to answer this.
Further I was pointing out I prefer fizzbuzz because it at least bears a resemblance to what would be done on a daily basis on the job.
> anyone should be able to answer this.
Anyone should be able to answer fizzbuzz yet people who look good on paper constantly fail it. This is why it is useful. And that is why it is actually not a bad interview question. (in my opinion)
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...
There is generally little substitute for real world experience. Measuring through proxy only goes that far.
I did the bare minimum C++ in my classes. I can write trivial little "code challenge" type things with it. (mostly imperative style, very basic OO) But, ask me anything about Templates, etc, and I'll quickly admit you've gone beyond my knowledge. I'm intrigued at the answer to this question though....
If you lie on your resume and I catch you that is an important red flag because I no longer no what else I can trust you on.