486 practice puzzles covering the patterns coding interviews ask about: two pointers, binary search, trees, heaps, graphs, dynamic programming, backtracking and more. Every puzzle can be solved in Python or in JavaScript, and every solution comes with a step by step replay of how it runs.
Each puzzle can be assembled from jigsaw pieces, filled in from a skeleton, or typed from scratch against its tests. Three are free with no account.
This site needs JavaScript to run the puzzles, because your code is executed in your own browser. Some places to start: