Java / Quarkus Interview questions
Explain the internal working of Quarkus extensions?
An extension is really two coordinated artifacts published together: a runtime module containing the classes actually used while the application executes, and a deployment module containing build-time-only logic that never ships in the final artifact.
The deployment module's @BuildStep-annotated methods declare, via their parameters and return types, which BuildItems they consume and produce; Quarkus's build engine inspects every active extension's build steps, builds a dependency graph from those declared inputs/outputs, and executes them in the only order that satisfies all the dependencies — without any extension needing direct knowledge of any other extension's existence.
Only the runtime module ends up in the deployed artifact; the deployment module's job is entirely finished once the build completes, which is why extensions can perform arbitrarily expensive analysis and code generation at build time with zero cost to the final application's startup time or footprint.
More Related questions...
