New Design Patterns, Request Lifecycle and HTML5 courses

Learn to code. Ace the interview. Think like a senior engineer.

Step-by-step tutorials you can run in the browser, 132 coding problems with real test cases, and 3,326 interview questions answered the way senior engineers answer them.

  • 373tutorial pages
  • 132coding problems
  • 3,326interview questions
  • 825course lessons

No installs

Run real code right in your browser

Python, JavaScript, TypeScript, PHP and SQL run on the page. Edit any example, press Run and see the result instantly.

Start a tutorial

Interview-ready

Practise like the real coding interview

Problems grouped by the pattern that solves them, from Two Sum to LRU Cache, with hidden test cases that run in your browser.

Practise a problem

Think like a senior

Answers that explain the trade-offs

Interview questions answered the way senior engineers answer them: the why, the trade-offs and the follow-ups interviewers ask.

Browse questions

Look it up fast

Every built-in function, explained

Syntax, parameters, version history and examples you can run, starting with Python and growing language by language.

Open the reference

Free during beta

Learn for free. Save your progress.

Every tutorial, course and reference page is free to read. Create an account to track progress, keep notes and build a streak.

Create a free account

Everything in one place

From your first loop to the system design round.

Learn a language, drill the patterns interviews test, and go deep on the engineering topics senior roles expect, all with code you can run.

Tutorials

Start with a language.

All tutorials →
Python Tutorial Learn Python from scratch: syntax, variables, strings, lists, dictionaries, loops, functions, classes,… 42 lessons JavaScript Tutorial Learn modern JavaScript step by step: variables, strings, arrays, objects, functions, closures,… 44 lessons PHP Tutorial Learn modern PHP 8 step by step: syntax, variables, strings, arrays, functions, forms, sessions, files,… 38 lessons Java Tutorial Learn Java 21 step by step: syntax, variables, strings, arrays, methods, classes, inheritance,… 37 lessons SQL Tutorial Learn SQL step by step on a real database in your browser: SELECT, WHERE, ORDER BY, GROUP BY, joins,… 36 lessons TypeScript Tutorial Learn TypeScript step by step: types, interfaces, unions, narrowing, functions, classes, enums,… 25 lessons HTML Tutorial Learn HTML from scratch: page structure, headings, text, links, images, lists, tables, semantic… 34 lessons CSS Tutorial Learn CSS step by step: selectors, colours, the box model, typography, units, flexbox, grid,… 19 lessons Go Tutorial Learn Go (Golang) step by step: variables, types, slices, maps, structs, pointers, functions, methods,… 30 lessons C# Tutorial Learn C# and .NET step by step: variables, strings, control flow, methods, classes, interfaces,… 22 lessons C++ Tutorial Learn modern C++ (C++20) step by step: types, strings, control flow, functions, references, pointers,… 21 lessons Terraform Tutorial Learn Terraform and infrastructure as code from scratch: providers, resources, variables, expressions,… 25 lessons

Courses

Go deep where it counts.

All courses →

Track your progress, free.

Save solved problems, bookmarks and notes, run timed mock interviews and follow learning paths built for your next role.