Update: Got the PPO, will be joining Amazon as Software Development Engineer. Also, I have collaborated with Newton School on Youtube, where I would be posting content on DS Algo, Open Source, Programming, etc.
Channel Link — https://www.youtube.com/channel/UCmj8TIGy0ppaZd1CFrtpEfQ
Hey everyone, I will be joining Amazon as Software Development Engineering Intern for 6 months from February 2021. In this article, I have shared all the important resources which I followed to make a good command on Data Structures and Algorithms.
Acronyms: DSA — Data Structures and Algorithms
First of all the websites, I followed:
LeetCode — Best website for practicing DSA questions, good user interface, the discussion section is awesome :)
GeeksforGeeks — Treasure for the Computer Science students, one can get all the questions with their possible solutions and can also practice here.
Techie Delight — A simplistic website made only for learning DSA.
Rest other websites to which you can refer are InterviewBit & Educative.io.
Here is the sheet of a few selected DSA problems made by Striver (take U forward) and Love Babbar. Basically, these sheets will help you solve some selected problems which will highly increase your DSA skills and you have to understand the concepts, intuition, and logic that why we have applied the particular data structure or algorithm in this question, don’t cram anything:-
- Striver’s sheet contains 180 questions, which can be completed in 2–3 months at a normal pace, but if you know the basics of DSA then one can complete the sheet in 1 month only. Link to the sheet and video — Striver’s sheet, video.
- Love’s sheet contains 450 questions, which can be completed in 5–6 months, and 3–4 months for one who knows the basics. Link to the sheet — Love’s sheet, video.
A very good tracking website is built i.e. 450DSA, which can help you to track these questions.
If you have less time left for interviews go for Striver’s sheet, but if you have enough time start solving Love’s sheet. Both the sheets are really awesome and amazing.
Now the resources for each topic in DSA, and resources will be mostly the videos present on Youtube, and once you are done with the videos start practicing that topic, and do a good amount of questions on that topic, so that you get to know about that topic in-depth and you can completely understand it.
- Arrays — The very first and basic topic of DSA.
* Basics of the array — Array lectures by Neso Academy (This is only for the people who want to learn from scratch)
* Sliding Window — Playlist by Aditya Verma
* Sorting — Playlist by mycodeschool
- Greedy — Videos by Abdul Bari Sir (from 3 to 3.5)
- Hashing — Video by Abdul Bari Sir
- Stack — Stack Playlist by Aditya Verma
- Queue — To understand the basics of the queue go to Jenny’s Lecture
- Recursion — Recursion Playlist by Aditya Verma
- Linked List — Playlist by Vivekanand Khyade Sir
- Binary Trees — Playlist by Vivekanand Khyade Sir, Playlist by Kashisk Mehndiratta
- Binary Search Trees — Video by mycodeschool
- Strings —
* Rabin Karp Algo —Video by Abdul Bari Sir, TECH DOSE
* KMP Algo — Video by Abdul Bari Sir, TECH DOSE
- Backtracking — Videos by Abdul Bari Sir
- Binary Search — Playlist by Aditya Verma
- Dynamic Programming — Playlist by Aditya Verma (Best DP lectures on Youtube)
- Heaps — Playlist by Aditya Verma (If you want to learn basics then first refer Abdul Bari Sir videos)
- Graphs — Playlist by TECH DOSE (If you want to learn basics then first refer Abdul Bari Sir videos)
- Tries — Video by TECH DOSE
Note: These are just resources, from where you can learn the topics but remember you have to practice a lot of questions on this topic to get a good command. And also don’t just stick to these resources only, explore more on Youtube.
Channels you need to subscribe to get guidance regarding placements and resources:-
- take U forward
- Love Babbar
- Aditya Verma
- TECH DOSE
- Back To Back SWE
- Vivekanand Khyade — Algorithm Every Day
Also give short contests (2–3 hrs) on Codeforces, Codechef, and LeetCode so that you can test yourself, it will make your brain smarter and sharper and this will also help you all to clear the online coding rounds of many companies.
The main agenda here is you don’t have to cram anything, just learn the concepts and apply them to the questions, and increase your knowledge of DSA. “The more you practice, the more you learn.” If you are not able to solve any questions on the sheet, or anywhere don’t give up easily at least give 1–2 hours of brainstorming, and even if you are not able to get it then go for a solution. For solutions, you can easily find some videos on Youtube with excellent explanations and you can also refer to the discussion section in LeetCode or refer GeeksforGeeks.
For OOPS Saurabh Shukla’s sir, C++ playlist is good.
Also, make notes of all the things you have studied, it helps to revise quickly whenever you want. And do support the creators who have made such excellent resources.
A piece of general advice, stay active on LinkedIn!
I hope you like the article, in case of any doubts feel free to DM me on LinkedIn.
Articles regarding Open Source and GSoC:-