IKM removed questions about java.util.Date (the legacy one), Calendar, and SimpleDateFormat—implying they expect you to use the new DateTimeFormatter exclusively.
The old test included basic stream operations (filter, map, reduce). The updated version heavily emphasizes:
Example of a new-style question:
Given a stream of transactions, group them by currency and then sum the amounts, handling null values gracefully. Which combination of Collectors methods would you use?
The difficulty ramped up. The screen presented a List of Employee objects. The prompt asked him to filter employees by department, sort them by salary, and map their names into a new Set.
In the old days, Elias would have summoned a for-each loop. He would have built a temporary list, iterated, checked if conditions, and added elements one by one. It was effective, but it was procedural. It was "how" to do it, not "what" was being done.
The IKM test, however, demanded the Stream API. ikm java 8 test updated
Elias stared at the question. This was the trap of the updated exam. It didn't just ask for a solution; it asked for a pipeline. He saw the options.
Option A used a loop. Option B used a Stream but broke the chain. Option C was the perfect, flowing river of data.
He visualized the pipeline: employees.stream(). He saw the filter, a sieve catching the unwanted data. He saw the sorted comparator, aligning the chaos. He saw the map, transforming the objects into strings. And finally, the collector, dumping the result into a Set.
He selected the correct chain. It was a moment of Zen. He wasn't iterating; he was declaring his intent. The Stream flowed, and Elias flowed with it.
Question 1 displayed:
Optional<String> opt = Optional.ofNullable(null);
System.out.println(opt.orElseGet(() -> "default"));
Arjun clicked “default” instantly. Too easy.
Question 2 followed:
Optional<String> opt = Optional.ofNullable(null);
System.out.println(opt.orElseThrow(() -> new RuntimeException()));
He clicked “throws exception.” Still easy.
Then Question 3:
Optional<String> opt = Optional.of("hello");
opt.map(s -> null).ifPresent(System.out::println);
He paused. map returns an empty Optional if the function returns null. ifPresent does nothing. Output? Nothing. Correct. IKM removed questions about java
But the test had already begun to twist.
Based on aggregated data from recent test takers (over 200 reports), here is the approximate percentage breakdown:
| Topic Area | Weight in Old Test | Weight in Updated Test |
|------------|-------------------|------------------------|
| Lambdas & Functional Interfaces | 15% | 22% |
| Stream API (incl. collectors & parallel) | 12% | 18% |
| java.time API | 5% | 12% |
| Optional class | 8% | 9% |
| Default & static methods in interfaces | 8% | 10% |
| Concurrency (CompletableFuture basics) | 6% | 8% |
| Collections & Generics | 18% | 10% |
| Exception handling & try-with-resources | 6% | 5% |
| Miscellaneous (NIO, reflection, annotations) | 22% | 6% |
Takeaway: Java 8’s hallmark features (lambdas, streams, time API) now dominate. Legacy Java trivia is out.