Back to roadmaps

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.

00 of 105 topics

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.

0 of 6
Build
  • 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
Concepts
  • Arrays basics and traversal
  • The two pointer technique
Self test
  • 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
JIT tip
  • 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
Concepts
  • Prefix sum arrays
  • In place manipulation
Self test
  • What is a prefix sum array and when does it outperform brute force range queries
JIT tip
  • If string reversal patterns are unclear, revisit split and join mechanics before day three.

Day 3: Sliding window, fixed and variable

0 of 3
Concepts
  • Fixed and variable sliding windows
  • The window invariant
Self test
  • Explain the sliding window invariant. When should you shrink the window versus expand it
JIT tip
  • 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
Concepts
  • Container problems
  • Sorting adjacent logic
Self test
  • Prove why Container With Most Water requires shrinking from the shorter wall side
JIT tip
  • 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
Concepts
  • Frequency maps inside a window
  • Updating a count instead of rebuilding it
Self test
  • How does maintaining a character frequency map within a sliding window differ from rebuilding it each iteration
JIT tip
  • These patterns appear in NLP preprocessing problems. Prioritize understanding over speed today.

Day 6: Prefix and difference arrays

0 of 3
Concepts
  • Difference arrays and range updates in order one
Self test
  • 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
JIT tip
  • 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
Self test
  • 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
JIT tip
  • 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
Concepts
  • Sets and maps for lookup
  • Collision risks in hash maps
Self test
  • Why is a dict preferred over nested loops for frequency counting. What are collision risks
JIT tip
  • 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
Concepts
  • Monotonic stack
  • Valid brackets
Self test
  • Trace Asteroid Collision step by step with the stack. What invariant does the stack maintain
JIT tip
  • If bracket and stack simulations are slow, practice dry running stack states on paper.

Day 10: Queues and deques

0 of 3
Concepts
  • BFS foundation
  • Sliding window maximum
  • FIFO simulation
Self test
  • Explain the difference between BFS with a queue and DFS with a stack. When would you use a deque
JIT tip
  • 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
Concepts
  • Traversal
  • Fast and slow pointers
Self test
  • How does the tortoise and hare algorithm detect a cycle. What is the proof for the meeting point
JIT tip
  • Linked list problems test pointer manipulation under pressure. Aim for fluency, not mastery.

Day 12: Linked lists with the dummy node

0 of 2
Concepts
  • Two pointers on lists
  • The dummy node technique
Self test
  • Why use a dummy head node. Trace Merge Two Sorted Lists with pointer diagrams
JIT tip
  • A lighter day on purpose. Review stacks and queues if days nine and ten felt rushed.

Day 13: Binary search

0 of 3
Concepts
  • Classic binary search
  • Rotated arrays
  • Search on the answer space
Self test
  • What are the three binary search templates. When is mid equals lo plus hi minus lo over two preferred
JIT tip
  • 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
Self test
  • 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
JIT tip
  • 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
Concepts
  • Inorder, preorder, postorder
  • Recursive and iterative DFS
Self test
  • Write recursive and iterative DFS for inorder traversal. What is the call stack equivalent of the explicit stack
JIT tip
  • 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
Concepts
  • Path sums
  • Diameter
Self test
  • In Path Sum III, why use prefix sums with a hash map rather than brute force path enumeration
JIT tip
  • If hard problems feel premature, skip and solve an extra medium instead. Depth before breadth.

Day 17: Binary search trees

0 of 3
Concepts
  • BST properties
  • Search and validation
Self test
  • What properties distinguish a BST from a general binary tree. Why is BST lowest common ancestor order log n
JIT tip
  • BST problems appear in AI feature store and sorted data retrieval contexts.

Day 18: Level order BFS

0 of 3
Concepts
  • Level order traversal
  • Right side view
Self test
  • Implement level order traversal using a deque. How do you separate levels cleanly
JIT tip
  • Tree BFS is directly analogous to graph BFS. Cement this mental model now.

Day 19: Tries

0 of 2
Concepts
  • Prefix trees for string problems
Self test
  • Implement a trie node class from scratch. Why is a trie more efficient than binary search for prefix lookups
JIT tip
  • Tries are increasingly relevant for autocomplete and tokenization. Spend extra time if this is new.

Day 20: Recursion and backtracking

0 of 3
Concepts
  • Subsets and combinations
  • Pruning
Self test
  • Trace the recursion tree for Generate Parentheses with n equal three. How many leaf nodes are there and why
JIT tip
  • Backtracking appears in AI search and planning. Understanding pruning is linked to beam search.

Day 21: Week 3 review

0 of 1
Self test
  • 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
JIT tip
  • 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
Concepts
  • Adjacency lists
  • BFS and DFS traversal
Self test
  • Implement BFS and DFS for an undirected graph from an adjacency list. How does each explore differently
JIT tip
  • 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
Concepts
  • BFS shortest path
  • Multi source BFS
Self test
  • Why is BFS guaranteed to find the shortest path in an unweighted graph. Prove it by contradiction
JIT tip
  • 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
Concepts
  • Fibonacci style recurrences
  • Memoization
Self test
  • Translate the recursive House Robber solution into a bottom up table. What is the recurrence relation
JIT tip
  • 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
Concepts
  • Grid DP
  • String DP
Self test
  • Draw the table for Edit Distance from horse to ros. What do the diagonal, left, and top cells represent
JIT tip
  • 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
Concepts
  • Top k and median patterns
Self test
  • Explain min heap versus max heap. How does heapq implement a max heap using negation. What is the cost of heapify versus repeated push
JIT tip
  • Heaps appear in beam search top k retention and priority scheduling. A must know pattern.

Day 27: Greedy

0 of 2
Concepts
  • Interval scheduling
  • Greedy local maximum
Self test
  • Why does the greedy local maximum strategy work for Jump Game II. Try a counterexample and show why greedy still holds
JIT tip
  • 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
Concepts
  • Topological sort and Kahn algorithm
  • Cycle detection
Self test
  • Implement Kahn algorithm for topological sort. What does a cycle imply for the sort
JIT tip
  • If you have pending medium DP or graph problems from earlier weeks, substitute one here.

Day 29: Bit manipulation and miscellaneous

0 of 3
Concepts
  • XOR properties
  • Bit counting
Self test
  • 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
JIT tip
  • Bit manipulation is low frequency but high signal. Interviewers use it to test fundamentals.

Day 30: Grand review and mock

0 of 3
Self test
  • Can you explain time and space complexity, walk through two test cases including an edge case, and discuss an alternative, all within twenty minutes
JIT tip
  • 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.

0 of 7
Build
  • A set of twenty harder problems for top tier interviews

Plan summary

0 of 6

Just in time learning rules

0 of 5

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