SkillByAIOpen interactive version →

DSA Interview Patterns

Recognise the twenty or so patterns behind most coding interview questions and explain your solution clearly, with every solution written in Python and run against test cases.

Start course →

What you'll learn

Syllabus

How to Approach Coding Interviews

  1. A Repeatable Problem-Solving Method
  2. Big-O and Why It Matters
  3. Recognising Patterns

Arrays and Hashing

  1. Hash Map Lookups
  2. Prefix Sums
  3. Counting and Canonical Keys

Two Pointers and Sliding Windows

  1. Two Pointers
  2. Sliding Windows
  3. Monotonic Deques

Binary Search and Stacks

  1. Binary Search Done Right
  2. Binary Search on the Answer
  3. Stacks and Monotonic Stacks

Linked Lists and Trees

  1. Fast and Slow Pointers
  2. Tree Depth-First Search
  3. Tree Breadth-First Search

Graphs

  1. BFS for Shortest Paths
  2. Connected Components and Union-Find
  3. Topological Sort
  4. Weighted Shortest Paths

Heaps, Intervals and Greedy

  1. Heaps for Top-k
  2. Interval Problems
  3. Greedy Algorithms

Dynamic Programming and Backtracking

  1. One-Dimensional DP
  2. Two-Dimensional DP
  3. Backtracking
  4. An Interview Coding Checklist