SDE Placement
SDE Placement Plan
Jan to Apr (Before Intern)
Choose a language (C++ / Java).
Learn the syntax of the language.
Learn stl/c++ thoroughly.
If you choose java, be prepared with collections, comparator, Math class, Fast I/O.
Be comfortable with the basic implementation. (Give time to this)
Always upsolve the unsolved problems at the end of the contest on the day of the contest itself.
You should be able to solve Div2C and 3 to 4 leetcode problems regularly in the contests. (Around 50% of the time)
If your English is a bit weak, or you feel you are not confident enough to speak. Start talking with your friends and family in English.
For data structures and algorithms
Array: leetcode
Math: leetcode
String: leetcode
LinkedList: gfg, leetcode
Stack: gfg, leetcode
Queue: gfg, leetcode
Binary search: leetcode
Sorting: leetcode, algorithms from gfg( Insertion Sort, Bubble Sort, Selection Sort, Merge Sort, Quick Sort, Heap Sort)
Sliding Window, 2 pointer: leetcode
Greedy: leetcode, gfg
DP (focus on recursion) (Aditya Verma/ Tushar Roy/ Abdul Bari from youtube) - Leetcode / InterviewBit + GFG 56 questions
Binary Trees: gfg/leetcode, InterviewBit
Binary Search Tree: gfg/leetcode, InterviewBit
Heap: read operations from gfg, but implement using priority_queue
Priority queue (STL): Heap (Aditya Verma), leetcode
Hashing: gfg/leetcode, interviewbit
Backtracking + recursion: gfg, leetcode
Bit Manipulation: Hackerearth theory, leetcode
Divide and Conquer: gfg, leetcode (focus on merge sort method)
Graph
For theory: CP Algo, hackerearth , gfg (not good codes)
For practice: leetcode, InterviewBit, Codeforces, Hackerearth (not good solutions)
BFS / DFS
DSU (with Path compression)
Topological Sort
Bipartite
Cycle, coloring
Shortest paths (Djisktra, Bellman Ford, Floyd Warshal, BFS)
Minimum Spanning Tree (Krushal’s Algorithm, Prim’s Algorithm)
Flood Fill Algorithm
Bridges, Articulation & Strongly Connected Components ( Kosaraju’s algorithm, Tarjan’s algorithm)
Biconnected Components ( optional, rarely asked)
Hamiltonian cycle + path (Dp with bitmasking)
Eulerian Path
LCA (from here ) (Binary Lifting)
Max flow Min flow (optional, rarely asked)
KMP algorithm: CP Algorithms (most Important)
Z algorithm: Cp Algorithms (Rarely used)
Rabin Karp algorithm (Roling Hash)
Manacher’s Algorithm
Advanced DS: (asked rarely)
Trie (leetcode, Hackerearth)
Segtree with Lazy Propagation (Leetcode, Hackerearth, CP Algo)
Fenwick Tree: hackerearth, CP algo
AVL Tree: gfg ( asked a lot in mcq)
Red Black Tree : gfg
Suffix Tree
Try to cover these topics as much as you can:
Backtracking
Binary search
DP
Greedy
Graph
DSU
BFS/DFS related topics
Shortest path algorithms
Topo sort
Bipartite checking/ cycles/ coloring (study after the above topics are covered)
Segment Tree/ Fenwick Tree
Digit DP/ DP on trees/ DP with bitmasking
String algorithms
May to Jul (During Intern)
Don’t leave coding, do as much as you can
Complete/revise interviewbit of some important topics like (Dp, Tree, Binary Search, Graph )
Jul to Sept (After Intern)
Practice/ give contests rigorously on leetcode or interviewBit.
You can Join the telegram group for algorithms.
Try to do at least 30-40 questions (majorly medium and hard) of each topic from leetcode.
Read GFG articles regularly (data structures/ algorithms) and also try to implement some of these side by side on leetcode.
OOPS
OS
DBMS (study SQL nicely & practice on hackerrank)
Computer Networks
Prepare for MCQs. (GFG/ placement docs)
Do Inter IIT Placement docs of this year and the previous year. (VVImp as questions are repeated) (Also join the Inter IIT Placement Group in Telegram)
Inter IIT Placement docs:
Mid Oct/ Nov
Cover important DS algo interview questions from GFG. You can follow this . Regularly use Leetcode to practice too, as you are generally asked to code in your interviews.
Revise CS subjects.
Puzzles: Gfg (1-85)
Prepare the resume.
Projects
Technical skills- Only mention those in your resume in which you are confident.
Communication skills are very important.
Try giving mock interviews to friends or seniors.
HR questions.
Suggested Resources
A2oj ladders/ Rating filter on codeforces. (start from div2A, should be comfortable at least up to Div2C later)
Be comfortable with contests (codeforces/ leetcode). Leetcode contests are more relevant to placement preparation.
Hackerrank.
OOPS (GFG or learncpp.com or Saurabh Shukla YT videos)(for java : javatpoint.com)
OS ( Yellow pages , Gate Smashers)
DBMS (Gate smashers)
Networking (Gate Smashers)
Important Leetcode links: Here
CP algorithms is a good source for slightly complex algorithms which may come directly as a problem (eg. Josephus Problem) : CP-Algorithms
The more questions you solve on leetcode, the more are your chances in cracking a good company.
All the Best!!! 🙂