The interview prep documents for google suggest reviewing things like discrete math, NP-complete problems, various sorting algorithms, and self-balancing trees. I’m curious how heavily I should dive into each of these topics. Personally, I’ve never needed to know which sorting algorithm is used or whether it’s an AVL or red/black BST and I don’t wanna spend a lot of time on that when I could do LC problems or system design on educative. Is a high level overview enough?
You need to be able to solve problems related to these topics. If you get asked to validate BST, know what it it and how it works. Should be all.
Just solve all Google leetcode problems. And read highscalability.com
Room cleaning robot.. duh