Skip to content
JavaAgentic

Type at least two characters. Try “RAG”, “pgvector” or “tool calling”.

Interview Prep · Phase 2

Java 8 & Modern Java

Functional Java as an interviewer probes it — not "name three functional interfaces" but why a lambda is not an anonymous class, how a stream pipeline actually executes, when parallel streams make things slower, and what Java 9 through 21 added on top.

Beginner5 min read

Java 8 Features: The Interview Overview

Every Java 8 feature an interviewer asks about, why each was added, and the one-sentence answer for each — lambdas, streams, Optional, default methods, java.time, CompletableFuture and Metaspace.

Read tutorial
Intermediate6 min read

Lambdas and invokedynamic: How They Really Work

Why a lambda is not an anonymous class, what invokedynamic and LambdaMetafactory do at first call, the allocation difference between capturing and non-capturing lambdas, and what this means.

Read tutorial
Intermediate5 min read

Stream API Fundamentals: Lazy Pipelines

How a stream pipeline actually executes: why nothing runs until the terminal operation, what short-circuiting really means, stateful versus stateless operations, and why a stream is single-use.

Read tutorial
Intermediate7 min read

Collectors, groupingBy and Downstream Collectors

The collector API in depth: multi-level groupingBy, downstream collectors, the toMap duplicate-key exception, the null-value trap, teeing and flatMapping, and writing a Collector by hand.

Read tutorial
Advanced6 min read

Parallel Streams and the Common ForkJoinPool

Why every parallel stream in your JVM shares one pool, which sources split well, the N times Q rule for deciding, and why a blocking call inside a parallel stream can stall the whole application.

Read tutorial
Beginner7 min read

Optional: Correct Use and Common Abuse

What Optional was designed for and what it was not, the orElse versus orElseGet trap that evaluates the fallback every time, chaining with map and flatMap, and why Optional fields are a mistake.

Read tutorial
Intermediate6 min read

Default & Static Methods in Interfaces

Why default methods were added, the three resolution rules when a class inherits conflicting defaults, calling a specific supertype with X.super.method(), and private interface methods.

Read tutorial
Beginner5 min read

The java.time API

Choosing between Instant, LocalDateTime and ZonedDateTime, Period versus Duration, what happens at a daylight-saving gap, and how to store timestamps so they survive a zone change.

Read tutorial