2

What is the best way to consistently learn and master data structures and algorithms without paying for a subscription course?

Profile picture
Software Engineer at Taro Community3 months ago

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?

54
3

Discussion

(3 comments)
  • 2
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    3 months ago

    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:

    1. Have an accountability partner - Without social pressure, it's very easy to be half-dejected and half-zoned-out when doing DSA problems. Having another human you don't want to let down is incredibly powerful.
    2. Relentlessly understand - If you don't get the answer, don't just memorize it and move on. Really get it. Keep digging deeper into the reasoning and mechanics. ChatGPT is great for answering these follow-up questions. You can make it role-play as an elementary school teacher if you really need simpler explanations.

    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.

  • 1
    Profile picture
    Thoughtful Tarodactyl
    Taro Community
    3 months ago

    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

  • 0
    Profile picture
    Tech Lead/Manager at Meta, Pinterest, Kosei
    3 months ago

    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/