30 day
A day-by-day plan for coding interview prep, focused on data structures, algorithms, and problem-solving. Originally aimed at SDE-2; for SDE-3 depth, combine this plan with the expanded topic files in Foundations and the SDE-3 DSA Roadmap.
How to use
Follow the days in order (Week 1 → Week 4). Each week has a README and daily notes.
Go deeper: For each day’s topic, open the matching file in foundations/data-structures or foundations/algorithms for SDE-3 level content (pattern recognition, interview strategy, quick revision).
Mocks and roadmap: Use SDE3_DSA_ROADMAP.md for mock strategy and recommended problem order.
30-Day Coding Interview Preparation Plan
Week 1: Foundations of Data Structures
Day 1: Review Basic Data Structures
Arrays, Linked Lists, Stacks, and Queues.
Day 2: Practice Array Problems
Solve problems like two-sum, maximum subarray sum, etc.
Day 3: Linked List Problems
Focus on reversing a linked list, detecting cycles, merging lists.
Day 4: Stack and Queue Problems
Implement stack using queues and vice versa; solve problems like valid parentheses.
Day 5: Hash Tables
Understand hash functions and collision resolution techniques.
Solve problems like group anagrams and two-sum.
Day 6: Review Trees Basics
Binary Trees vs. Binary Search Trees.
Day 7: Tree Traversal Techniques
Implement in-order, pre-order, and post-order traversals.
Week 2: Advanced Data Structures and Algorithms
Day 8: Binary Search Trees (BST)
Solve problems related to BST operations (insertion, deletion).
Day 9: Heaps
Understand min-heaps and max-heaps; solve heap-related problems.
Day 10: Graph Basics
Understand representations (adjacency list/matrix) and basic traversal (DFS/BFS).
Day 11: Graph Algorithms
Implement Dijkstra’s algorithm and Bellman-Ford algorithm.
Day 12: Dynamic Programming Introduction
Understand the concept; solve simple DP problems like Fibonacci sequence.
Day 13: Intermediate Dynamic Programming
Solve problems like coin change and longest increasing subsequence.
Day 14: Review Week’s Topics
Revisit challenging problems; summarize key concepts learned.
Week 3: Problem-Solving Techniques
Day 15: Backtracking Concepts
Understand backtracking; solve problems like N-Queens and permutations.
Day 16: Greedy Algorithms
Learn greedy techniques; solve problems like activity selection and coin change.
Day 17: Recursion vs. Iteration
Practice converting recursive solutions to iterative ones.
Day 18: Bit Manipulation Techniques
Solve problems involving bitwise operations (e.g., single number).
Day 19: Advanced Graph Problems
Solve problems involving topological sorting and strongly connected components.
Day 20: Mock Interviews (1st Session)
Conduct mock interviews with peers or use platforms like Pramp or LeetCode.
Day 21: Review Mock Interview Feedback
Identify areas for improvement based on feedback received.
Week 4: Final Preparations
Day 22: Systematic Problem Solving Approach
Learn a structured approach for solving coding problems (e.g., understanding the problem, planning, coding, testing).
Day 23: Practice with Timed Challenges
Simulate interview conditions by solving problems within a time limit.
Day 24: Focus on Google-Specific Questions
Research common Google interview questions; practice those specifically.
Day 25: Review Common Patterns in Problems
Identify patterns in problems you’ve solved (e.g., sliding window, two pointers).
Day 26: Final Mock Interviews (2nd Session)
Conduct another round of mock interviews focusing on timing and pressure management.
Day 27: Revise Key Concepts & Mistakes
Go through notes of mistakes made during practice; reinforce learning.
Day 28: Relaxation Techniques Before Interviews
Learn stress management techniques (deep breathing, visualization).
Day 29: Final Review of Key Topics
Quickly revise important data structures and algorithms.
Day 30: Prepare Questions for Interviewers
Think about insightful questions to ask during your interview regarding the company culture or team dynamics.
Additional Resources
Books:
Cracking the Coding Interview by Gayle Laakmann McDowell.
Elements of Programming Interviews by Adnan Aziz et al.
Online Platforms:
LeetCode for practicing coding problems.
HackerRank for timed challenges.
GeeksforGeeks for explanations of algorithms and data structures.
By following this structured plan over the next month, you will build a strong base for coding interviews. Pair it with the Foundations topic files and SDE3_DSA_ROADMAP for SDE-3 level preparation.
Week index
Week 3
Problem-Solving Techniques (backtracking, greedy, recursion, bit, graphs, mocks)
Week 4
Final prep (problem-solving approach, timed practice, patterns, mocks, revision)
Last updated