Module 04
Functional Java (8+)
Lambdas, method references, Streams and Optional, including how the stream pipeline actually executes.
By the end of this module you can
- Explain lazy evaluation and how a stream pipeline runs
- Write collectors for grouping and partitioning
- Know when parallel streams help and when they hurt
Lambdas
Functional interfaces, method references and variable capture.
- Lambdas and functional interfacesFreeSoon
- Method referencesFreeSoon
- Effectively final and variable capturePremiumSoon
- Lambdas: interview questions & scenariosPremiumSoon
Streams
How streams execute, collectors and parallel streams.
- How a stream pipeline executesPremiumSoon
- Intermediate vs terminal operationsFreeSoon
- Collectors deep divePremiumSoon
- flatMap, grouping and partitioningPremiumSoon
- Parallel streams: when they help and hurtPremiumSoon
- Streams: interview questions & scenariosPremiumSoon
Optional
Using Optional the way it was designed.
- Optional done rightPremiumSoon
- Optional: interview questions & scenariosPremiumSoon
Stream coding problems
Classic stream problems asked in interviews.
- Stream coding problemsPremiumSoon
- Stream coding problems: interview questions & scenariosPremiumSoon
Module interview question bank
Finish the module
Module interview question bankEvery interview question worth practising for Functional Java (8+), grouped by topic, with model answers, how to say them and what-if follow-ups.