Software Development Engineer 2
ExecutorService vs CompletableFuture vs Virtual Threads
Compare `ExecutorService`, `CompletableFuture`, and `Virtual Threads` (Project Loom) in Java. When would you choose one over the others?
This question was asked in
JPMorganChase Software Development Engineer 2 Interview Experience
The interview process at JPMorganChase consisted of four comprehensive rounds covering DSA, Core Java, System Design, Software Development Practices, and Managerial discussions. Round 1 focused on data structures, algorithms, and deep Java internals, while Round 2 evaluated high-level system design with a focus on dynamic pricing and concurrency. Round 3 deeply explored production-grade practices including Kafka, security compliance, Spring Boot, and Kubernetes/Istio deployments, concluding with a behavioral Round 4.