Coding problems with auto-checking: over 2200 tasks
A coding trainer in the browser, from your first program at school to a job interview. Pick a task, write a solution in the editor, and tests show at once where it fails. There are hints, goal-based collections and a plan built around the topics you get stuck on. No sign-up needed to start.
Start practicingFree. Start without signing in; an account keeps progress across devices and unlocks levels.Why solve coding problems
People learn to program by solving problems. You can read a chapter on loops or hash maps, but it clicks when you write the code yourself and see which input breaks it. That is why coding problems help at every stage: at school, at university, before an internship screening and before a job interview.
A plain problem set gives you only the statement. Here every task has tests: your solution is checked at once, with no teacher and no setup. When a test fails, you see the input and the expected answer. You find the bug yourself and remember it better than a ready-made walkthrough.
How to practice: start with the easy tasks of your topic. When three in a row pass without hints, move on to medium ones. If you are stuck for more than twenty minutes, open a hint rather than someone else's solution: that way the task still trains you. A day or two later, come back to a task you got wrong and solve it again from a blank editor. One or two tasks every day do more than ten in one evening a week: the skill stays with repetition. Before an exam or an interview speed matters too, so time yourself and aim to solve a medium task in twenty to thirty minutes.
Tasks for where you are
School
First programs in Python: conditions, loops, strings and lists. Easy tasks with hints to learn the basics.
Open tasksUniversity
Recursion, sorting, binary search, dynamic programming, trees and graphs: the topics of an algorithms and data structures course.
Open tasksInternship
Easy and medium tasks that internship screenings start with: arrays, strings, maps and sets.
Open tasksJob interview
Medium and hard tasks from technical interviews, collections for backend, frontend and data analyst roles, SQL.
Open tasks
How it works
- Pick a stage above, or a task by topic, language or difficulty. Search finds a task by its name.
- Write a solution in the code editor right in the browser. Nothing to install.
- Press «Check»: tests run the solution and show the input it failed on. A solved task goes into your progress.
What practice gives you
- Hints for each task, opened one at a time when you get stuck.
- Collections for interviews and by topic: strings, hash maps, binary search, dynamic programming, SQL.
- A plan around the topics you get stuck on: practice suggests what to solve next.
- A level in each topic, earned by tasks solved without hints (with a free account).
- Languages: Python, JavaScript, TypeScript, Java, Go and SQL.
Task topics
Each topic opens practice filtered by it.
- Strings
- Arrays and lists
- Hash maps and sets
- Math
- Recursion and backtracking
- Dynamic programming
- Searching and sorting
- Trees and graphs
- Stacks, queues, linked lists
- Classes and OOP
- Parsing and validation
- Dates and time
- Errors and exceptions
- Async and concurrency
- Functions and closures
- Matrices and grids
- SQL: filtering
- SQL: joins
- SQL: aggregation
- SQL: window functions
A code editor for your language
If you just need an online editor, for example to show code to a friend or a teacher, open the page for your language.
FAQ
- Is it free?
- Yes. All tasks are free, with no trial and no card.
- Do I need to sign up?
- Not to start: solve right away, progress is kept in your browser. A free account keeps it across devices and unlocks levels.
- Is it good for school students?
- Yes. Start with easy Python tasks on conditions, loops and strings. Hints help when you are stuck.
- How is a solution checked?
- Your code runs against a set of tests. When a test fails, you see the input, the expected and the actual output.
- Which languages can I use?
- Python, JavaScript, TypeScript, Java, Go and SQL. Many tasks can be solved in any of them.
- How many tasks a day should I solve?
- One or two every day help more than ten once a week. Start with easy tasks and move on to medium ones when the easy ones pass without hints.
- Where do the tasks come from?
- Some we wrote ourselves; others are adapted from open datasets, with the source and license on the task page.