What is CompletableFuture in Java?
Why Interviewers Ask This
Interviewers ask this to evaluate whether you have the depth of knowledge needed to mentor others and lead technical decisions. The expected answer goes beyond definitions into practical implications and real-world consequences.
Answer
CompletableFuture (Java 8) is a powerful implementation of Future that supports non-blocking asynchronous programming with a fluent callback API. Unlike plain Future (which only supports blocking get()), CompletableFuture lets you chain operations: thenApply() (transform the result), thenAccept() (consume without returning), thenCompose() (flatMap for futures), thenCombine() (combine two futures). CompletableFuture.supplyAsync(supplier) runs the task in ForkJoinPool. Error handling: exceptionally(), handle(). Combine multiple: allOf() (wait for all), anyOf() (wait for any). This enables readable async pipelines without nested callbacks.
Pro Tip
Demonstrate both theoretical understanding and practical experience. Say what it is, then give an example of how you actually used it in a Java codebase.
Previous
What is ConcurrentHashMap and how does it differ from HashMap?
Next
What is the Fork/Join framework in Java?