DSA and Coding Interview
A thirty day, seventy five problem core plus a basics ladder and an advanced ladder, sequenced for AI and software engineering interviews. Seventy five problems, twenty easy and fifty five medium, with four review days. Target outcome: recognize patterns instantly and solve medium problems under time pressure in C++ or Python.
Overview
This track follows a thirty day plan of seventy five problems, about three per active day, with four review days. Topics run from arrays to graphs and dynamic programming, mirroring interview priority. For AI engineering roles, protect graphs, dynamic programming, trees, and sliding window in that order if time is short. The checkboxes below are the problems themselves, so checking one means you solved it. Each day also lists the concepts to learn, a self test to confirm understanding, and a just in time tip.
Use the practice dashboard in the app to solve each problem in C++ or Python against sample tests, then check it off here.
Basics ladder
A gentle warm up before day one. Build fluency before the core plan.
- Solve twenty very easy problems to build fluency before the core plan
Week 1: Arrays, strings, two pointers, sliding window
Eighteen problems. Focus on pattern recognition, linear scanning, and string operations that show up in AI interviews.
Day 1: Arrays, traversal, two pointers
0 of 3- Arrays basics and traversal
- The two pointer technique
- How does the two pointer approach reduce time complexity from order n squared to order n
- Write a brute force versus optimized trace for a sample array
- If arrays feel trivial, jump to medium array problems. If traversal feels shaky, do one extra traversal problem before day two.
Day 2: Prefix sum and in place manipulation
0 of 3- Prefix sum arrays
- In place manipulation
- What is a prefix sum array and when does it outperform brute force range queries
- If string reversal patterns are unclear, revisit split and join mechanics before day three.
Day 3: Sliding window, fixed and variable
0 of 3- Fixed and variable sliding windows
- The window invariant
- Explain the sliding window invariant. When should you shrink the window versus expand it
- Sliding window is heavily tested in AI roles for sequence data. Spend thirty extra minutes here if needed.
Day 4: Two pointers and containers
0 of 3- Container problems
- Sorting adjacent logic
- Prove why Container With Most Water requires shrinking from the shorter wall side
- If the two pointer greedy logic feels unintuitive, sketch the pointer movements on paper before coding.
Day 5: Sliding window with frequency maps
0 of 3- Frequency maps inside a window
- Updating a count instead of rebuilding it
- How does maintaining a character frequency map within a sliding window differ from rebuilding it each iteration
- These patterns appear in NLP preprocessing problems. Prioritize understanding over speed today.
Day 6: Prefix and difference arrays
0 of 3- Difference arrays and range updates in order one
- Can you reconstruct the original array from a prefix sum array
- What is a difference array and how does it handle range updates in order one
- A lighter day. Use the freed time to revisit any day one through five problem you could not solve optimally.
Day 7: Week 1 review
0 of 1- Can you identify sliding window versus two pointer versus prefix sum patterns instantly
- Write out time and space complexity for each of the eighteen problems solved
- If behind, catch up on days five and six. If ahead, preview hash table problems for week two.
Week 2: Hash tables, stacks, queues, linked lists, binary search
Sixteen problems. Focus on lookups, frequency counting, and monotonic structures.
Day 8: Hash tables, sets and maps
0 of 3- Sets and maps for lookup
- Collision risks in hash maps
- Why is a dict preferred over nested loops for frequency counting. What are collision risks
- Hash tables are the top tool for AI interview optimization problems. Review the lookup time versus space trade off now.
Day 9: Stacks and monotonic stacks
0 of 3- Monotonic stack
- Valid brackets
- Trace Asteroid Collision step by step with the stack. What invariant does the stack maintain
- If bracket and stack simulations are slow, practice dry running stack states on paper.
Day 10: Queues and deques
0 of 3- BFS foundation
- Sliding window maximum
- FIFO simulation
- Explain the difference between BFS with a queue and DFS with a stack. When would you use a deque
- Queue and deque problems bridge to graph BFS. Extra time here pays off in week three.
Day 11: Linked lists and fast slow pointers
0 of 3- Traversal
- Fast and slow pointers
- How does the tortoise and hare algorithm detect a cycle. What is the proof for the meeting point
- Linked list problems test pointer manipulation under pressure. Aim for fluency, not mastery.
Day 12: Linked lists with the dummy node
0 of 2- Two pointers on lists
- The dummy node technique
- Why use a dummy head node. Trace Merge Two Sorted Lists with pointer diagrams
- A lighter day on purpose. Review stacks and queues if days nine and ten felt rushed.
Day 13: Binary search
0 of 3- Classic binary search
- Rotated arrays
- Search on the answer space
- What are the three binary search templates. When is mid equals lo plus hi minus lo over two preferred
- Binary search on the answer space, like Koko, is a high frequency AI pattern. Understand it well.
Day 14: Week 2 review
0 of 1- Can you switch between stack, queue, and hash map implementations fluently
- For a frequency problem, choose between a sorted array, a heap, or a hash map and justify it
- If binary search still feels uncertain, carry it into the week three warm up before trees.
Week 3: Trees, tries, recursion, backtracking
Eighteen problems. Tree traversals, recursion patterns, and binary search trees are core AI interview themes.
Day 15: Binary trees and DFS
0 of 3- Inorder, preorder, postorder
- Recursive and iterative DFS
- Write recursive and iterative DFS for inorder traversal. What is the call stack equivalent of the explicit stack
- If recursion makes you anxious, write the base case and recursive case explicitly before typing code.
Day 16: Tree path problems and diameter
0 of 3- Path sums
- Diameter
- In Path Sum III, why use prefix sums with a hash map rather than brute force path enumeration
- If hard problems feel premature, skip and solve an extra medium instead. Depth before breadth.
Day 17: Binary search trees
0 of 3- BST properties
- Search and validation
- What properties distinguish a BST from a general binary tree. Why is BST lowest common ancestor order log n
- BST problems appear in AI feature store and sorted data retrieval contexts.
Day 18: Level order BFS
0 of 3- Level order traversal
- Right side view
- Implement level order traversal using a deque. How do you separate levels cleanly
- Tree BFS is directly analogous to graph BFS. Cement this mental model now.
Day 19: Tries
0 of 2- Prefix trees for string problems
- Implement a trie node class from scratch. Why is a trie more efficient than binary search for prefix lookups
- Tries are increasingly relevant for autocomplete and tokenization. Spend extra time if this is new.
Day 20: Recursion and backtracking
0 of 3- Subsets and combinations
- Pruning
- Trace the recursion tree for Generate Parentheses with n equal three. How many leaf nodes are there and why
- Backtracking appears in AI search and planning. Understanding pruning is linked to beam search.
Day 21: Week 3 review
0 of 1- Can you decide DFS versus BFS on a tree instantly
- Compare top down recursion that passes state down with bottom up recursion that returns state up
- If tries felt unclear on day nineteen, re implement the trie class from memory today.
Week 4: Graphs, dynamic programming, heaps, greedy
Seventeen problems. The highest priority topics for AI engineering roles.
Day 22: Graphs, BFS and DFS
0 of 3- Adjacency lists
- BFS and DFS traversal
- Implement BFS and DFS for an undirected graph from an adjacency list. How does each explore differently
- Graphs are the most tested topic for AI engineering roles. Allocate twenty percent more time this week if needed.
Day 23: Graph shortest path and bipartite
0 of 3- BFS shortest path
- Multi source BFS
- Why is BFS guaranteed to find the shortest path in an unweighted graph. Prove it by contradiction
- Multi source BFS, as in Rotting Oranges, is a distinct pattern from single source BFS. Note it explicitly.
Day 24: One dimensional dynamic programming
0 of 3- Fibonacci style recurrences
- Memoization
- Translate the recursive House Robber solution into a bottom up table. What is the recurrence relation
- DP is the second most tested topic in AI interviews. If recursion and memoization feel shaky, fix it today.
Day 25: Two dimensional dynamic programming
0 of 3- Grid DP
- String DP
- Draw the table for Edit Distance from horse to ros. What do the diagonal, left, and top cells represent
- Edit Distance is used in spell checking and sequence alignment. Understand it deeply, not just mechanically.
Day 26: Heaps and priority queues
0 of 3- Top k and median patterns
- Explain min heap versus max heap. How does heapq implement a max heap using negation. What is the cost of heapify versus repeated push
- Heaps appear in beam search top k retention and priority scheduling. A must know pattern.
Day 27: Greedy
0 of 2- Interval scheduling
- Greedy local maximum
- Why does the greedy local maximum strategy work for Jump Game II. Try a counterexample and show why greedy still holds
- Greedy correctness proofs are often asked verbally. Practice explaining your intuition aloud.
Week 5: Advanced topics and final review
Six problems plus a comprehensive review.
Day 28: Advanced graphs
0 of 3- Topological sort and Kahn algorithm
- Cycle detection
- Implement Kahn algorithm for topological sort. What does a cycle imply for the sort
- If you have pending medium DP or graph problems from earlier weeks, substitute one here.
Day 29: Bit manipulation and miscellaneous
0 of 3- XOR properties
- Bit counting
- Prove a XOR a equals zero and a XOR zero equals a. How does this solve Single Number in order n time and order one space
- Bit manipulation is low frequency but high signal. Interviewers use it to test fundamentals.
Day 30: Grand review and mock
0 of 3- Can you explain time and space complexity, walk through two test cases including an edge case, and discuss an alternative, all within twenty minutes
- If any category still feels weak, schedule two more targeted problems before the real interview.
Advanced ladder
A stretch set after day thirty for top tier interviews.
- A set of twenty harder problems for top tier interviews
Plan summary
Just in time learning rules
Resource master reference
Problem lists
Blind 75 for the essential pattern set
NeetCode 150 with video explanations
Grind 75 for a flexible weekly schedule
LeetCode 75 study plan
Books
Cracking the Coding Interview by Gayle Laakmann McDowell
Elements of Programming Interviews
Interview focus
Identify the pattern from the problem statement out loud
State time and space complexity before coding
Walk through two test cases including an edge case
Discuss an alternative approach and its trade offs
Solve a medium graph or DP problem in twenty minutes