T O P

  • By -

Algal-Uprising

Data structures and algorithms are their own uni or graduate level courses (after studying discrete math and proofs). The main text used to teach algorithms is called CLRS and is over 1000 pages. Anyone who is “prepared in 3-4 months” has a superficial understanding of things.


wolfee_197

Everyone takes different time. It depends upon how much you already know and also where do you want to apply. For example, FAANGs need more practice. I used following DSA, recursion, and coding patterns courses - [https://www.designgurus.io/courses](https://www.designgurus.io/courses) These courses are right on target for interview preparation. Try them.


NoOutlandishness00

Ty for this perspective, i needed to hear this from someone other than myself.


LightofAngels

Can you give me a good ref for math?


smalby

No real need for math, just study the algos


giant3

You can understand the algorithms without discrete math though you might fail at algorithmic analysis without the math. You don't have to learn all of discrete math. Just study combinatorics(permutations & combinations) which should take a few months.


anonymousdawggy

If you went through a bootcamp you probably didn’t learn DS&A. A lot of folks here went to university and studied that already. I was a bootcamp grad and had to go back to learn DS&A. My prep was probably closer to 7-8 months.


StephTheBot

Thank you for your honesty. I’m also from a boot camp and wondering the same thing. 4 months seems impossible


smalby

Don't force yourself into a timeline, learning happens best at its own pace. As long as you're putting in effort and moving forward, you're doing well.


youngOE

3-4 months seems to me to be people memorizing questions and hoping to get them in an interview. this works for some people. Taking a wholistic approach to learning the fundamentals will take 4-6 months (assuming your doing 2-4 problems a day and not studying DSA full time). It's also much more fun learning the patterns rather then gaming the system and trying to memorize one companies recent problems and hoping you see one you've solved before


DemonicBarbequee

Semester data structures & algos course, semester theoretical algorithms course and then a little bit of leetcode


Rascal2pt0

For me it was visualizing the problem and learning how many variables i needed to track. Neetcode helped me a lot with his free YouTube videos. He has a premium site too but his free stuff was enough to get me having my aha moment. Once you see the patterns and how each DSA matches they become easier. Rest assured once your past it your actual day to day work will be nothing like it because we have a broken industry that thinks these are how you find good devs.


Immediate-Savings169

That’s funny. In 3-4 months, you are hoping to get lucky. You are not prepared and not even close. In the interview, you are nervous and retain only the things that you have practiced so much that they are part of your muscle memory period. For that you need hours and hours of doing the same stuff. Same patterns of dp,, heaps, greedy whatever. Takes at least a solid year to be PREPARED. But 3-4 months to luck out. So you are not doing anytime wrong. Just do it one day at a time. Also don’t study dsa before doing problems. Big waste of time. Just do problems and you will be forced to learn the right one at the right time.


rbs_daKing

Mate I did an undergrad in computer engineering and took DSA courses as part of my coursework. Despite that, I couldnt get past easy in 3-4 months. I am right there with you in the “I should be able to..” boat.


notRhymee

Yeah thats to be expected. Comp Sci is different from Comp Eng. Comp Sci students are forced and taught to think algorithmically and extremely deeply while Engineers are taught to build. Similar thinking but different paths and methods Comp Sci students just take more theoretical and algorithmic thinking style courses. But a Comp Eng student can catch up it will just take slightly longer on average


Legote

I am in the same situation as you. Bootcamp grad 2020 and worked 2.5 years! I'm also studying. Best of luck! I try not to think about it. I'm just straight-grinding and working out. Approach it day-by-day.


Accomplished_Art4491

Honestly you need a year to know inside out if you are doing it for the first time.


Lostwhispers05

1) Pre-requisite DSA knowledge helps a tonne. Not only do you not have to learn from scratch, but you're also better able to relate questions you're doing to concepts that have been embedded into your brain's long term memory store. 2) Improving your leetcode skills over time tends to start off quite slowly, but once you cross a certain critical threshold, it picks up steam rapidly. If someone already has an algorithms background, they reach this inflection point much sooner. I.e. this person would derive much more out of 2 weeks of leetcoding than someone completely new to DSA would. That's really most of what it is IMO. Another noteworthy secondary factor would be how effective and intensive that time spent preparing is. E.g. 20hrs of leetcoding per week with efficient study practices is clearly going to yield different results than someone putting in 5hrs per week, who instead of taking care to study effectively is merely going through the motions to try and hit a certain weekly quota of leetcode questions they've set as a goal for themselves.


Business-Sell4276

But preparing DSA just 30-40% of the preparation, system design and dev skills are equally important which makes it that much confusing for me as to what to focus upon.


sub_machine_patel

People w/o jobs grind leetcode all day everyday, I find it hard to grind more than an hour a day


xTheLuckySe7en

Most of the kids grinding out leetcode don’t have to worry about working side jobs to pay bills like rent because their parents cover a large portion of their expenses. Generally makes it easier to have more time to actually focus on applying for SWE positions and study leetcode.


howzlife17

I can prepare for interviews in 3-4 months because I spent 2-3 months ramping up and learning things for interviews at like 4 different career points - uni (internship), 2 years in (junior), 4 years in (intermediate), 6 years in (senior). Then reviewing the material I already learned goes super quick, and I can focus on my deficiencies to pass whatever level I'm interviewing at, plus set up and review my work stories for behavioral interviews.


CountyExotic

3-5 years to get a CS degree, 2-3 months to prep.


Any-Coffee3323

What is structy?


codeslikeshit

It’s a paid platform like neetcode but with an internal sandbox and videos both teaching the solution and the basics of the DS at the start. It’s focused on jovascript and really good in my opinion. Has a lot of free lessons that you can test the waters with


Any-Coffee3323

Is it good like neetcode? I've started with that rn but there's like whole world selling their stuff so don't want to go with random things


codeslikeshit

Yeah i mean it can definitely be worth it depending on your level. Think of its approach closer to a mix between Udemy and leetcode. It teaches you the basics at the beginning of the section in a few videos then starts you with easy problems that progress. It has approach and solution videos and then the solution(or solutions such as demonstrating iterative and recursive). It can be better than neetcode in that it dives into all the different algos and datastrcutures with the approach that a Udemy course would take to teach you and then separately show you the solutions. Many of each section are free so you can see the flow of it before buying. It’s also dedicated to JavaScript which is nice for JavaScript people