Interesting. This is my weak spot as well. Any tips for going through this cycle? What do you use to learn them? To practice?
At this point though I just stop the interview if they’re asking Big-O or data structure questions. If the company can’t come up with meaningful real world examples that actually explores my experience, I don’t want to work there.
I do the following in JS:
- General graph algorithms (shortest path, backtracking based)
- Traversals for graphs / trees (depth first, breadth first, iteratively, recursively)
- Heaps (min, max)
- Tries
- Matrix manipulation / traversal. This is a very error prone for a lot of folks even though it looks simple when they need to write it by hand, and I always need to putz around with 5-10 problems.
I have enough exposure to common interview questions that the above is generally enough.