All quizzes
Free quiz · 20 questions in the bank

SBT quiz

Test your SBT knowledge with a free interactive quiz — 20 questions with answers and explanations. No signup needed to play.

Question 1/12Score 0

What is the purpose of SBT's `project/build.properties` file, particularly the `sbt.version` setting typically found within it?

In this round
  1. What is the purpose of SBT's `project/build.properties` file, particularly the `sbt.version` setting typically found within it?
  2. What is a reasonable comparison between SBT and Maven/Gradle (build tools more commonly associated with Java specifically), given that all three serve a broadly similar overall PURPOSE (compilation, dependency management, testing) but for somewhat different primary language ecosystems?
  3. What is the purpose of SBT's "Test" configuration scope, e.g. adding `% Test` to a dependency declaration like `"org.scalatest" %% "scalatest" % "3.2.15" % Test`?
  4. What is the purpose of the `sbt assembly` command (provided by the popular `sbt-assembly` plugin), and what problem does it solve for deploying a Scala application?
  5. What is the purpose of the SBT "shell" (the interactive command-line session you enter by running `sbt` with no arguments), and how does it differ from running individual SBT commands one at a time directly from the OS shell?
  6. What is a reasonable justification for a Scala team specifically valuing SBT's support for defining CUSTOM TASKS (writing actual Scala code to implement a project-specific build step beyond SBT's built-in commands), given that build.sbt files are themselves genuine Scala code?
  7. What is the significance of `build.sbt` being written using actual SCALA syntax (rather than SBT requiring an entirely separate, XML-based or otherwise non-Scala configuration format)?
  8. What is a reasonable comparison between how SBT handles dependency resolution/management (pulling in a project's required libraries from a repository like Maven Central) and how a build tool for a different language ecosystem (like npm for JavaScript/Node.js) handles this same broad category of responsibility?
  9. What is a "multi-project build" in SBT, and what problem does it solve for organizing a larger codebase containing several related but distinct sub-modules?
  10. What is the purpose of SBT's "watch mode" (triggered by prefixing a command with `~`, like `~compile` or `~test`), and what development workflow does it support?
  11. What is SBT (originally "Simple Build Tool," though the name is now typically used just as the acronym)?
  12. What is a reasonable justification for a team specifically running SBT in a Continuous Integration (CI) pipeline using a NON-interactive, single-command invocation (like `sbt test` run as one complete OS-level command), rather than relying on the interactive SBT shell workflow more commonly used during local development?
Gaps to close?
Read the curated SBT notes — core concepts, patterns, interview prep.
SBT notes

More quizzes

.NET.NET MAUIAbsintheAccessibilityActixActix Web