Skip to content

Level 1 · Entry Foundations

Goal: build the toolkit that the majority of coding-interview problems are made from. By the end of this level you should be able to look at a problem about an array or a string and quickly list two or three candidate approaches, estimate the complexity of each, and code the best one without hesitating over the basics.

Every topic here is small on its own. The skill being trained is recognition: noticing that "longest substring with at most k distinct characters" is a sliding window, that "pair summing to a target in a sorted array" is two pointers, and that "have I seen this before?" is a hash set.

Modules

  1. Big-O & Complexity Analysis — counting work, dominant terms, amortized cost, and reading constraints to guess the target complexity
  2. Arrays & Strings — in-place updates, the cost of slicing and concatenation, and the "build a list then join" habit
  3. Hash Maps & Sets — trading memory for time, frequency counting, and how hash tables really store keys
  4. Two Pointers — opposite-end and fast/slow pointers, and the invariant that makes them correct
  5. Sliding Window — fixed and variable windows, and why each element enters and leaves once
  6. Stacks & Queues — matching brackets, evaluating expressions, and deque for O(1) queues
  7. Linked Lists — pointer surgery, dummy heads, reversal, and cycle detection
  8. Recursion Fundamentals — base cases, the call stack, recursion trees, and Python's recursion limit
  9. Sorting & Binary Search — what sorted guarantees, and binary search on answers, not just arrays
  10. Project — Timed Practice Set 1 — six problems under a clock, with full walkthroughs

What you need before starting

  • Working Python 3: lists, dicts, sets, loops, functions, and slicing. You do not need classes beyond a simple node class, which lesson 7 introduces.
  • A way to run a Python file (python3 file.py). An editor with no autocomplete is closer to interview conditions, but not required.
  • Comfort with high-school algebra (logarithms appear in lesson 1; the lesson explains what you need).

By the end of this level you will have solved roughly thirty problems across the worked examples and exercises, and you will have timed yourself on a mixed set.