AI InterviewSearch…Search problems, topics, or pages…Ctrl KGet started

Java

The language end to end — types, strings, OOP, generics, collections, streams, memory, concurrency, I/O and modern Java — with exercises judged on a real JDK.

20 modules · 138 lessons · ~35 h · exercises run on OpenJDK 18

Syllabus

Nothing is locked. Every module has a PDF.

02

Types & operators

The eight primitives, variables and constants, conversions, integer overflow, floating point, every operator, and the wrapper classes.
0/8 · 124 minPDF
03

Strings

Immutability and the pool, comparison, the String API, StringBuilder, formatting and text blocks, Unicode, and regular expressions.
0/8 · 121 minPDF
04

Control flow

if/else and guard clauses, every form of switch, the four loops, break/continue/labels, and the loop patterns programs are made of.
0/6 · 88 minPDF
05

Methods

Declaring and calling methods, static vs instance, pass-by-value, overload resolution, varargs, recursion, and scope.
0/7 · 101 minPDF
06

Arrays

Fixed-size typed arrays, 2D and jagged arrays, the Arrays utility class, aliasing versus copying, and the in-place patterns.
0/6 · 87 minPDF
07

OOP I — classes & objects

The object model, constructors and initialisation order, static members, access modifiers and immutability, and how to design a class.
0/6 · 92 minPDF
08

OOP II — inheritance & polymorphism

extends and super, the rules of overriding, dynamic dispatch and casting, equals/hashCode/toString, abstract classes, and when to compose instead.
0/7 · 107 minPDF
09

Interfaces

Contracts without state, default/static/private methods and the diamond rule, functional interfaces, Comparable and Iterable, and sealed interfaces.
0/6 · 87 minPDF
10

Enums & records

Enums as fixed sets of instances with fields and behaviour, EnumSet and EnumMap, and records as transparent immutable data with validation.
0/6 · 85 minPDF
11

Nested classes & lambdas

Static nested and inner classes, local and anonymous classes, lambda expressions, method references, and functions as values.
0/6 · 85 minPDF
12

Exceptions

The hierarchy, checked versus unchecked, try/catch/finally semantics, try-with-resources, custom exceptions with chaining, and handling practices.
0/7 · 101 minPDF
13

Generics

Why generics exist, generic classes and methods, bounded types, wildcards and PECS, type erasure and its consequences, and the practical idioms.
0/7 · 103 minPDF
14

Collections framework

The framework's map and complexities, lists, sets, maps and HashMap internals, queues and priority queues, sorting with comparators, iteration and fail-fast, immutable collections.
0/9 · 130 minPDF
15

Streams

The pipeline model, every intermediate and terminal operation, the collectors — groupingBy, toMap, teeing — Optional as a return type, primitive streams, and parallel execution with its rules.
0/8 · 125 minPDF
16

Memory and the JVM runtime

Stack frames and the heap, aliasing, object layout, reachability and reference types, generational GC and the collectors, the string pool and Integer cache, class loading and the JIT, and diagnosing leaks.
0/7 · 115 minPDF
17

Concurrency

Threads and interruption, races and synchronized, the memory model and volatile, executors and Futures, locks, atomics and ConcurrentHashMap, CompletableFuture, latches, barriers and blocking queues.
0/7 · 118 minPDF
18

I/O, files and time

Byte and character streams with charsets, buffering and the fast-I/O template, Path and Files, serialization and CSV done right, and java.time — dates, zones, durations and formatting.
0/6 · 98 minPDF
19

Modern Java

The release train and LTS milestones, var and inference, pattern matching for instanceof, switch and records, the library additions from 9 to 21, virtual threads and structured concurrency, modules and the toolchain.
0/7 · 106 minPDF
20

Interview idioms

The fast template and complexity budget, the equals/hashCode/Comparable contracts, the thirty pitfalls, the collections idiom sheet, clean solutions under pressure, and the Java theory drill.
0/7 · 115 minPDF

Learn Java: Free Java Tutorial in 138 Lessons

Learn Java free: 138 lessons in 20 modules, from first programs to interview questions, with exercises judged on OpenJDK 18 and a certificate.

  • Language: Java
  • Runtime: OpenJDK 18
  • Modules: 20
  • Lessons: 138
  • Reading time: about 35 hours
  • Cost: Free on every plan, with a certificate

The language end to end — types, strings, OOP, generics, collections, streams, memory, concurrency, I/O and modern Java — with exercises judged on a real JDK.

Syllabus

Module 1: Java & the JVM

What Java is, the JDK/JRE/JVM layers, compiling and running, program anatomy, packages, and console I/O.

Module 2: Types & operators

The eight primitives, variables and constants, conversions, integer overflow, floating point, every operator, and the wrapper classes.

Module 3: Strings

Immutability and the pool, comparison, the String API, StringBuilder, formatting and text blocks, Unicode, and regular expressions.

Module 4: Control flow

if/else and guard clauses, every form of switch, the four loops, break/continue/labels, and the loop patterns programs are made of.

Module 5: Methods

Declaring and calling methods, static vs instance, pass-by-value, overload resolution, varargs, recursion, and scope.

Module 6: Arrays

Fixed-size typed arrays, 2D and jagged arrays, the Arrays utility class, aliasing versus copying, and the in-place patterns.

Module 7: OOP I — classes & objects

The object model, constructors and initialisation order, static members, access modifiers and immutability, and how to design a class.

Module 8: OOP II — inheritance & polymorphism

extends and super, the rules of overriding, dynamic dispatch and casting, equals/hashCode/toString, abstract classes, and when to compose instead.

Module 9: Interfaces

Contracts without state, default/static/private methods and the diamond rule, functional interfaces, Comparable and Iterable, and sealed interfaces.

Module 10: Enums & records

Enums as fixed sets of instances with fields and behaviour, EnumSet and EnumMap, and records as transparent immutable data with validation.

Module 11: Nested classes & lambdas

Static nested and inner classes, local and anonymous classes, lambda expressions, method references, and functions as values.

Module 12: Exceptions

The hierarchy, checked versus unchecked, try/catch/finally semantics, try-with-resources, custom exceptions with chaining, and handling practices.

Module 13: Generics

Why generics exist, generic classes and methods, bounded types, wildcards and PECS, type erasure and its consequences, and the practical idioms.

Module 14: Collections framework

The framework's map and complexities, lists, sets, maps and HashMap internals, queues and priority queues, sorting with comparators, iteration and fail-fast, immutable collections.

Module 15: Streams

The pipeline model, every intermediate and terminal operation, the collectors — groupingBy, toMap, teeing — Optional as a return type, primitive streams, and parallel execution with its rules.

Module 16: Memory and the JVM runtime

Stack frames and the heap, aliasing, object layout, reachability and reference types, generational GC and the collectors, the string pool and Integer cache, class loading and the JIT, and diagnosing leaks.

Module 17: Concurrency

Threads and interruption, races and synchronized, the memory model and volatile, executors and Futures, locks, atomics and ConcurrentHashMap, CompletableFuture, latches, barriers and blocking queues.

Module 18: I/O, files and time

Byte and character streams with charsets, buffering and the fast-I/O template, Path and Files, serialization and CSV done right, and java.time — dates, zones, durations and formatting.

Module 19: Modern Java

The release train and LTS milestones, var and inference, pattern matching for instanceof, switch and records, the library additions from 9 to 21, virtual threads and structured concurrency, modules and the toolchain.

Module 20: Interview idioms

The fast template and complexity budget, the equals/hashCode/Comparable contracts, the thirty pitfalls, the collections idiom sheet, clean solutions under pressure, and the Java theory drill.