LeetCode1 is the single place where one should be spending the vast majority of their time preparing for coding interviews. However, LeetCode is a vast labyrinth, and easy to get lost in. The resources mentioned here are meant to help brave souls out there in their quest to navigate LeetCode’s mess.
As a side note, I cannot overstate the fact that having a Framework for coding interviews was the single most important thing apart from solving problems that helped me in passing my interviews.
Resources I found most useful, in order of utility:
- Grind 75: A highly curated list of important LeetCode problems to solve. The list adjusts based on the time you have to prepare. Most highly recommended.
- Cracking the Coding Interview: The most classic resource for studying for technical interviews. Extremely highly recommended for people who have no idea about technical interviews. It is a nice, structured, and smooth introduction to this peculiar and swampy world. After you read the initial chapters, and get a good idea of what this whole jam is about, I highly recommend Grind 75 and the Tech Interview Handbook. If you are already familiar with coding interviews, you can probably skip this book, although it has great and often overlooked points in it, especially on the non-technical side of things.
- Tech Interview Handbook: Hands-down the most all-round and useful resource for technical interviews. Includes fundamental data structures knowledge, top problems to solve from each problem “category”, common techniques to solve and optimize problems. In addition, it includes all the other important, but often overlooked topics, such as what are you evaluated on, what to do during your interview, tips for behavioral interviews, and offer negotiation tips.
- Big-O cheatsheet for common algorithms and data structures
- How to Rock the Coding Interview – Tips That Helped Me Land Job Offers from Google, sAirbnb, and Dropbox: Great, thorough, and huge blog post from the author of Tech Interview Handbook. Highly recommended. Also contains good typical problems from each category.
- How to make progress while studying for coding interviews: A nice blog post with solid advice
- AlgoMonster: The best selling point of AlgoMonster is that it reduces the amount of sheer choice that is the main pain point of LeetCode. It is pretty neat, but there are several pages here which are disappointing, and lack decent explanations. It’s a bit hard to recommend given that a) Grind 75 also gives you the most salient problems to look at and b) they require a $75 one-time payment for accessing most of the useful content. Personally, I used it, and it helped me get some extra XP. It’s not wasted money if you have some to spare, but if you don’t you’re fine with the rest of the resources mentioned. If you’re tight on budget, prioritize LeetCode premium.
Is LeetCode premium worth it? Absolutely. You get solutions to the problems, many of which are beautifully explained (even though some of them are terrible). You also get very nice learning tracks, sometimes rendering AlgoMonster obsolete. However, I think the beauty of AlgoMonster, is the selected. limited amount of information and problems it offers, making is harder for you to feel lost. ↩
Links to this note
tl;dr; This applies to Big Tech and other companies who are applying similar interviewing strategies. - Spend 2 weeks reading “Cracking the Coding Interview” and familiarizing yourself with the process....