Skip to content
tezvyn:

Top 30 CI/CD & Automation Concepts Quiz

30 multiple-choice questions on the CI/CD & Automation fundamentals, drawn from 30 bites in the CI/CD & Automation library. Answer them here or read straight down. Every question carries the correct option, why it is correct, and a link to the bite it came from.

GitHub Actions, Terraform, ArgoCD, IaC, pipelines

30 questions. Pick an answer, or open “Show the answer” to read it.

Answers are graded in your browser. Nothing is saved, and no XP or streak is earned here. The app keeps score.

  1. Question 1 of 30

    Which characteristic is most crucial for an effective build automation process?

    Show the answer

    Answer: c · It consistently transforms source code into a runnable application, regardless of the environment.

    The card emphasizes that build automation makes the process "repeatable, reliable" and ensures "the same result every time, no matter who pushes the 'start' button." Option C directly reflects this core benefit. Option D describes the "it works on my machine" problem that build automation aims to eliminate, not a desired characteristic.

    Read the full bite: Build Automation: The Engine of CI/CD

  2. Question 2 of 30

    What is a key advantage of automated testing in modern software development?

    Show the answer

    Answer: a · It allows for rapid and confident deployment of code changes by detecting regressions early.

    The card highlights that automated testing "provides the confidence needed to deploy changes frequently" and is "the foundation for catching regressions." Option B is incorrect because the card explicitly states automated testing is "not suited for exploratory testing... or for assessing subjective user experience."

    Read the full bite: Automated Testing: Catch Bugs Before They Ship

  3. Question 3 of 30

    Which scenario best demonstrates the appropriate use of an artifact repository?

    Show the answer

    Answer: a · Publishing a newly built Java .jar file to be consumed by other internal projects.

    An artifact repository is designed to store and share binary outputs like compiled code (.jar files) from a build process for consumption by other systems or teams. Storing source code is for version control systems, while archiving unstructured logs or serving static assets are roles for general file storage or web servers, not artifact repositories.

    Read the full bite: Artifact Repository: Your CI/CD's Private Library

  4. Question 4 of 30

    What is the primary problem Infrastructure as Code (IaC) aims to solve in managing IT infrastructure?

    Show the answer

    Answer: a · Preventing configuration drift and ensuring consistent, repeatable environments.

    The card explicitly states IaC was created to combat 'configuration drift' and ensure 'consistent, repeatable environments.' While IaC can contribute to cost efficiency, its main purpose is not cost reduction, and it does not eliminate all human involvement, but rather automates the provisioning process through code, not GUIs.

    Read the full bite: Infrastructure as Code: Manage Servers with Code, Not Clicks

  5. Question 5 of 30

    What is the primary advantage of implementing a Blue-Green deployment strategy?

    Show the answer

    Answer: d · It ensures continuous service availability and provides immediate rollback capabilities during deployments.

    The card states that Blue-Green deployment enables "zero-downtime releases and instant rollbacks," which directly translates to continuous service availability and immediate rollback. Option C is incorrect because this strategy temporarily doubles infrastructure costs.

    Read the full bite: Blue-Green Deployment: Zero-Downtime Releases

  6. Question 6 of 30

    What is the primary distinction between a canary release and A/B testing?

    Show the answer

    Answer: a · A canary release primarily validates the technical stability and performance of a new version, whereas A/B testing evaluates user engagement and business outcomes.

    The card states that a canary's goal is to quickly validate stability, while an A/B test is a longer-running experiment to test a business hypothesis. Option B describes a feature of canary releases but not its primary distinguishing purpose from A/B testing.

    Read the full bite: Canary Release: Test New Code on Real Users, Safely

  7. Question 7 of 30

    Which is the primary advantage of Pipeline as Code over configuring CI/CD processes via a graphical user interface?

    Show the answer

    Answer: a · It enables version control, peer review, and auditability of the build and deployment logic.

    The core benefit of Pipeline as Code is treating the pipeline definition as a version-controlled file, which allows for reviewable changes and a complete audit history. Option D is incorrect because Pipeline as Code explicitly involves defining the pipeline through code, such as a Jenkinsfile.

    Read the full bite: Pipeline as Code: Versioning Your Build Process

  8. Question 8 of 30

    According to the 'cattle, not pets' mental model for immutable infrastructure, which action is characteristic?

    Show the answer

    Answer: a · Building a new server image with all necessary updates and replacing existing instances.

    The 'cattle, not pets' model dictates that servers are replaced, not modified. This means building a new image with updates and deploying new instances from it, then decommissioning the old ones. Modifying running instances, even with configuration management, is characteristic of mutable infrastructure.

    Read the full bite: Immutable Infrastructure: Treat Servers Like Cattle, Not Pets

  9. Question 9 of 30

    Which of the following is the primary security benefit of adopting a pull-based GitOps deployment model?

    Show the answer

    Answer: a · It prevents the exposure of production cluster credentials to external CI/CD pipelines or systems.

    The card states that the pull-based model is more secure as it "avoids exposing cluster credentials externally," contrasting it with the push-based model that "requires giving your CI system powerful, high-risk credentials." Option D describes a general benefit of using Git for configuration, not a specific security advantage of the pull-based model.

    Read the full bite: GitOps: Your Git Repo is the Single Source of Truth

  10. Question 10 of 30

    Which operation is LEAST suited for an idempotent design in an automation script?

    Show the answer

    Answer: a · Recording each attempt of a user login into an audit trail.

    The card states that "appending a log entry" is an example of an operation where idempotency is the "wrong goal" because you want "each execution to have a distinct effect." The other options describe tasks (package installation, resource provisioning, schema migration) that are explicitly mentioned as scenarios where idempotency is vital for reliable, repeatable automation.

    Read the full bite: Idempotency: Safe to Retry Automation

  11. Question 11 of 30

    Which statement best describes a core operational principle of a Distributed Version Control System (DVCS)?

    Show the answer

    Answer: b · Each developer works with a complete, independent copy of the entire project history on their local machine.

    A DVCS provides every developer with a full, independent copy of the entire repository and its history, allowing most operations to occur locally. Option D describes a centralized system, where commits are immediately synchronized with a single server.

    Read the full bite: Distributed Version Control (DVCS): Everyone Gets a Copy

  12. Question 12 of 30

    What does a Git commit fundamentally represent?

    Show the answer

    Answer: c · A complete snapshot of all tracked files in the project at a specific point in time.

    A Git commit is described as a 'permanent snapshot of your entire project,' containing the complete state of all tracked files. Option A is a common misconception, as Git stores full snapshots, not just diffs. Options C and D describe aspects of the commit process or metadata, not the core content of the commit itself.

    Read the full bite: Git Commit: A Snapshot, Not a Diff

  13. Question 13 of 30

    You've committed a file to your Git repository. Later, you decide this file should not be tracked. What is the correct way to stop Git from tracking it using .gitignore?

    Show the answer

    Answer: c · Use git rm --cached <file> and then add the file's pattern to .gitignore.

    The card states that .gitignore only works on untracked files. To stop tracking a file already committed, you must first remove it from the index using git rm --cached <file>, then add its pattern to .gitignore to prevent it from being tracked again. Simply adding it to .gitignore (option B) will not affect files already under version control.

    Read the full bite: .gitignore: Telling Git What to Ignore

  14. Question 14 of 30

    What is the primary reason Git's branching model is considered superior to older version control systems?

    Show the answer

    Answer: b · It allows for rapid creation of isolated development lines without duplicating the entire codebase.

    The card states that Git branches are lightweight pointers, not full copies, making their creation and switching nearly instant. This contrasts with older VCS that often required heavy, full copies, which discouraged frequent branching. Option B directly captures this core advantage.

    Read the full bite: Git Branch: A Lightweight Pointer, Not a Full Copy

  15. Question 15 of 30

    What is the primary role of a Pull Request in a team's software development workflow?

    Show the answer

    Answer: c · To provide a formal mechanism for discussing, reviewing, and approving code changes before integration.

    The card emphasizes that a Pull Request is a "structured conversation about a proposed code change" and exists "to create a formal, collaborative process for proposing, discussing, and reviewing code changes." While merging is the ultimate goal, the core purpose is the review and discussion. Option B is a tempting distractor because merging is the outcome, but it misses the crucial review and approval steps.

    Read the full bite: Pull Requests: A Structured Conversation About Code

  16. Question 16 of 30

    When integrating a feature branch into the main branch using git merge, what is the most significant characteristic of the resulting history?

    Show the answer

    Answer: c · A new commit is generated on the target branch, explicitly recording the point where two distinct development lines converged.

    The card explains that git merge creates a "new, single commit that formally joins these two timelines" and acts as "a knot, holding the two threads together by having two parents." This merge commit explicitly records the convergence of distinct development lines. Option D describes git rebase, which rewrites history to create a linear sequence of commits, unlike git merge which preserves the parallel history.

    Read the full bite: Git Merge: Combining Development Histories

  17. Question 17 of 30

    What is the primary reason to avoid rebasing a branch that other developers have already pulled?

    Show the answer

    Answer: c · It rewrites history, forcing teammates into complex manual repository fixes due to conflicting histories.

    The card explicitly states that rebasing a shared branch rewrites its history, causing conflicts with teammates' local histories and forcing them into complex manual fixes. This is the 'absolute rule' for when not to use it. Distractor B is incorrect because rebase aims to create a more linear history.

    Read the full bite: Git Rebase: Rewriting History for a Cleaner Timeline

  18. Question 18 of 30

    Which property of annotated tags makes them the correct choice for production release markers?

    Show the answer

    Answer: d · They include tagger identity, timestamps, and optional GPG signatures for verification.

    Annotated tags are full objects containing tagger identity, timestamps, and optional GPG signatures, providing the audit trail required for production releases. Option B incorrectly assigns the properties of lightweight tags to annotated tags; lightweight tags are merely simple refs that lack metadata and auditability.

    Read the full bite: Git Tags: Immutable Milestones for Release History

  19. Question 19 of 30

    Which principle is fundamental to the GitHub Flow workflow, enabling its use for continuous delivery?

    Show the answer

    Answer: a · The 'main' branch is consistently maintained in a deployable and stable condition.

    The core tenet of GitHub Flow is that the 'main' branch is always stable and deployable, allowing for continuous delivery. Option D describes a characteristic of other workflows like Git Flow, not GitHub Flow, which uses short-lived feature branches directly from 'main'.

    Read the full bite: GitHub Flow: A Simple, Branch-Based Workflow

  20. Question 20 of 30

    For which project characteristic is GitFlow explicitly recommended?

    Show the answer

    Answer: d · Software products that are distributed as distinct, versioned releases

    GitFlow is designed for projects that produce distinct, versioned releases, such as libraries or desktop applications, to manage the lifecycle of specific versions. It is explicitly advised against for continuously delivered software due to its inherent overhead.

    Read the full bite: GitFlow: A Branching Model for Versioned Releases

  21. Question 21 of 30

    When is git cherry-pick the most appropriate Git command to use?

    Show the answer

    Answer: d · To apply a specific bug fix from a development branch to a stable release branch without including other changes.

    The card states that cherry-pick is for "backporting a bug fix without merging an entire feature branch" and for applying "a single bug fix... without all the other new, unstable features." Option C describes a standard git merge operation, not cherry-pick.

    Read the full bite: Git Cherry-Pick: Copy a Commit to Another Branch

  22. Question 22 of 30

    Which scenario would most strongly favor adopting a monorepo strategy over a polyrepo?

    Show the answer

    Answer: b · A development team needing to perform a single, coordinated update across several interdependent services.

    A monorepo excels when dealing with tightly coupled projects and requiring large-scale atomic refactors, as a single commit can update multiple interdependent services. The other options describe scenarios where a polyrepo's autonomy and simpler default setup would be more advantageous.

    Read the full bite: Monorepo vs. Polyrepo: One Repository or Many?

  23. Question 23 of 30

    To ensure Git LFS manages large files that were already committed to a repository's history, what is the necessary action?

    Show the answer

    Answer: b · Use git lfs migrate to convert the existing large files in the repository's history.

    The card explicitly states that 'git lfs track does not apply retroactively' and that users 'must use git lfs migrate to convert large files already committed to the repository's history'. Other options either only affect new files or are not the specific LFS tool for this task.

    Read the full bite: Git LFS: Versioning Large Files Without Bloating Your Repo

  24. Question 24 of 30

    What type of content is explicitly advised AGAINST including directly within a build artifact?

    Show the answer

    Answer: c · Environment-specific configuration variables or secrets

    The card explicitly states, "Do not bundle environment-specific configuration or secrets into an artifact." This ensures the artifact remains a generic, deployable unit, with configuration supplied at runtime. The other options describe components that are typically part of a build artifact.

    Read the full bite: Build Artifact: The Packaged Output of a CI Run

  25. Question 25 of 30

    What is Make's core mechanism for deciding which build steps to execute?

    Show the answer

    Answer: c · It compares the modification times of target files with their dependencies.

    Make achieves efficiency by building a dependency graph and comparing timestamps. It only re-executes commands for a target if its dependencies are newer or the target doesn't exist, avoiding unnecessary work. Option D describes a simple script, which Make improves upon by adding intelligence.

    Read the full bite: Make: The Original Task Runner

  26. Question 26 of 30

    How does a dependency manager primarily ensure consistent builds across different environments?

    Show the answer

    Answer: b · It uses a lock file to record the exact versions of all direct and transitive dependencies for installation.

    The card states that a lock file records the exact versions of every package, including transitive dependencies, to guarantee a consistent environment across different machines and builds. Options B and D are incorrect because relying on 'latest' or 'newest compatible' versions would lead to inconsistencies if those versions change over time.

    Read the full bite: Build Dependency Management: Your Project's Recipe

  27. Question 27 of 30

    Which statement accurately describes a key characteristic of static analysis?

    Show the answer

    Answer: d · It analyzes source code for potential issues without actually running the program.

    Static analysis fundamentally operates by examining the source code itself, without executing the program, to find patterns that indicate potential issues. Option B describes dynamic analysis, which observes program behavior during runtime, a direct contrast to static analysis.

    Read the full bite: Static Analysis: Read Code, Don't Run It

  28. Question 28 of 30

    What is a key benefit of Maven's "convention over configuration" model compared to older, imperative build tools?

    Show the answer

    Answer: c · It reduces the need for explicit configuration and promotes consistency across different projects.

    Maven's "convention over configuration" approach minimizes explicit configuration by adhering to standard project structures and build lifecycles, thereby ensuring consistency and simplifying project setup. Option A describes the imperative nature of older tools like Ant, which Maven aimed to move away from to achieve standardization.

    Read the full bite: Apache Maven: Convention Over Configuration for Builds

  29. Question 29 of 30

    What is the main benefit of Gradle's approach to build automation compared to tools that rely on rigid XML configurations?

    Show the answer

    Answer: b · It offers greater flexibility and programmatic control over the build process using a scripting language.

    The card emphasizes that Gradle's code-based approach, using a Groovy or Kotlin DSL, provides the flexibility of a real programming language, allowing for variables, control flow, and custom logic. This contrasts with the rigid, declarative nature of XML-based tools. Option C describes the characteristic of XML-based tools, not Gradle.

    Read the full bite: Gradle: Code-Based Builds, Not XML

  30. Question 30 of 30

    A developer executes mvn test on a new Maven project. Which sequence of actions will Maven perform?

    Show the answer

    Answer: a · It will compile the source code and then execute the unit tests.

    The card states that running a phase executes all preceding ones. The 'test' phase is preceded by the 'compile' phase, so Maven will compile the code before running tests. It will not proceed to 'package' or 'install' as those phases occur later in the default lifecycle.

    Read the full bite: Maven's Build Lifecycle: A Sequence of Build Phases

Could you explain these out loud?

That is what an interview actually tests. Tezvyn gives you questions like these with what the interviewer is really checking, the answer that lands, and the mistake that ends the conversation, in the four minutes before your next meeting.

The iPhone app is on the way

We are building it. Until it lands, nothing here is held back from you: every interview card, your saved cards, streaks and the job board all work in Safari, plus hundreds of free practice quizzes of thirty questions each. Sign in and it all carries over to the app the day it arrives.

Want it as an icon? Tap Share at the bottom of Safari, then Add to Home Screen. It opens full screen and the cards you have read stay available offline.

Get it on Google PlayiPhone app coming soon