How to use the NeetCode 150 to study for your FAANG and big tech interviews

by Nick Scialli
How to use the NeetCode 150 to study for your FAANG and big tech interviews

The NeetCode 150 is an invaluable resource for studying for LeetCode-style interviews you might get at FAANG and other big tech companies. The problem is: how do you go about studying a list of 150 coding challenges? This article provides my methodology, which helped me pass interviews at Google and Microsoft.

What is the NeedCode 150?

The NeetCode 150 is a list of 150 LeetCode.com questions compiled by a Google engineer. It is supposed to be a representitive group of questions that expose you to the major topics that might be asked in FAANG or big tech interviews.

Currently, the NeetCode 150 practice problem interface looks as follows:

The NeetCode 150

There are several categories of questions, and inside each category are easy, medium, and hard questions. The list of questions also has solutions provided in various programming languages.

The NeetCode 150 list may be daunting at first glance. Fortunately, it becomes much more approachable with some planning and strategy.

Leave enough time to complete the list

15 weeks (or about three months) should be enough time to complete the list. That means you would complete about 10 problems per week. If at all possible, make a schedule with percent completion goals along the way. Since the problems get harder and harder, I recommend front-loading your schedule (e.g., the first few weeks plan on completing ~15 problems per week, the last few weeks plan on completing ~5 problems per week).

Complete all the easies, then all mediums, then all hards

This is an approach I was really happy with. I completed all the easy problems in “Arrays & Hashing” first. Then, instead of going to the medium problems in “Arrays & Hashing,” I went to the next category and completed the easy questions, and so on.

Once you complete all the easy problems from all categories, repeat the process for the mediums. Then, when done all the mediums, repeat for the hards.

The reason I like this process is because:

  • You really drill a category’s concept with several consecutive problems
  • You give yourself a break from a category and then, when you return to it at the next difficulty, you can test how well you retained the concepts

Use NeetCode-provided answers wisely

If you haven’t cracked a problem in 20-30 minutes, it’s okay to look at the NeedCode-provided answer. There’s a common mistake that you shouldn’t make at this point—don’t assume you understand the problem just because you read and understood the NeedCodde-provided solution! Instead, after you read the solution, go back to LeetCode and code it yourself. This is critical to actually retaining the solution!

When you struggle or need a solution for a problem, make a note of that problem so you can revisit it in the future.

Don’t worry too much about bit manipulation

The bit manipulation category was a bit of a head-scratcher for me. As a full stack engineer, I never saw any bit manipulation questions in my interviews. That being said, perhaps you’re in a field where bit manipulation is used more. Use your judgment about how much time you should spend on this category!

Don’t beat yourself up

When I started doing LeetCode problems, I was terrible. It’s such a different skillset than coding for your day job. Also, I rarely got the optimal answer for mediums and hards without seeking out the solution. Again, cut yourself some slack!

Enjoy this post? Consider checking out my free Interview Guide!