4 ms·
> The same was true for java's binary search I used to ask "implement binary search" as an interview question and gave up on using it because not a single cand
by User23 6y ago
> The same was true for java's binary search
I used to ask "implement binary search" as an interview question and gave up on using it because not a single candidate could do it correctly in 45 minutes. This was at a FAANG.
- Der_Einzige 6y agoI don't believe you. Surely, after a few hints, the FAANG canidates must have been able to figure out the classic gotcha of this question (why does this sometimes overflow and how do you fix {high + low / 2}) 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.
- nardi 6y agoI 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.
- deleted 6y ago[deleted]
- Der_Einzige 6y agoWhat else is hard besides converting (high + low) / 2 To Low + (high - low) / 2 What else about this problem is a "sharp edge"?
- nardi 6y agoI 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.
- CamperBob2 6y agoMe: "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?"
- nardi 6y ago100% 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.
- User23 6y agoI 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.
- vertbhrtn 6y agoHa, I can get an offer from any of the FAANG without even trying and can comfortably say that not only I failed the binary search question in past when interviews were 1 hour long, I would still fail it now.