I've noticed that many people can secure Google L4 interviews and solve complex data structure and algorithms problems. For example: https://leetcode.com/discuss/interview-experience/5387760/Google-or-L4-or-Offer
Despite my efforts, I often struggle to recognize patterns and solve these problems effectively. I realize that my preparation might be insufficient, or perhaps I'm not practicing enough every day. Sometimes, I learn topics in a shallow way and quickly move on to the next one. For example, I recently revisited an easy array problem and couldn't solve it.
In response, I've started deeply engaging with the basics, but I’m unsure if I can handle easy, medium, to hard problems consistently. I don't want to pay for a subscription course, but I aim to be diligent because mastering DSA is crucial for securing a good package.
I'm considering several strategies to improve: attempting to solve problems on my own before looking at solutions, reading explanations aloud and drawing diagrams to reinforce my understanding, or creating YouTube videos where I explain solutions. This approach could not only help me learn but also potentially generate income if the videos gain traction.
What is the best learning method to make reasonable progress and develop a habit that will be effective in interviews?
The answer is in your question title: Consistency
If you're fully plugged in doing the same thing 4-5 times a week for 20 weeks, it's almost impossible to not get genuinely better at the thing. The tricky part is the "fully plugged in" aspect. Here's 2 big pieces of advice there:
Lastly, there's massive survivorship bias online and people lie on the internet all the time. Don't take too much stake in those random Reddit/LeetCode/Blind threads. For every public success on the internet, there are 100+ failures.
Start with neetcode.io and work your way through the roadmap. For leetcode you need to walk before you can run
This means working in order. Master Trees before graphs. Array problems before LL. LL before trees.
Also first make sure you can do easies consistenly. If you cant even do easy problems then u need to work on that first.
Dont keep jumping between patterns. Do atleast 5-10 problems in a row before moving on.
Make sure you know blind 75 in and out. You should be able to code up any blind 75 problem in 20 minutes and deeply understand every single line. It is worth it to go and revisit these problems from time to time. A lot of interview questions outside of FAANG are just blind 75 or variations of it.
When you read a problem first thought should be which pattern is it? Make a guess and look at the leetcode Topics section below and verify your guess
Alex and I shared a bunch of thoughts on the DSA masterclass here: [Masterclass] How To Ace Your Big Tech Interview - Data Structures And Algorithms
For a subscription service, what you're often paying for is not the content but the accountability. The primary value of bootcamps is that they give you a structure and deadline which is very helpful for learning.
So if you don't want to pay for a subscription, my advice would be to focus on finding people who you can regularly work with. There are regular events on Taro (like this one tomorrow) or you can message people looking for mock interviews through Taro Networking: https://www.jointaro.com/networking/