Cracking the Data Structures and Algorithms (DSA) round is the single most important hurdle for any Indian fresher aiming for a tech role. With companies from TCS to Flipkart filtering thousands of applicants through rigorous coding tests, a systematic preparation strategy isn't just helpful—it's essential. This guide breaks down the exact roadmap, from foundational concepts to on-the-spot problem-solving, tailored for the Indian campus placement and off-campus drive landscape.
Understanding the DSA Round: What Companies Actually Test
The DSA round, often called the "coding round" or "technical interview," is designed to assess your problem-solving aptitude, coding proficiency, and understanding of core computer science principles. It's less about memorizing syntax and more about demonstrating a logical, optimized approach. For Indian service giants like Infosys and Wipro, the focus might be on basic problem patterns and correctness, while product-based companies like Razorpay, Swiggy, and Zomato will push for optimal solutions under time and space complexity constraints.
The typical structure involves:
- Online Assessment (OA): A 60-90 minute test on platforms like HackerRank or Codility, featuring 2-3 problems of varying difficulty.
- Technical Interview (Virtual or In-Person): A deeper dive where you'll explain your thought process aloud, write code on a shared editor, and handle follow-up questions and edge cases.
Ignoring DSA preparation can cost you opportunities, even if your CGPA is stellar. Recruiters use it as a reliable proxy for analytical thinking—a skill commanding premium starting packages, often ranging from ₹6-10 LPA for service roles to ₹15-25 LPA+ in top product-based firms for freshers.
Building Your Core DSA Foundation from Scratch
Before diving into problem-solving, you must solidify your understanding of fundamental data structures. A shaky foundation will crumble under pressure. Start with these, in order:
- Arrays & Strings: The absolute basics. Master traversal, searching, sorting (like two-pointer and sliding window techniques), and common string manipulations.
- Linked Lists: Understand singly, doubly, and circular lists. Focus on pointer manipulation, reversal, and cycle detection problems.
- Stacks & Queues: Know their LIFO and FIFO properties inside out. Practice implementation using arrays and linked lists, and solve classic problems like parenthesis matching and LRU Cache.
- HashMaps (Hash Tables): This is arguably the most important data structure for interviews. Understand hashing, collision resolution, and how to use it for efficient lookups to reduce time complexity from O(n²) to O(n).
For theory, Indian resources are unparalleled. NPTEL's "Programming, Data Structures and Algorithms" course is a gold standard. On YouTube, Gate Smashers and Jenny's Lectures provide crystal-clear explanations of DSA concepts, often aligning with university syllabi. Complement this with the interactive practice on freeCodeCamp.
Mastering Algorithms and Problem-Solving Patterns
Once data structures are clear, layer in algorithms. This is where you learn to combine tools to build efficient solutions.
- Sorting & Searching: Go beyond knowing Bubble Sort. Understand the mechanics and use-cases of Quick Sort, Merge Sort, and Binary Search intimately.
- Recursion & Backtracking: Develop the ability to break problems into smaller, self-similar sub-problems. Practice tree traversals, generating permutations, and classic puzzles like N-Queens.
- Dynamic Programming (DP): Often a differentiator. Start with memoization, understand the concept of overlapping subproblems, and master foundational problems like Fibonacci, Knapsack, and Longest Common Subsequence.
- Graph Algorithms: Essential for companies working on networks, maps, or recommendations. Learn BFS, DFS, and algorithms for shortest path (Dijkstra's).
The key is to recognize problem-solving patterns. Most interview questions are variations of known patterns:
- Two Pointers (for sorted arrays/linked lists)
- Sliding Window (for subarray/substring problems)
- Fast & Slow Pointers (for cycle detection)
- Breadth-First Search (for level-order traversal or shortest path in unweighted graphs)
The 90-Day Intensive Practice Plan
Theory without practice is useless. A structured, consistent practice schedule is non-negotiable. Follow this 90-day plan:
- Days 1-30: Topic-Wise Mastery. Dedicate 2-3 days to each core topic (e.g., Arrays, Linked Lists, Recursion). Solve 15-20 curated problems of easy and medium difficulty for each topic on LeetCode or GeeksforGeeks. Indian creators like Striver (takeUforward) and Apna College have excellent topic-wise sheets and video solutions that explain the "why" behind the code.
- Days 31-60: Mixed Bag & Mock Tests. Stop solving by topic. Start doing 2-3 random problems daily from platforms like InterviewBit, which is highly popular in India. Begin giving weekly mock tests on CodeChef or LeetCode contests to simulate real pressure. Analyze every mistake.
- Days 61-90: Company-Specific & Revision. Target your dream companies. Platforms like GeeksforGeeks and LeetCode have company-specific question tags. Solve problems previously asked at Accenture, HCL, Freshworks, or Paytm. In the final weeks, revise all your notes and re-solve problems you previously found challenging.
Acing the Live Coding Interview
Clearing the online test gets you to the interview, where communication is 50% of the battle. Your interviewer from Zerodha or Flipkart wants to see how you think.
- Clarify the Problem: Before writing a single line of code, ask questions. Confirm input/output formats, edge cases (empty input, large numbers, negative values), and assumptions.
- Think Aloud: Verbally walk through a brute-force approach first, then optimize. Say, "First, I could solve this with a nested loop in O(n²) time, but that's inefficient. Since we need faster lookups, perhaps a HashMap can reduce it to O(n)."
- Write Clean Code: Use meaningful variable names, add brief comments for complex logic, and break code into functions. Write production-ready code, not just contest code.
- Test Thoroughly: Dry run your code with the given example, then with edge cases. Discuss time (O-notation) and space complexity honestly.
Practice this flow repeatedly with a peer or by recording yourself. YouTube channels like CodeWithHarry often demonstrate this "thinking aloud" approach in a very relatable way for Indian students.
Next Steps
Your DSA journey is a marathon, not a sprint. Start today by choosing one resource and sticking to it for a week. To find structured, free courses that can supplement your practice, browse computer science courses on LearnBuddy. If you need to strengthen your programming fundamentals first, explore these free programming fundamentals courses. Remember, consistency beats intensity—solving two problems daily for 100 days is far better than solving 200 in a single weekend and burning out.
Share this article
Keep learning on UnboxCareer
Explore free courses, certificates, and career roadmaps curated for Indian students.



