Fanpilot

About Fanpilot

2 min read

Fanpilot is a free, open-source guide to coding interview problems: patterns, data structures, algorithms, and system design. The goal is to help you solve problems you haven't seen, not to memorize ones you have.

What's here

The data structures and algorithms pages tie this material together. A full course on distributed systems is still to come.

The labs use JavaScript so you can change their state and watch what happens. The ideas work in any language.

Get the most out of a lesson

A lesson is a starting point. After reading one, explain the key observation without naming the algorithm. Then write down why the solution is correct, rebuild the code, and change one assumption to see what breaks. The transfer exercises and the review worksheet help with this.

The research page lists what informed the guide, what we actually reviewed, and where the evidence is indirect. The most useful corrections fix a specific claim, example, proof, or test.

Reuse and attribution

Original writing is licensed under Creative Commons Attribution-ShareAlike 4.0. Original website and example code is licensed under the MIT License. These licenses don't cover linked problem statements, outside courses, third-party code, or trademarks. Problem-library data (numbers, titles, categories, and topic tags) is a snapshot of the doocs/leetcode index by the doocs contributors, available under CC BY-SA 4.0; the exact version is recorded in the library data.

The website has its own open-source repository, separate from the Rust solution collection. See the contribution guide to suggest a correction, a counterexample, or a new design. You can also download the patterns guide as Markdown or the original PDF edition.

Fanpilot is independent, and it isn't affiliated with or endorsed by LeetCode or any of the courses mentioned.