Java / Quarkus Interview questions
Explain the lifecycle of a Quarkus application build?
A Quarkus build moves through a defined sequence of phases, each building on the output of the last, whether the final target is a JAR for JVM mode or a binary for native mode.
Standard Java compilation happens first, exactly as in any Java project, producing regular .class files. Augmentation then kicks in: Quarkus's build engine executes every active extension's @BuildStep methods in the order dictated by their BuildItem dependencies, progressively accumulating information about the fully-resolved application.
The final step diverges based on target: JVM mode packages the augmented result into a runnable JAR (optionally fast-jar, uber-jar, or a legacy-jar layout), while native mode feeds that same augmented result into GraalVM's native-image tool for ahead-of-time compilation, which is the slowest and most resource-intensive part of the whole pipeline, often taking minutes even for a modest application.
More Related questions...