Skip to content
tezvyn:

Top 30 Intermediate CI/CD & Automation Concepts Quiz

30 intermediate multiple-choice CI/CD & Automation concept questions, the mechanics underneath the basics: how the pieces relate and where the usual mental model stops holding. They come from 30 bites in the CI/CD & Automation library, the middle slice of the 172 CI/CD & Automation concept questions in the 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 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

  2. Question 2 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

  3. Question 3 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

  4. Question 4 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

  5. Question 5 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

  6. Question 6 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

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

  8. Question 8 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

  9. Question 9 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

  10. Question 10 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

  11. Question 11 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

  12. Question 12 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

  13. Question 13 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

  14. Question 14 of 30

    According to the card, what is the primary pitfall or misconception when using code coverage?

    Show the answer

    Answer: a · Achieving a high code coverage percentage directly ensures the high quality and correctness of the software.

    The card explicitly warns that the 'footgun is mistaking high coverage for high quality' and that chasing high coverage can 'foster a false sense of security.' Code coverage measures execution, not assertion quality. Option B is incorrect because the card states its 'real value is revealing the unexplored parts of your codebase.'

    Read the full bite: Code Coverage: What Your Tests Don't Tell You

  15. Question 15 of 30

    What is the primary benefit of implementing a quality gate in a CI/CD pipeline?

    Show the answer

    Answer: b · It ensures all code meets objective minimum standards consistently and automatically.

    The card states quality gates ensure 'all code... meets an objective minimum standard before it can be merged or released' and makes 'quality standards objective and automatic.' While it automates basic hygiene, it does not replace all manual code review, nor does it automatically fix issues or provide subjective feedback.

    Read the full bite: Quality Gates: Your Automated Code Quality Checklist

  16. Question 16 of 30

    What is the primary goal of implementing regression testing in a software development lifecycle?

    Show the answer

    Answer: c · To verify that recent code changes have not adversely affected existing, stable functionalities.

    Option C accurately describes the core purpose of regression testing: to catch unintended side effects on existing features after changes. Option B describes retesting a bug fix, which is distinct from regression testing's broader scope of checking for unintended side effects across the entire system.

    Read the full bite: Regression Testing: Don't Break What's Already Working

  17. Question 17 of 30

    What is the primary goal of conducting software performance testing?

    Show the answer

    Answer: d · To evaluate the system's stability, responsiveness, and resource utilization under anticipated and extreme user loads.

    Performance testing specifically aims to understand how a system behaves under various loads, measuring its stability, responsiveness, and resource usage to find breaking points. Options A, B, and C describe functional testing, security testing, and general bug fixing, respectively, which are distinct from performance evaluation under load.

    Read the full bite: Software Performance Testing: How a System Behaves Under Stress

  18. Question 18 of 30

    What is the fundamental purpose of Maven Coordinates (GAV) in the Java ecosystem?

    Show the answer

    Answer: d · To provide a unique, standardized address for identifying and automatically managing software artifacts.

    The card states that GAV was introduced to create a "predictable, automated system for uniquely identifying, locating, and retrieving any artifact." Option B is incorrect because GAV replaced the chaotic manual management of JAR files, it did not enable it.

    Read the full bite: Maven Coordinates (GAV): The Address of Your Code

  19. Question 19 of 30

    In which scenario would it generally be considered bad practice to commit a package lock file to your version control system?

    Show the answer

    Answer: a · For a reusable JavaScript library that other projects will install as a dependency.

    The card states that for reusable libraries, you typically don't commit the lock file to avoid forcing specific dependency versions on consuming applications, which could create conflicts. For applications (A, D) or even with exact versions (D), lock files are generally beneficial for reproducibility.

    Read the full bite: Package Lock Files: Ensuring Reproducible Builds

  20. Question 20 of 30

    In a multi-module project, what problem do Maven SNAPSHOT versions primarily solve during active development?

    Show the answer

    Answer: b · Eliminating the need to manually update dependency versions in POM files for every change.

    SNAPSHOT versions allow dependent projects to automatically retrieve the latest development build without requiring manual version updates in their POM files, thus reducing significant manual work. Options A and C describe characteristics of release versions, not SNAPSHOTs, while D is a general Maven optimization, not the primary problem SNAPSHOTs address.

    Read the full bite: Maven SNAPSHOTs: Versions for Active Development

  21. Question 21 of 30

    In a CI/CD pipeline structured with sequential stages, when does this model typically introduce inefficiency?

    Show the answer

    Answer: a · When a job in a later stage has no dependency on previous stages but must still wait for them to complete.

    The card states that a bottleneck occurs "If a fast, independent job is in a later stage, it must wait for all jobs in earlier stages to finish, even if there's no direct dependency." Option C describes a safety mechanism, not an inefficiency of the sequential stage model itself.

    Read the full bite: CI/CD Pipelines: How Stages and Jobs Orchestrate Work

  22. Question 22 of 30

    What is the primary goal of implementing conditional pipeline execution?

    Show the answer

    Answer: c · To reduce resource consumption by executing only relevant jobs.

    The card states conditional execution was created for "saving time and compute resources" by "ensuring that jobs only run when they are relevant." Option B is incorrect because the card warns against over-complicating rules, which can make configurations harder to debug.

    Read the full bite: Conditional Pipeline Execution: Run Jobs Only When Needed

  23. Question 23 of 30

    What is the primary security risk associated with storing secrets as long-lived environment variables directly in a CI/CD tool?

    Show the answer

    Answer: d · They remain static and accessible for extended periods, increasing exposure risk if the CI system is compromised.

    The card explicitly states that storing secrets as long-lived environment variables is a 'footgun' because it creates static, long-lived secrets, which significantly increases exposure risk if the CI system is compromised. The goal of secrets management is to replace these with dynamic, short-lived credentials. While other options might be minor inconveniences or incorrect assumptions, the primary concern highlighted is the extended exposure window.

    Read the full bite: Secrets Management in CI/CD Pipelines

  24. Question 24 of 30

    Which situation best demonstrates the primary advantage of using a Jenkins Shared Library?

    Show the answer

    Answer: d · An organization aims to enforce a consistent deployment strategy across all 30 of its microservice projects.

    The primary advantage of Shared Libraries is to centralize and reuse common pipeline logic across multiple projects, ensuring consistency and avoiding code duplication. Option D directly addresses this by standardizing a process across many microservices. Option C describes independent versioning, which libraries offer, but misses the core benefit of sharing and consistency across *multiple* projects, which is the main driver for using them.

    Read the full bite: Jenkins Shared Libraries: Don't Repeat Your Pipeline Code

  25. Question 25 of 30

    Which of the following is a key limitation when designing GitHub Composite Actions?

    Show the answer

    Answer: d · They cannot be nested, meaning one composite action cannot call another.

    The card explicitly states that "you cannot call a composite action from within another composite action; the nesting is not supported," identifying this as a significant limitation. Composite actions are designed to execute sequences of shell commands and can accept input parameters.

    Read the full bite: GitHub Composite Actions: Script Your CI Steps

  26. Question 26 of 30

    A company's CI/CD pipeline needs to perform tasks that access an internal, firewalled database and leverage specialized GPU hardware for complex computations. Which runner type is the most appropriate choice?

    Show the answer

    Answer: c · A self-hosted runner, providing direct access to private resources and custom hardware configurations.

    Self-hosted runners are specifically designed for scenarios requiring access to private networks (like an internal database) and the use of custom or specialized hardware (like GPUs). Standard cloud-hosted runners typically lack these capabilities.

    Read the full bite: Self-Hosted Runners: Bring Your Own CI/CD Hardware

  27. Question 27 of 30

    Which of the following is a critical reason to avoid storing Terraform state files in a version control system like Git?

    Show the answer

    Answer: a · State files can expose sensitive data and lack necessary locking for concurrent team operations.

    The card explicitly states that state files often contain sensitive data in plain text and Git lacks the locking mechanism needed to prevent race conditions in a team environment. Option A directly addresses these two critical concerns. Other options describe less critical or incorrect reasons.

    Read the full bite: Terraform State: The Map to Your Infrastructure

  28. Question 28 of 30

    A team wants to ensure all newly launched servers have an identical, pre-installed software stack. Which tool is best suited for this?

    Show the answer

    Answer: c · Packer, to create a consistent "golden image" with the software pre-installed.

    Packer is designed to create consistent, pre-configured machine images, ensuring that all newly launched instances start with an identical software stack. Tools like Ansible and Chef are primarily for configuration management of running instances, which can lead to configuration drift, while Terraform provisions the underlying infrastructure but doesn't build the image content itself.

    Read the full bite: Packer: Build Identical Machine Images Everywhere

  29. Question 29 of 30

    Which feature primarily contributes to Ansible's simplified setup and agentless operation on target machines?

    Show the answer

    Answer: a · Its ability to leverage standard SSH for communication without needing extra software on targets

    The card highlights that Ansible is 'agentless' and 'connects to your machines (usually over SSH)' without requiring 'any special software (agents) to be installed on the target nodes.' This direct use of existing SSH infrastructure is key to its simplified setup. Option D is a direct contradiction of Ansible's agentless nature.

    Read the full bite: Ansible: Automating Infrastructure with Playbooks

  30. Question 30 of 30

    When infrastructure drift occurs in a Terraform-managed environment, what is the primary risk during the next terraform apply operation?

    Show the answer

    Answer: a · Manual changes made to resources will be overwritten, potentially causing unexpected service behavior or outages.

    The card explicitly states the "footgun" of drift is that a subsequent "terraform apply may destroy your manual changes," which can lead to service disruptions. Terraform's purpose is to enforce the desired state defined in code, not to automatically adapt its code to unapproved manual changes.

    Read the full bite: Infrastructure Drift: When Reality and Code Diverge

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