Choose your character

It shows in the top bar and on your profile. Change it any time.

Courses / Programming

Java

Write Java from your first method to tested services and technical interviews.

Start lesson 1Practice interviewTake the assessmentPractice the first unit of every course. No account needed.
62lessons
320checked exercises
15projects, cases and exams
Prepares you for Java developer interviews and Java SE 21 certification topics

Projects, case studies and mock exams

Learn Java by writing and running methods in the browser. Start with types, control flow, text and objects. Then work with generics, collections, exceptions, streams, modern Java types and application design. Build an inventory service, a text adventure, a CSV report, a tested refactor and an in-memory ledger.

The Expert level covers concurrency contracts, JVM concepts and plain Java equivalents for framework boundaries, with explicit runtime limits. Finish with original Java interview sets and two 50-question Java SE 21-style timed mocks. Practice interview and assessment tasks use fresh problems in the same workspace.

Beginner

FreeNo account or card needed. Every lesson in this unit is yours to practice.

Values and expressions

Return typed values and compute numeric and logical expressions.

4 lessons

Decisions and methods

Choose branches, repeat work and compose small methods.

4 lessons

Text and arrays

Transform immutable text and traverse independent array data.

3 lessons

Objects and delivery

Protect object state and deliver checked services and recommendations.

4 lessons

Intermediate

Object contracts

Model value identity, behavior and access boundaries, then build a stateful adventure engine.

5 lessons

Collection design

Choose generic APIs, collection implementations and ordering rules, then build a CSV report.

5 lessons

Failure boundaries

Handle named failures, close resources and preserve owned state, then audit an intake decision.

5 lessons

Advanced

Functional pipelines

Build ordered transformations, grouped reports and explicit absence handling.

5 lessons

Modern value models

Model values, handle closed alternatives and preserve time and snapshot boundaries.

5 lessons

Testable designs

Separate responsibilities and prove stateful Java behavior through executable checks.

6 lessons

Expert

Concurrent services

Trace schedules and protect service invariants within stated runtime limits.

5 lessons

JVM and application boundaries

Reason about memory, module access, text and plain Java application boundaries.

5 lessons

Interviews and certification

Solve Java interviews and original timed certification-style questions.

6 lessons

Your Work Gym account

Save your progress and pick up on another device. Your browser's progress comes with you.

We'll email you a link. It works once and expires in 15 minutes.

You can keep practicing without an account.