Courses
Start with Data Structures & Algorithms in Java if you're new to programming interviews. Already comfortable? Jump straight into the problems, or go under the hood of a database.
Data Structures & Algorithms in Java
From your first variable to interview patterns
A beginner course that starts at Java's types and operators and ends at the patterns interviews use. Arrays, linked lists, stacks, queues, hashing and maps are each built from scratch, then put to work on LeetCode problems, with review quizzes along the way.
Visualized DSA Strategies
One strategy per hour, nine types each
One problem-solving strategy per episode, an hour each, in an order where every episode only uses tools taught before it. Each hour teaches the strategy and the tools for it in your language (Java, Python, JavaScript, C++, C#, PHP or Go), then works nine types as small problems: examples, a brute force animated beside the running line of code, the complete code explained line by line, and the better way the same way.
Visualized Problem Solving
Data Structures as Pictures
Coding-interview problems solved on screen, in Java. Every problem gets worked examples, a brute force animated beside the line of code that's running, the complete code explained line by line, then the best solution the same way. Each module opens with a long concept episode that teaches the pattern itself.
Visualized Advanced Databases
Season 1 · Inside a Database Engine
How a database engine really works: pages and tuples, the buffer pool, B+ trees and LSM trees, joins, the query optimizer, locking, MVCC and crash recovery. Every mechanism is animated from a small simulation, then proven with real Postgres output.
Build Elasticsearch From Scratch
MiniSearch, in Java, with no libraries
Build a single-node search engine that works like Elasticsearch: text analysis, an inverted index, BM25 ranking, a JSON query DSL over HTTP, durable segments on disk and aggregations. Java 17 and nothing but the JDK, with a runnable milestone at the end of every episode.