Is LeetCode Worth It? + Tips on maximizing your technical interview prep

Kelsey H.
4 min readJan 5, 2024

--

For the longest time, I avoided LeetCode like the plague. In my eyes, it felt like coding assessments were another way to gate keep people from breaking into tech. Arguably, despite what I’m going to say in this article, I do still partially feel this way because standardized tests have been shown to not always fully gauge a candidate’s ability to be successful. This can be seen in how SAT scores don’t always predict the success of the student.

The point is that LeetCode and HackerRank assessments are some of our first contacts with a company. It’s how they decide whether what we said in our cover letter and resume is true. Do we actually know what we said we know or are we simply frauds trying to sneak into their midst.

I think studying LeetCode and getting better at writing algorithms is really like what ThePrimeagen says, “The secret handshake” of securing your first role in tech.

There aren’t many ways for large Fortune500 companies to judge your technical ability without some form of standardization. It’s unrealistic to expect recruiters at larger companies to be able to look one-by-one at all the incredible portfolios that come across their desk. There needs to be some way to whittle the tens of thousands to a manageable amount. Hence coding assessments are a tool to do that.

I don’t necessarily agree that it’s a 100% catch all for the qualified person. In fact, if you’re like me and you get test anxiety, then these type of assessments can seem like a coding nightmare and one huge hurdle standing between you and your dream job. What I’ve been enjoying about LeetCode is it provides me a way to practice “the handshake” and to refine my ability to think through problems as a programmer.

Being able to see patterns and connections is a critical skill, and if you practice LeetCode appropriately you can learn to build that skill into something that is transferable on the job.

Here are some tips that have helped me in my own LeetCode studying journey:

  • Only spend about 30–50minutes per problem. In my experience, coding assessments through these companies are max 60 minutes long with 2 questions (most likely medium level). This means realistically the ideal amount of time to split between the 2 problems is about 30 minutes. Ideally, one problem will come easier than the other which would leave you with additional time to focus on the more difficult problem. You get used to the time constraints and how to break down problems efficiently within them.
  • Start Easy. Knowing that most companies tend towards medium-level problems might tempt you to start higher than what you are ready for. However, let me encourage you to start easy and build up to harder problems. Building up my confidence with easier problems simultaneously built my endurance to wrestle with different approaches towards harder problems. When I first started LeetCode, I would get discouraged because I didn’t get the answer on the first try and would even struggle with some “easy” problems for well into an hr. However with practice, came greater understanding in how to approach and now I’m able to solve easy problems relatively quickly. This gave me the foundation I needed to be able to move towards the medium-level problems.
  • Keep Track of Your Work. Something I’ve started to do recently is keep track of the problems I’ve solved, thought process, and the solution. On the actual site, LeetCode does have a spot for you to take notes and review your submissions, however I personally prefer the more aesthetic customized experience I can create for myself in Notion. I get excited to add another problem to my tracker along with videos I used to reference if I needed additional help, thought process I had during the solving of the problem as well as pictures of scratch paper notes I took as well. I find this allows me a reference point to see where I’m struggling but also see how far I’ve come in terms of my own approach and understanding of what the problems are asking of me.
  • Write it Down, Draw it Out. When I first started reviewing Data Structures and Algorithms (DSA), I underestimated the power of using visuals when trying to solve a problem. A bad habit that I picked up in school was to try and use mental imaging in order to see the connections. However just like in school, I found only working out problems in my head made the LeetCode problem I was trying to solve more difficult to grasp. I recommend having a scratch piece of paper or using Eraser.io in order to draw out what the problem is asking. By drawing it out or writing it down, you’re able to physically see the problem in a new light. This could help you identify a pattern that you didn’t notice before, or see a relationship between two variables that you wouldn’t have been able to connect simply by drawing a mental map. This also gives you good practice in understanding your own train of thought which in turn allows you practice in providing technical explanation and intuition for how you arrived at a particular solution.

LeetCode and other sites like it are definitely not perfect. Some problems labelled easy or medium can feel unnecessarily hard or confusing. The biggest thing I can say is to not get discouraged and to lean on the community to help you grasp concepts, ideas, and understand potential solutions.

If you’re looking for YouTube channels or some help with structuring your technical interview preps, this is what I’ve been using so far:

As always, Happy Coding!

--

--

Kelsey H.
Kelsey H.

Written by Kelsey H.

My three favorite things are coding, gaming, and caffeine.

No responses yet