Coding Interview Prep
DSA, SQL & competitive programming coding-interview prep
Explore Course Tools
Supercharge your learning with AI-powered tools and features
How You'll Learn
90 Courses
Every course in the Coding Interview Prep learning path.
Welcome to the Arena: Judges & Verdicts
You can submit your first solution to an online judge and read its verdict.
Python Warm-Up for DSA
Refresh your Python fundamentals so you can focus entirely on problem-solving during interviews. This course covers the built-in data types…
SQL Fundamentals Interview Questions
The most-asked SQL basics that screen out candidates in the first five minutes of an interview. Master what SQL is, how queries execute, an…
Fast I/O: Read Input Without Losing Points
You can read and print contest input fast enough to avoid time-limit losses.
SELECT and Column Expression Basics
Interview drills on projecting columns, aliasing, computed expressions, and DISTINCT. Covers the subtle scoping rules that trip up juniors.
Time and Space Complexity
Learn to analyse any algorithm's efficiency before you write a single line of code. This course introduces Big-O, Big-Theta, and Big-Omega…
Arrays and the Two-Pointer Technique
Arrays are the most common data structure in coding interviews. This course starts with essential array operations in Python and then dives…
WHERE Clause Filtering Gotchas
Classic filtering interview traps: operator precedence, BETWEEN boundaries, IN vs OR, and pattern matching. Learn why a filter that looks r…
Big-O on the Clock: Will It Pass?
You can estimate an algorithm's running time from the constraints before coding.
Strings and Pattern Matching
String manipulation problems appear in nearly every coding interview round. This course covers Python's rich string API, sliding-window tec…
Arrays You Can Trust
You can scan, build, and transform Python lists for contest tasks.
ORDER BY, LIMIT and Top-N Questions
Sorting and pagination interview questions, including stable ordering, multi-key sorts, and the cross-dialect way to fetch the top N rows.
Strings That Behave
You can manipulate and inspect strings to solve text-based problems.
Sorting Algorithms
Understanding sorting at the implementation level gives you vocabulary to discuss trade-offs confidently in interviews. This course impleme…
Aggregate Functions Interview Drills
COUNT, SUM, AVG, MIN, MAX and their NULL behavior under interview scrutiny. The difference between COUNT(*) and COUNT(column) is a guarante…
Introduction to INNER JOIN
The join interviewers ask first. Build a precise mental model of how INNER JOIN matches rows, multiplies on duplicates, and where the ON pr…
Binary Search Mastery
Binary search is far more powerful than its textbook definition suggests. This course covers the classic implementation, then extends it to…
Two Pointers: Sweep the Array
You can solve pair and subarray problems with the two-pointer technique.
Prefix Sums: Range Queries in O(1)
You can answer subarray-sum queries instantly with prefix arrays.
LEFT, RIGHT and FULL OUTER JOINs
Outer join interview questions: preserving unmatched rows, finding missing records, and the anti-join pattern interviewers love.
Linked Lists from Scratch
Linked lists test your ability to manipulate pointers and reason about memory without Python's built-in conveniences. This course builds a…
Stacks and Queues in Action
Stacks and queues are the backbone of DFS, BFS, expression parsing, and undo systems. This course builds both from Python lists and collect…
CROSS JOIN, SELF JOIN and Join Patterns
The joins that surprise candidates. Master Cartesian products, joining a table to itself, and recognizing which join a problem really needs.
Sorting & Comparators
You can sort by custom keys and use order to simplify problems.
Binary Search the Answer
You can search sorted data and binary-search over a numeric answer space.
GROUP BY and HAVING Interview Traps
Grouping is where interviews separate juniors from mid-levels. Learn the GROUP BY rules, HAVING vs WHERE, and the non-aggregated-column err…
Hash Maps and Sets
Hash maps transform O(n) linear scans into O(1) lookups and are the secret weapon behind many optimal interview solutions. This course cove…
NULL Handling Interview Questions
NULL is the number one source of wrong answers in SQL interviews. Master three-valued logic, NULL-safe comparisons, and COALESCE.
Hashing: Sets, Maps & Counters
You can use hash structures for O(1) lookups, counting, and dedup.
Recursion and the Call Stack
Recursion is the foundation of tree traversal, backtracking, and divide-and-conquer. This course demystifies how the call stack grows and s…
Subqueries Deep Dive
Scalar, row, and table subqueries as interviewers present them. Know where each can appear and when a subquery is the cleanest answer.
Greedy: When Local Choices Win
You can recognize and prove simple greedy strategies for contest tasks.
Trees: Traversals and Paths
Binary trees appear in over a quarter of LeetCode medium and hard problems. This course builds a TreeNode class, implements all four traver…
Simulation: Code the Rules Exactly
You can translate intricate problem rules into a correct step-by-step simulation.
Binary Search Trees
BSTs combine the ordering property of sorted arrays with the dynamic insertion of linked lists. This course covers BST insert, search, and…
Correlated Subqueries
The subquery that runs once per outer row. Recognizing, writing, and rewriting correlated subqueries is a core mid-level interview skill.
Recursion & Backtracking
You can explore solution spaces with recursion and prune dead branches.
Common Table Expressions (CTEs)
WITH clauses for readable, reusable query logic. Interviewers expect you to refactor nested subqueries into clean CTEs.
Heaps and Priority Queues
Heaps power streaming-median, top-k-elements, and Dijkstra's algorithm. This course explains the heap property, implements a min-heap from…
Recursive CTEs and Hierarchies
Recursive WITH for tree and graph traversal. Org charts, bill-of-materials, and number-series generation are staple advanced questions.
Graphs: BFS and DFS
Graph problems are ubiquitous in system-design and algorithm interviews. This course represents graphs as adjacency lists and adjacency mat…
Complete Search Without Fear
You can decide when brute force fits the constraints and enumerate efficiently.
Dynamic Programming Foundations
Dynamic programming intimidates most candidates, but it reduces to two recognisable ingredients: overlapping sub-problems and optimal subst…
Stacks, Queues & Deque
You can choose the right linear structure and use it for classic patterns.
Window Functions: ROW_NUMBER, RANK, DENSE_RANK
Ranking window functions, the most-tested advanced SQL topic in interviews. Understand the difference the three ranking functions produce o…
DP Patterns: 1D Problems
Many interview DP problems reduce to a one-dimensional array of sub-problem answers. This course identifies the key 1D DP patterns — linear…
Window Functions: LAG, LEAD and NTILE
Offset and bucketing window functions for comparing rows and distributing data into tiers. Period-over-period change is a guaranteed analys…
Sliding Window Mastery
You can solve subarray and substring problems with expanding and shrinking windows.
Intervals: Merge, Sweep & Schedule
You can sort and sweep intervals to merge, count overlaps, and schedule.
Running Totals and Moving Averages
Window frame clauses for cumulative and rolling calculations. ROWS vs RANGE framing is a precise mid-level distinction interviewers probe.
DP Patterns: 2D Grid Problems
2D DP tables model problems where the state depends on two independent indices, such as two sequences being compared or a grid being naviga…
Number Theory Toolkit
You can apply GCD, sieves, and primality to math-heavy contest problems.
Top-N per Group and Deduplication
Two of the highest-frequency interview problems solved cleanly with window functions: top item per category and removing duplicate rows.
Backtracking: Search and Enumerate
Backtracking systematically explores every candidate solution and abandons branches the moment they violate constraints. This course teache…
Nth Highest Salary and Ranking Puzzles
The interview question every candidate gets: second highest salary, then Nth highest, with all the edge cases interviewers add.
Modular Arithmetic & Combinatorics
You can compute large counts under a modulus using inverses and factorials.
Greedy Algorithms
Greedy algorithms make locally optimal choices at each step and, when applicable, produce a globally optimal result. This course develops t…
Set Operations: UNION, INTERSECT, EXCEPT
Combining result sets correctly. UNION vs UNION ALL, column compatibility rules, and using set operations to compare datasets.
Divide and Conquer
Divide and conquer splits a problem into independent sub-problems, solves each recursively, and combines the results. This course goes beyo…
Bit Manipulation Power-Ups
You can use bitwise tricks for sets, masks, and constant-time operations.
Graphs Intro: BFS & DFS
You can represent graphs and traverse them with breadth-first and depth-first search.
Advanced DP: Intervals and Palindromes
Interval DP is a powerful pattern where the sub-problem is defined by two endpoints of a range, enabling optimal solutions for palindrome p…
Gaps and Islands Problems
The advanced pattern-recognition problem class: finding consecutive runs and the gaps between them. A senior-level signal in SQL interviews.
Consecutive Days and Streak Analysis
Streak and run-length problems: consecutive login days, winning streaks, and the LeetCode-style three-consecutive-rows question.
Advanced DP: Knapsack Variants
The knapsack family of problems is one of the most prolific DP archetypes in interviews. This course covers 0/1 knapsack, unbounded knapsac…
Shortest Paths: Dijkstra & Friends
You can compute shortest paths on weighted graphs with the right algorithm.
Dynamic Programming Foundations
You can identify overlapping subproblems and write 1D DP recurrences.
Shortest Path Algorithms
Shortest-path reasoning appears in network routing, word-ladder, and cheapest-flight problems. This course implements Dijkstra's algorithm…
Pivot and Unpivot Techniques
Reshaping data between long and wide form. Conditional aggregation pivots and the reverse unpivot are common reporting-interview asks.
Topological Sort and SCCs
Topological sort orders a DAG so that every edge points forward — it is essential for course scheduling, build systems, and dependency reso…
Date, Time and String Interview Questions
Date arithmetic, truncation, and string manipulation as posed in interviews, with cross-dialect awareness of function names.
Knapsack & 2D DP
You can model resource-limited choices with knapsack-style 2D DP.
DP on Grids & Strings
You can solve path-counting and edit-distance problems with grid and string DP.
Cohort and Retention Analysis SQL
Product-analytics interview queries: building cohorts, computing retention curves, and the self-join versus window approaches.
Tries and String Algorithms
Tries (prefix trees) solve autocomplete, spell-check, and IP routing in ways that hash maps cannot. This course builds a TrieNode class sup…
Funnel and A/B Test Analysis SQL
Event-funnel conversion and experiment-analysis queries that data-analyst interviews lean on heavily.
Union-Find and Disjoint Sets
Union-Find (Disjoint Set Union) offers near-constant-time connectivity queries and is the cleanest solution to problems involving dynamic g…
Union-Find (DSU) & Spanning Trees
You can merge sets with DSU and build minimum spanning trees.
Query Optimization and EXPLAIN
Reading execution plans and explaining why a query is slow, the senior differentiator in technical interviews.
Bit Manipulation Tricks
Bit manipulation lets you solve certain problems in O(1) or O(n) with no extra space by exploiting the binary representation of integers. T…
Fenwick & Segment Trees
You can answer dynamic range queries and updates in logarithmic time.
Indexing Strategy Questions
Index design as interviewers test it: which columns to index, composite order, covering indexes, and when indexes hurt.
Advanced Graphs: Order & Structure
You can topologically order DAGs and decompose graphs into strongly connected components.
Monotonic Stacks and Sliding Window Maximum
Monotonic stacks and deques maintain a sorted invariant while processing elements left to right, enabling O(n) solutions to problems that w…
String Algorithms for Contests
You can match patterns fast with KMP, hashing, and tries.
System Design for Coding Interviews
Many senior interviews include a 30-45 minute system design round where you must sketch scalable architectures on a whiteboard. This course…
Transactions, ACID and Isolation Levels
Concurrency interview questions: ACID guarantees, the four isolation levels, and the anomalies each prevents.
FAANG Patterns and Mock Interview
This capstone course consolidates every pattern from the track into a structured problem-solving playbook. You will learn to identify which…
Endgame: Game Theory, MITM & Contest Craft
You can apply game theory, meet-in-the-middle, and a debugging routine under contest pressure.
Schema Design, Normalization and Mock Interviews
Capstone course on database modeling and a set of full mock interview problems. Normalization, star schemas, and end-to-end problem solving.
Frequently Asked Questions
Is the Coding Interview Prep course free?
Yes. You can start the Coding Interview Prep course for free and complete its interactive lessons at no cost. An optional PRO subscription unlocks advanced AI tools and a shareable certificate.
Do I need prior experience to learn INTERVIEW?
No. The course begins with the fundamentals and gradually moves to more advanced topics, so you can start even with no prior INTERVIEW experience.
How will I learn INTERVIEW on CoddyKit?
You learn by doing. Short interactive lessons pair a clear explanation with a hands-on coding exercise that runs in real time, and a 24/7 AI tutor gives personalized help whenever you get stuck.
Do I get a certificate for completing Coding Interview Prep?
Yes. PRO learners can take an exam and earn a shareable certificate of completion with a verifiable code for the Coding Interview Prep course.
Can I learn INTERVIEW on my phone?
Yes. CoddyKit is available on the web and as native iOS and Android apps, so you can learn INTERVIEW on any device and your progress syncs across them.
Start Coding Interview Prep Now
Join thousands of learners mastering programming with AI-powered lessons.