3 ms·
This interview, what the public knows about it at least, gets brought up a lot. A package manager is a very simple system to write. Brew is very successful, a
by alphazard 4y ago
This interview, what the public knows about it at least, gets brought up a lot. A package manager is a very simple system to write. Brew is very successful, and creating it certainly shows extremely good taste compared to most engineers.
But there are only so many positions for engineers with good taste to work on simple systems. Google was almost certainly looking for engineers who can build and understand large distributed systems and non-trivial algorithms. Inverting a binary tree is basically asking someone if they understand recursion. If he can't clear that bar, there will be algorithms that come up during normal work which, based on the interview, he couldn't be expected to understand.
That's all fine. I wouldn't hire him either, but I still like brew.
- ss108 4y agoYeah. If he's capable of building good stuff, but couldn't invert a binary tree, it suggests strongly that he didn't even bother to do a minimal amount of preparation, and Google is not unreasonable at all to want to filter out people who don't do that.
- slotrans 4y agoin 17 years of professional software development I've used a binary tree exactly zero times
- Existenceblinks 4y agoSame. I wrote many AI stuff during 2007-2011. After that, in industry, I use Boolean Algebra Simplification once to undo if-else hell of legacy code. It's always fixing tooling shit and third party apis/accounts/permission madness. No way I can balance a AVL tree now (give me at least 3 days)
- ss108 4y agoThat's not the point. The point is that if someone can't do some of the easier Leetcode style problems, they probably didn't try to prepare at all, and that can be viewed as arrogant or lazy. I'm not disputing that binary trees might not be the most practical topic (especially inverting them). However, given that one knows that is the sort of coding interview Google conducts, one should reasonably be expected to practice that sort of interview. Inverting a binary tree isn't hard; it doesn't take much practice with binary trees to realize how to do that. So if someone can't do that, they probably didn't practice at all. And if someone didn't practice at all, an employer is acting within reason if they draw some negative inferences from that.
- alphazard 4y agoMaybe you've never used a binary tree on the job to store information. If you've ever written a recursive function with two recursive calls, the call graph is a binary tree. The interview problem "invert a binary tree", is more of a litmus test for understanding recursion, which is a fairly basic knowledge item for an SE.