Comment by CBLT

1 day ago

> You must know by heart the most common algorithms out there and design solutions that might involve two or three of them to solve a problem in 30 minutes.

You're not going to pass every interview. Some of them are truly outlandish, and require all of the above.

What you need is the technical knowledge to translate requirements into a loose pattern like "This looks like a search problem", then have the charisma (or more accurately, practice) to walk the interviewer through how each search algorithm you know could apply there. Then of course be able to actually write some code.

I've passed interviews where I had never heard of the datastructure they wanted me to solve it with; I just walked them through the tradeoffs of every data structure that I knew applied to it instead.