While I've been making progress toward my goal of being ready for technical interviews, I feel that I need to up my pace to be ready in a timely manner.
From my original plan detailed here and currently pinned on the blog: https://dailydsa.com/what-is-daily-dsa
I am in the phase of learning data structures in Python as I have been going through the Neetcode Data Structures and Algorithms course. Throughout the course, I've also been solving the suggested problems to better my understanding. That being said, I still have plenty of work left to do as I also want to get through the advanced data structures course, the neetcode 150, and grokking the coding interview.
Here is the detailed plan with a timeline so I can make better progress
My goal here is to do the activities needed to get me prepped, so I will set quantifiable metrics such as the hours worked on a daily/weekly basis and a general outline.
12 Week Plan
Over the next 12 weeks, I'll work through the following.
Week 1: Backtracking, Heap/Priority Queue, and Hashing
Week 2: Finish Neetcode DSA course with Graphs, Dynamic Programming, and Bit Manipulation. Then review all Leetcode questions that you have done up until this point. If you cannot solve them or know the pattern by looking at it, then make a note and understand it for next time.
Week 3: Start Neetcode Advanced Algorithms Course. Get through Arrays and Linked Lists. Work through overlapping patterns covered in Grokking the coding interview.
Week 4: AA Trees, Heaps, and Backtracking. Go through overlapping patterns covered in Grokking the coding interview.
Week 5: AA Dynamic Programming. Go through overlapping patterns covered in Grokking the coding interview.
Week 6: Finish Grokking the Coding interview. Spend time reviewing concepts and questions you have gone over.
Week 7: Review more of the concepts and questions you have done. Begin solving the Neetcode 150 while following the general roadmap: https://neetcode.io/roadmap
Week 8: Continue solving Neetcode 150. Review questions solved previously to reinforce understanding.
Week 9: Continue solving Neetcode 150. Review questions solved previously to reinforce understanding.
Week 10: Continue solving Neetcode 150. Review questions solved previously to reinforce understanding.
Week 11: Finish Neetcode 150. Spend time reviewing all questions solved and concepts learned. Set up mock interviews with friends and colleagues to put yourself to the test. Go through Neetcode System Design for Beginners course.
Week 12: Go through Neetcode System Design Interview Course. Read through Grokking the System Design Interview.
Throughout this process, there will be some constants I strive for.
Weekly hours worked: 30+
Daily hours worked: 6+ (minus weekends which may be less)
Daily updates here on the blog. I will start including the time spent studying in my updates.
Continual review of Leetcode problems solved as necessary. I am tracking my problems solved and reflections here: https://docs.google.com/spreadsheets/d/1ScQgZnPyT3iYX0SKRXNesAXVMAOAx4UB9Aa9vSL0svE/edit?usp=sharing
This sort of plan should help me keep on track and make better progress. I will provide updates as well should anything change. Thanks and I'm looking forward to it!