3 ms·
I've given a lot of interviews (>100) and while I totally accept it's a best guest and imperfect, I find that you get more out of fizzbuzz and the like than mee
by lolo_ 12y ago
I've given a lot of interviews (>100) and while I totally accept it's a best guest and imperfect, I find that you get more out of fizzbuzz and the like than meets the eye.
Firstly, I certainly agree unnecessary algo questions for a job that doesn't involve algorithmic problem solving on a day-to-day is silly and leads to false negatives.
But the simpler problems give you more than just the basic 'can you code' test - it gives you an insight their into thought process.
For example, seeing how somebody progresses from:-
for(var i = 1; i <= 100; i++) {
if (i % 3 == 0)
console.log('fizz');
else if (i % 5 == 0)
console.log('buzz');
// ah hm both % 3 and %5...
}
To:-
for(var i = 1; i <= 100; i++) {
if (i % 3 == 0 && i % 5 == 0)
console.log('fizzbuzz');
else if (i % 3 == 0)
console.log('fizz');
else if (i % 5 == 0)
console.log('buzz');
...
}
And dealing with the fact they have a mistake that needs fixing is always interesting to observe, and gives you insight into how they approach problems.
It seems so incredibly trivial and irrelevant at first hand but shows you a lot (assuming they've not seen it before.) I've been really surprised by this.
I suspect the idea of there being a science of this is a bit of a mistake - there's plenty of stuff that involves so many factors that it's really hard to know the really ideal approach. A quick look at the actual state of software engineering studies (30 undergrad students != all programmers) or e.g. macroeconomics should give you pause.
Certainly loads of scope for improvement though, I agree wholeheartedly!
- frownie 12y agoI concur. When hiring with these kinds of small problems, you actually see a lot. First, in my case, it sorts programmers from not-programmers (it's in the 50% ballpark). Then with a problem a bit harder, it helps sort "programmer-in-the-guts" from "programmer-for-a-job". At the end, I've removed 90% of the candidates and I'm left with average to very good programmers. Moreover, leaving people to do these little tests in the team and proposing them to ask questions whenever they want, plus asking them to explain their solutions helps a lot in seeing the social skill I need (communication, openness...) Of course, it's not 100% safe, but I'd say it's a good heuristic :-)
- lolo_ 12y agoIt's interesting to hear that other people have had similar experiences :) I was also surprised as to what degree you can get an insight into social skills just from interacting with people during the interview.