One path. 5 key areas.

Move from Java to Spring, SQL, algorithms and System Design. Every topic connects theory with practice.

View curriculum

Java

Syntax, OOP, collections, Stream API, concurrency and the JVM.

Spring

Core, Boot, Data, Security, testing and production application behavior.

SQL

Queries, JOINs, indexes, transactions, locking and optimization.

Algorithms

Data structures, complexity, search, graphs, greedy and dynamic programming.

System Design

Scaling, caching, queues, consistency and distributed systems.

Different exercise formats. For better retention.

Tailored to the topic: choose an answer, find bugs, complete code, and solve exercises.

01
Quiz

Choose the correct option

ArrayList
HashMap
TreeSet
02
Matching

Connect the concepts

HashMapkey → value HashSetunique ArrayListordered
03
Find the bug

Spot the problematic line

1   int size = list.size(); 2   if (size == 0) return null; 3   return list.get(size); 4   }
04
Complete the fragment

Fill in the missing code

users.stream()   .______(User::isActive)   .______();
05
Writing code

Write and run code

Main.javaTests
public int sum(int a, int b) {
  return a + b;
}
✓ 4 tests passed
06
Exact value

Enter the answer without hints

binarySearch()
O(log n)
07
Ordering

Put the steps in order

1  Controller 2  Service 3  Repository 4  Database

From learning exercises to real questions.

Got the fundamentals down? Move on to exercises and questions from real Java interviews.

Open interview questions
500+ interview tasks and questions
100+ companies in the database
100% with detailed explanations

Work it through with an AI mentor.

Work through exercises and theory, get hints, and practice your interview answers.

AI mentor Works through the problem with you
Tell me about this problem.
You need to write the smallest program that causes a StackOverflowError. The simplest approach is to call main recursively from itself with no exit condition.
Which companies has it appeared at?
This task has appeared in interviews at Sber and MoySklad.
Is the problem difficult?
It is mostly foundational. The key is understanding recursion and the call stack: each new main call consumes stack space until the stack overflows.

Solve. Earn points. Climb higher.

Earn seasonal points by practicing: increase your rank, track your progress in your profile, and climb the leaderboard.

Season progress Your score grows with practice
4 050 points

Complete a track. Earn a certificate.

Complete 100% of the theory and practice in a track and generate a personalized Java Hub certificate.

Open certificates