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.
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.
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
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
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
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
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
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
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
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
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.
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
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.
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.
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
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
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
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
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
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
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
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
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?
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
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
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.
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
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
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
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.
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.