I interview tons of candidates at a FAANG company, and I can tell you for sure binary search is way too hard to get right on a whiteboard. Even in a proper coding environment I wouldn't ask it. There are lots of better questions with fewer sharp edges.
Re:Neural programmer better than Quicksort
by Der_Einzige on Friday July 10, 2020 @02:24PM
(#23794631)
What else is hard besides converting
(high + low) / 2
To
Low + (high - low) / 2
What else about this problem is a "sharp edge"?
I may have been a little too harsh. Binary search is close to being a good interview question, especially since the algorithm does, rarely, come up in real code. But I prefer questions that are more like what people will be doing in their day-to-day job, and binary search is just a little too fiddly.
Re:Neural programmer better than Quicksort
by CamperBob2 on Friday July 10, 2020 @04:07PM
(#23795815)
Me: "Show me a binary search in C on the whiteboard."
Candidate: bsearch(key, base, num, size, compare_fn);
Me: "Your offer should arrive within one to two weeks. Need any help with relocation expenses?"
100% this. Maybe not everyone knows the specific function you’re looking for, but for the ones that know standard library APIs really well, that’s your hire.
I wouldn’t say so. In theory you’d expect a FAANG engineer to be able to construct a correctly terminating loop by reasoning about the loop invariant, but in practice every single candidate gets lost in guesswork and messing up the edge cases and termination condition.
If they didn't, than I believe you did a poor job of guiding them. I refuse to believe that this is some esoteric, tough question. If you can solve dynamic programming problems, you can easily solve this one.