Here's a broad breakdown that I feel(based on past interview expreiences available on various plateforms) are required for successful preparation for placements. I'll discuss each section in detail later:
- Communication skills -> how you speak in the interview
- Presentation skills -> how you explain your previous work
- General Aptitude -> aptitude tests and your approach in interview
- Coding skills -> the way you code
- Data structure and Algorithm -> Most Important
- Object Oriented Programming (OOPs) -> Important, typically asked in coding interviews
- Operating Systems -> asked in 20% tests and in 30% interviews
- Database Management Systems -> asked in 20% tests and in 30% interviews
- Computer Networks -> asked in 10% tests and in 20% interviews
- Basic Unix Commands -> asked in less than 5% tests and in interviews
- Basic System Design -> OPTIONAL
One key thing I would like to emphasize here is that having a good understanding of Data Dtructures and Algorithms is very important but may not be sufficient for some companies like Uber, Codenation, Alphonse among others. These companies also look for your coding style, which I'll disucss later in this doc.
Since, I used cpp, here are some of the links that will help you train DSA in cpp. Also, I've added a link to my template which I used to use as a base to any problem I used to solve. It has pre-defined macros and basic functions that are used in most of the problems, so it can be used to save time.
- C++ STL: Utkarsh Gupta -> One shot Video on STL
- C++ STL: take U forward (striver) -> One shot Video on STL
- C++ STL: Rachit Jain -> One shot Video on STL
- C++ STL: YT Bo Qian -> Short Videos on STL
- STL- 1: topcoder -> blog
- STL -2: topcoder -> blog
- C++ Tricks: YT
- Luv: YT-> He discussed everything in detail
Other Links (Optional)
- [YT: cpp Nuts: Topic wise videos](https://www.youtube.com/channel/UCs6sf4iRhhE875T1QjG3wPQ/join) - [YT: Fit Coder](https://www.youtube.com/channel/UCX6rLou1VXXPVsORMVkUryg) This channel is new, but he explains nicely
- take U Forward -> less but HIGH level problems
- Array 101 Leetcode explore card -> one of the best resource to start with
- Bro coders -> starts from basics to advanced
- Fraz
- GeeksforGeeks youtube channel
- GeeksforGeeks : yt
- Bro Coders -> starts from basics to advanced
- Pepcoding Strings, StringBuilders and Arraylists - Level 1 -> using JAVA
- Pepcoding Arrays and Strings - Level 2 -> using JAVA
- String Matching Algorithms -> important string algorithms
- Hackerearth's Tutorial:Stack -> hackerearth's tutorials are worth reading
- Hackerearth's Tutorial :Queues
- Stack and Queue Leetcode explore card -> best resourse to start stack and queues
- Bro coders : Stack -> basic to advanced lecture
- Bro coders : queues
- take U Forward
- Teach dose
- mycodeshcool -> one of my favorite youtube channel for DSA
- Aditya Verma Playlist -> Best playlist for recursion
- take U Forward -> including Backtacking
- Bro Coders
- Recursion 1 -> leetcode explore card 1
- Recursion 2 -> leetcode explore card 2(including backtracking)
- Reducible ->he shows you recursion visually
- CS Dojo
- Utkarsh Gupta
- Lead coding
- Hello World playlist -> best resourse to start(beginner friendly)
- Brocoders
- code explainer