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

  1. Books:

    • Cracking the Coding Interview by Gayle Laakmann McDowell.

    • Elements of Programming Interviews by Adnan Aziz et al.

  2. 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
Focus
README

Week 1

Foundations of Data Structures (arrays, lists, stack, queue, hashing, trees)

Week 2

Advanced DS & Algorithms (BST, heaps, graphs, DP intro)

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