DSA Preparation for Placements: Topics, Order and Practice Plan
A practical DSA plan for Indian placements: topic order, realistic problem counts, a month-by-month schedule and how to practise so it sticks.
Last updated: 8 October 2026 · By the Asuraa Team
Quick answer: For placements, learn DSA in this order: complexity, arrays and strings, hashing, sorting and binary search, recursion, linked lists, stacks and queues, trees, heaps, graphs, greedy and dynamic programming. Around 150-300 well-understood problems is realistic for product companies and 100-150 for service company coding rounds. LeetCode's Top Interview 150 list is a useful benchmark and is designed for three or more months of practice.
Key takeaways
- Learn DSA topics in a building order: arrays and strings, hashing, sorting and binary search, recursion, linked lists, stacks, trees, heaps, graphs, greedy, then dynamic programming.
- TCS describes its NQT IT variant as testing advanced coding skills, while its cognitive variant has no coding section.
- Around 150-300 well-understood problems is a realistic target for product company placements, and about 100-150 for service company coding rounds.
- LeetCode's Top Interview 150 study plan contains 150 classic questions and is designed for three or more months of practice.
- Recognising patterns and being able to re-solve problems weeks later matters more in interviews than a large solved-problem count.
How much DSA do you need for campus placements?
It depends on the companies you are targeting. For mass recruiters in IT services, you need solid basics (arrays, strings, hashing, sorting, recursion and simple problem solving) to clear online coding rounds. For product companies, fintechs and higher-paying roles, you need the full core syllabus up to graphs and dynamic programming, plus the speed to solve medium-level problems in 20-30 minutes.
Coding is now part of most hiring tests. For example, TCS describes its National Qualifier Test IT variant as testing advanced coding skills alongside aptitude and a psychometric assessment, while its cognitive variant has no coding section. Most service company tests follow a similar pattern of aptitude plus one or two coding problems, but the exact format changes year to year, so always check the official careers page or test notification for the company you are applying to. Our guide to campus hiring in India explains how drives are usually structured.
| Target | DSA depth needed | Typical problem level |
|---|---|---|
| IT services mass hiring (regular roles) | Arrays, strings, hashing, sorting, basic recursion, simple maths | Easy, some easy-medium |
| IT services higher-tier roles and GCCs | Above plus linked lists, stacks, queues, binary search, trees, basic greedy | Easy-medium to medium |
| Product companies, fintech, top startups | Full syllabus including graphs and dynamic programming | Medium, some hard |
In what order should you learn DSA topics?
Learn DSA in an order where each topic builds on the last, and do not move on until you can solve easy problems in the current topic without hints. This sequence works for most students:
- Language basics and complexity. Pick one language (C++, Java or Python), learn its standard library, and understand Big-O time and space complexity.
- Arrays and strings. Traversal, prefix sums, two pointers, sliding window, and in-place modification.
- Hashing. Hash maps and sets for counting, lookup and de-duplication. Many array and string problems become easy here.
- Sorting and binary search. Merge sort and quick sort ideas, custom comparators, and binary search on sorted data and on the answer.
- Recursion and backtracking. Base cases, the call stack, subsets, permutations and combinations.
- Linked lists. Reversal, fast and slow pointers, merging, and cycle detection.
- Stacks and queues. Balanced brackets, monotonic stacks (next greater element), and queue-based problems.
- Trees and binary search trees. Traversals, height and diameter, lowest common ancestor, and BST operations.
- Heaps (priority queues). Top-k problems, merging sorted lists and running medians.
- Graphs. Representations, BFS, DFS, connected components, cycle detection, topological sort, and shortest paths (Dijkstra).
- Greedy algorithms. Interval scheduling, activity selection, and when greedy fails.
- Dynamic programming. Start with 1D problems (climbing stairs, house robber), then 2D (grid paths, longest common subsequence, knapsack), and learn to convert recursion with memoisation into tabulation.
- Optional advanced topics. Tries, union-find (disjoint set), segment trees and bit manipulation, mainly for top product companies.
If you are choosing a language, see our comparison of Java vs Python for jobs. Both Java and Python are mainstream at work: in the Stack Overflow Developer Survey 2025, about 54.8% of professional developers reported using Python and about 29.6% Java. C++ and Java remain popular for timed contests because of speed and rich standard libraries, while Python is fine for most interviews if you know its built-in data structures well.
How many DSA problems should you solve for placements?
Aim for roughly 150-300 well-understood problems for product company preparation, and around 100-150 for service company coding rounds. The number matters less than coverage and retention: solving 200 problems spread across all core patterns, and being able to re-solve them weeks later, beats grinding 600 random problems.
A useful benchmark is LeetCode's Top Interview 150 study plan, a curated list of 150 classic interview questions that LeetCode suggests working through over three months or more. It is a reasonable target list for product company preparation, once you have learned the basics of each topic.
Practical guidelines:
- Keep a mix of roughly 40% easy, 50% medium and 10% hard problems once you are past the basics.
- Solve 10-20 problems per topic before moving on, focusing on recognising the pattern.
- Revisit problems you got wrong after one week and again after a month.
- Track every problem in a simple sheet: link, topic, pattern, time taken, and a one-line note on the key idea.
How long does DSA preparation take?
Most students need four to six months of consistent practice to become placement-ready for product companies, starting from basic programming knowledge. Students targeting only service company coding rounds can usually get ready in two to three months.
A sample six-month plan at about 2 hours a day:
| Month | Focus | Goal |
|---|---|---|
| 1 | Language, complexity, arrays, strings, hashing | Solve easy problems confidently |
| 2 | Sorting, binary search, recursion, backtracking, linked lists | Handle easy-medium problems |
| 3 | Stacks, queues, trees, BST, heaps | Solve medium tree and heap problems |
| 4 | Graphs and greedy | Recognise BFS, DFS and topological sort patterns |
| 5 | Dynamic programming | Solve classic 1D and 2D DP problems |
| 6 | Mixed practice, timed contests, mock interviews, revision | Solve 2 mediums in 60 minutes |
If you start in your third year (or pre-final year in a four-year BTech), this plan finishes before most placement drives begin. If you are starting late, compress months 1-3, prioritise the topics your target companies ask most, and keep DP to standard patterns.
Which platforms should you use for DSA practice?
Use one main platform for structured practice, one for timed contests, and one reference source for theory. Popular choices among Indian students include LeetCode for interview-style problems and study plans, GeeksforGeeks for topic-wise theory and company-tagged questions, HackerRank and HackerEarth for practice in a test-style editor, and Codeforces or CodeChef for timed contests.
Do not try to use all of them. Pick one curated list, finish it, and take part in a weekly timed contest to build speed and comfort with unfamiliar problems. Practising on the same type of editor you will face in the online test also helps you avoid surprises with input and output formats.
How should you practise DSA so it sticks?
Practise patterns, not individual problems. Most interview problems are variations of a few dozen patterns, such as two pointers, sliding window, binary search on the answer, BFS on a grid, or DP on subsequences.
A routine that works:
- Attempt each problem for 20-30 minutes before looking at hints. Struggle is where learning happens.
- If stuck, read only the hint or approach, then code it yourself without copying.
- After solving, compare with the best solution and note what you missed.
- Write down the pattern in your tracker so you can recognise it next time.
- Explain your solution out loud as if to an interviewer, covering the approach, complexity and edge cases.
- Do timed sessions weekly to simulate online assessments.
Interviews also test how you communicate. Clarify the problem, state a brute-force approach, improve it, then code, and test with edge cases. Our guide to technical interview preparation covers this structure in more detail.
What do most guides on DSA preparation get wrong?
Most guides treat problem count as the goal. Students chase 500 or 1,000 solved problems and still freeze in interviews because they memorised solutions instead of learning to recognise patterns. Two hundred problems you can explain and re-solve are worth more than a big counter on your profile.
Another common mistake is ignoring the rest of the placement process. DSA gets you past coding rounds, but many drives also filter on aptitude, and interviews include CS fundamentals (OOP, DBMS, operating systems, computer networks), projects and HR questions. Leave time for aptitude test preparation and for revising core subjects, and keep two or three solid projects ready to discuss.
Finally, many students over-invest in advanced topics like segment trees before mastering arrays, hashing and trees, which make up a large share of actual placement questions. Get the core strong first.
FAQ
Which DSA topics are most important for placements?
Arrays, strings and hashing come up most often, followed by sorting, binary search, recursion, linked lists, stacks and queues, and trees. Product companies add graphs, heaps and dynamic programming. Master the first group thoroughly before spending time on advanced topics such as segment trees, which rarely appear in campus coding rounds.
How many LeetCode problems are enough for placements?
For product companies, about 150-300 problems covering all core patterns is a realistic target, provided you can explain and re-solve them. For service company coding rounds, 100-150 problems focused on arrays, strings, hashing and basic recursion is usually enough. LeetCode's Top Interview 150 list is a good benchmark for product company preparation.
Which language is best for DSA in placements?
C++, Java and Python are all accepted in most coding tests and interviews. C++ and Java are popular for timed contests because of speed and rich standard libraries, while Python is concise and fine for interviews if you know its built-in data structures. Choose the language you know best and stick with it.
When should I start DSA preparation for placements?
Ideally about six months before your first placement drive, which for many BTech students means the start of the pre-final year. That leaves time to cover all core topics, do timed practice and revise. If you are starting later, focus first on arrays, strings, hashing, trees and standard DP patterns.
Is DSA required for service company jobs like TCS or Infosys?
Increasingly, yes, at least at a basic level. For example, TCS describes its NQT IT variant as testing advanced coding skills along with aptitude. Higher-paying roles at service companies usually involve harder coding rounds. Check each company's official careers page for the current test pattern, as it changes between hiring cycles.
How do I stop forgetting DSA problems I have solved?
Keep a tracker with the link, topic, pattern and a one-line key idea for each problem. Revisit problems you got wrong after a week and again after a month, and re-solve them without looking at your old code. Explaining solutions out loud also helps you remember the reasoning rather than the code.
Final thoughts
DSA preparation rewards consistency over intensity: follow a topic order, track and revisit problems, and practise explaining your approach. If you want a working engineer to review your plan or run a mock interview, book a session through Asuraa mentorship.
Related articles
How to Make an ATS-Friendly Resume in 8 Steps
Eight steps to build a resume that applicant tracking software can read, from format to keywords to a two-minute test.
What Is an ATS-Friendly Resume? Rules, Examples, Checklist
What an ATS-friendly resume means, why the formatting rules exist, and a checklist to test your own resume.
What Is an ATS? Applicant Tracking System Explained
A plain-English explanation of the applicant tracking system: what it does, how it reads your resume, and what it does not do.
Data Science Jobs for Freshers in India: A 12-Week Plan
Entry-level roles, must-have skills, and a 12-week plan to land your first data science job in India without falling for scams.