Coding Interview Prep
DSA, SQL & competitive programming coding-interview prep. A CoddyKit learning path of 90 short courses and 360 interactive lessons, with a 24/7 AI tutor at your side.
- Courses
- 90
- Lessons
- 360
- Interactive steps
- 4,680
- Free to start
- Course 1
90 courses in this path
Every course in the Coding Interview Prep path, in learning order. The first one is free.
The most-asked SQL basics that screen out candidates in the first five minutes of an interview. Master what SQL is, how queries execute, and the vocabulary interviewers expect.
Refresh your Python fundamentals so you can focus entirely on problem-solving during interviews. This course covers the built-in data types, comprehensions, and utility functions that appear constant…
You can submit your first solution to an online judge and read its verdict.
Interview drills on projecting columns, aliasing, computed expressions, and DISTINCT. Covers the subtle scoping rules that trip up juniors.
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 notation with visual intuition and worked examples across lo…
You can read and print contest input fast enough to avoid time-limit losses.
Classic filtering interview traps: operator precedence, BETWEEN boundaries, IN vs OR, and pattern matching. Learn why a filter that looks right returns wrong rows.
Arrays are the most common data structure in coding interviews. This course starts with essential array operations in Python and then dives deep into the two-pointer pattern, which eliminates nested…
You can estimate an algorithm's running time from the constraints before coding.
Sorting and pagination interview questions, including stable ordering, multi-key sorts, and the cross-dialect way to fetch the top N rows.
String manipulation problems appear in nearly every coding interview round. This course covers Python's rich string API, sliding-window techniques for substring searches, and anagram/permutation dete…
You can scan, build, and transform Python lists for contest tasks.
COUNT, SUM, AVG, MIN, MAX and their NULL behavior under interview scrutiny. The difference between COUNT(*) and COUNT(column) is a guaranteed question.
Understanding sorting at the implementation level gives you vocabulary to discuss trade-offs confidently in interviews. This course implements bubble, insertion, merge, and quick sort from scratch in…
You can manipulate and inspect strings to solve text-based problems.
The join interviewers ask first. Build a precise mental model of how INNER JOIN matches rows, multiplies on duplicates, and where the ON predicate belongs.
Binary search is far more powerful than its textbook definition suggests. This course covers the classic implementation, then extends it to rotated arrays, unknown-size lists, and answer-space binary…
You can solve pair and subarray problems with the two-pointer technique.
Outer join interview questions: preserving unmatched rows, finding missing records, and the anti-join pattern interviewers love.
Linked lists test your ability to manipulate pointers and reason about memory without Python's built-in conveniences. This course builds a singly linked list from a Node class, then tackles the canon…
You can answer subarray-sum queries instantly with prefix arrays.
The joins that surprise candidates. Master Cartesian products, joining a table to itself, and recognizing which join a problem really needs.
Stacks and queues are the backbone of DFS, BFS, expression parsing, and undo systems. This course builds both from Python lists and collections.deque, then solves classic interview problems including…
You can sort by custom keys and use order to simplify problems.
Grouping is where interviews separate juniors from mid-levels. Learn the GROUP BY rules, HAVING vs WHERE, and the non-aggregated-column error.
Hash maps transform O(n) linear scans into O(1) lookups and are the secret weapon behind many optimal interview solutions. This course covers collision handling, load factor, and Python dict internal…
You can search sorted data and binary-search over a numeric answer space.
NULL is the number one source of wrong answers in SQL interviews. Master three-valued logic, NULL-safe comparisons, and COALESCE.
Recursion is the foundation of tree traversal, backtracking, and divide-and-conquer. This course demystifies how the call stack grows and shrinks with each recursive call, establishes a reliable thre…
You can use hash structures for O(1) lookups, counting, and dedup.
Scalar, row, and table subqueries as interviewers present them. Know where each can appear and when a subquery is the cleanest answer.
Binary trees appear in over a quarter of LeetCode medium and hard problems. This course builds a TreeNode class, implements all four traversal orders both recursively and iteratively, and solves path…
You can recognize and prove simple greedy strategies for contest tasks.
The subquery that runs once per outer row. Recognizing, writing, and rewriting correlated subqueries is a core mid-level interview skill.
BSTs combine the ordering property of sorted arrays with the dynamic insertion of linked lists. This course covers BST insert, search, and delete operations, validates BST correctness, and solves pro…
You can translate intricate problem rules into a correct step-by-step simulation.
WITH clauses for readable, reusable query logic. Interviewers expect you to refactor nested subqueries into clean CTEs.
Heaps power streaming-median, top-k-elements, and Dijkstra's algorithm. This course explains the heap property, implements a min-heap from scratch using an array, and uses Python's heapq module to so…
You can explore solution spaces with recursion and prune dead branches.
Recursive WITH for tree and graph traversal. Org charts, bill-of-materials, and number-series generation are staple advanced questions.
Graph problems are ubiquitous in system-design and algorithm interviews. This course represents graphs as adjacency lists and adjacency matrices, then solves connected-components, number-of-islands,…
You can decide when brute force fits the constraints and enumerate efficiently.
Ranking window functions, the most-tested advanced SQL topic in interviews. Understand the difference the three ranking functions produce on ties.
Dynamic programming intimidates most candidates, but it reduces to two recognisable ingredients: overlapping sub-problems and optimal substructure. This course establishes the DP mindset, introduces…
You can choose the right linear structure and use it for classic patterns.
Offset and bucketing window functions for comparing rows and distributing data into tiers. Period-over-period change is a guaranteed analyst question.
Many interview DP problems reduce to a one-dimensional array of sub-problem answers. This course identifies the key 1D DP patterns — linear scan, decision at each step, and sliding window DP — and ap…
You can solve subarray and substring problems with expanding and shrinking windows.
Window frame clauses for cumulative and rolling calculations. ROWS vs RANGE framing is a precise mid-level distinction interviewers probe.
2D DP tables model problems where the state depends on two independent indices, such as two sequences being compared or a grid being navigated. This course solves unique paths, minimum path sum, long…
You can sort and sweep intervals to merge, count overlaps, and schedule.
Two of the highest-frequency interview problems solved cleanly with window functions: top item per category and removing duplicate rows.
Backtracking systematically explores every candidate solution and abandons branches the moment they violate constraints. This course teaches the universal backtracking template and applies it to subs…
You can apply GCD, sieves, and primality to math-heavy contest problems.
The interview question every candidate gets: second highest salary, then Nth highest, with all the edge cases interviewers add.
Greedy algorithms make locally optimal choices at each step and, when applicable, produce a globally optimal result. This course develops the intuition for when a greedy approach is correct, proves i…
You can compute large counts under a modulus using inverses and factorials.
Combining result sets correctly. UNION vs UNION ALL, column compatibility rules, and using set operations to compare datasets.
Divide and conquer splits a problem into independent sub-problems, solves each recursively, and combines the results. This course goes beyond merge sort to apply the paradigm to count inversions, clo…
You can use bitwise tricks for sets, masks, and constant-time operations.
The advanced pattern-recognition problem class: finding consecutive runs and the gaps between them. A senior-level signal in SQL interviews.
Interval DP is a powerful pattern where the sub-problem is defined by two endpoints of a range, enabling optimal solutions for palindrome partitioning, matrix chain multiplication, and burst balloons…
You can represent graphs and traverse them with breadth-first and depth-first search.
Streak and run-length problems: consecutive login days, winning streaks, and the LeetCode-style three-consecutive-rows question.
The knapsack family of problems is one of the most prolific DP archetypes in interviews. This course covers 0/1 knapsack, unbounded knapsack, partition-equal-subset-sum, and target-sum, showing how e…
You can compute shortest paths on weighted graphs with the right algorithm.
Reshaping data between long and wide form. Conditional aggregation pivots and the reverse unpivot are common reporting-interview asks.
Shortest-path reasoning appears in network routing, word-ladder, and cheapest-flight problems. This course implements Dijkstra's algorithm with a min-heap, Bellman-Ford for negative weights, and Floy…
You can identify overlapping subproblems and write 1D DP recurrences.
Date arithmetic, truncation, and string manipulation as posed in interviews, with cross-dialect awareness of function names.
Topological sort orders a DAG so that every edge points forward — it is essential for course scheduling, build systems, and dependency resolution. This course implements Kahn's BFS-based algorithm an…
You can model resource-limited choices with knapsack-style 2D DP.
Product-analytics interview queries: building cohorts, computing retention curves, and the self-join versus window approaches.
Tries (prefix trees) solve autocomplete, spell-check, and IP routing in ways that hash maps cannot. This course builds a TrieNode class supporting insert and search, extends it to prefix search and w…
You can solve path-counting and edit-distance problems with grid and string DP.
Event-funnel conversion and experiment-analysis queries that data-analyst interviews lean on heavily.
Union-Find (Disjoint Set Union) offers near-constant-time connectivity queries and is the cleanest solution to problems involving dynamic grouping. This course implements union by rank and path compr…
You can merge sets with DSU and build minimum spanning trees.
Reading execution plans and explaining why a query is slow, the senior differentiator in technical interviews.
Bit manipulation lets you solve certain problems in O(1) or O(n) with no extra space by exploiting the binary representation of integers. This course covers AND, OR, XOR, shifts, and bit masks, then…
You can answer dynamic range queries and updates in logarithmic time.
Index design as interviewers test it: which columns to index, composite order, covering indexes, and when indexes hurt.
Monotonic stacks and deques maintain a sorted invariant while processing elements left to right, enabling O(n) solutions to problems that would otherwise require O(n²) nested loops. This course solve…
You can topologically order DAGs and decompose graphs into strongly connected components.
Concurrency interview questions: ACID guarantees, the four isolation levels, and the anomalies each prevents.
Many senior interviews include a 30-45 minute system design round where you must sketch scalable architectures on a whiteboard. This course provides a repeatable framework: clarify requirements, esti…
You can match patterns fast with KMP, hashing, and tries.
Capstone course on database modeling and a set of full mock interview problems. Normalization, star schemas, and end-to-end problem solving.
This capstone course consolidates every pattern from the track into a structured problem-solving playbook. You will learn to identify which pattern applies in the first 60 seconds of reading a proble…
You can apply game theory, meet-in-the-middle, and a debugging routine under contest pressure.
Unlock all 90 courses in this path, and every other path
AI tutor, certification exam and certificate. Works on web, iOS and Android.
See all plansPractice with AI, not just read
Supercharge your learning with AI-powered tools and features
How You'll Learn
- 01
Interactive Lessons
Hands-on coding exercises with real-time feedback
- 02
AI Tutor
Get instant help from our AI when you're stuck
- 03
Built-in Editor
Write and run code directly in your browser
- 04
Certificate
Earn a certificate when you complete the course
Related learning paths
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 Coding Interview Prep?
No. The course begins with the fundamentals and gradually moves to more advanced topics, so you can start even with no prior Coding Interview Prep experience.
How will I learn Coding Interview Prep 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 Coding Interview Prep on my phone?
Yes. CoddyKit is available on the web and as native iOS and Android apps, so you can learn Coding Interview Prep on any device and your progress syncs across them.
How much does CoddyKit PRO cost?
The first course of Coding Interview Prep is free. CoddyKit PRO unlocks every course: $5.90 per week, $7.90 per month, $29.90 per year, or $69.99 once for lifetime access with no renewals.
How long does it take to complete Coding Interview Prep?
Coding Interview Prep has 90 courses and 360 lessons. Most lessons take about 5–10 minutes, so the whole path is roughly 42 hours of hands-on practice, at your own pace.
Start Coding Interview Prep Now
Join thousands of learners mastering programming with AI-powered lessons.