Some Useful DSA Resources
Complete novice, lack of time:
If you have a lot of time and want to crack FAANG or similar companies, here is my personalized curated list of problems by topic:
Video Resources
Data Structures:
Abdul Bari Sir teaches data structures the way they are taught in college. Having a strong grasp of these fundamentals is very important.
Watch hereStriver’s A2Z DSA Course
Watch here
His Graph and Dynamic Programming series are especially top-notch.
Tips and Tricks
- Practice, practice, practice.
- Not mandatory, but if possible, use an easier language with a lot of built-in support, like Python. It can save you valuable time during a coding interview.
- Understanding time and space complexity is fundamental and extremely important. Always mention the time and space complexity of your approach in the interview.
- Focus on dry runs. After writing your code, walk through it step by step with test cases. Interviewers care more about your thought process than just a working solution.
- Optimize iteratively. Even if you know the most optimal solution, start with a brute-force solution and then discuss how you plan to optimize it.
- Write clean and readable code. Use proper variable names, avoid clutter, write modular code.
- Consistency is better than quantity. Solving 3–5 quality problems every day with full understanding beats rushing through 50 problems a week.
- Don’t ignore edge cases. Think about empty inputs, duplicates, extreme sizes.
- Think through the complete solution before you code. Spend time planning. A few extra minutes thinking before typing saves time debugging later.