Skip to content
tezvyn:

Top 30 Easy CI/CD & Automation Concepts Quiz for Beginners

30 easy multiple-choice CI/CD & Automation concept questions, the vocabulary and first principles, the parts you need before anything else makes sense. They come from 30 bites in the CI/CD & Automation library, the gentlest 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 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 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

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

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

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

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

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

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

  10. Question 10 of 30

    Which statement best describes the primary focus of unit testing?

    Show the answer

    Answer: b · Confirming that individual code components work correctly in isolation.

    The card explicitly states that unit tests verify "smallest code pieces" and "behave correctly in isolation," using the analogy of testing a single light switch. Options A, B, and D describe system/end-to-end testing, performance testing, and integration testing, respectively, which have broader scopes than unit tests.

    Read the full bite: Unit Testing: Verifying Code's Smallest Parts

  11. Question 11 of 30

    Which scenario best illustrates the primary goal of integration testing?

    Show the answer

    Answer: d · Verifying an API endpoint successfully stores data in a database.

    Integration testing aims to verify that different software modules, such as an API and a database, interact correctly. Option D directly describes this interaction, while options A, C, and D represent unit, end-to-end, and performance testing, respectively.

    Read the full bite: Integration Testing: Do Your Components Play Well Together?

  12. Question 12 of 30

    What is the primary purpose of conducting a smoke test on a new software build?

    Show the answer

    Answer: b · To quickly assess if the build is fundamentally stable enough to proceed with more detailed testing.

    The card emphasizes that smoke tests are a 'rapid, low-cost signal to 'fail fast'' and act as a 'gatekeeper' to determine if a build is worth testing further. Option B directly reflects this goal. Option A is incorrect because the card explicitly states smoke tests are not a replacement for comprehensive regression testing.

    Read the full bite: Smoke Testing: Is This Build Even Worth Testing?

  13. Question 13 of 30

    Which scenario would typically NOT necessitate the use of a package manifest for a software project?

    Show the answer

    Answer: a · The project is a single, standalone script that does not import any external libraries.

    The card states that a manifest is overkill for "a single, self-contained script with zero external libraries." It becomes essential the moment even one third-party library is added, regardless of project size, type of dependencies, or the specific management tool used.

    Read the full bite: Package Manifest: Your Project's List of Ingredients

  14. Question 14 of 30

    What is the fundamental structure of a Semantic Versioning number?

    Show the answer

    Answer: a · A three-part number: Major.Minor.Patch.

    The card explicitly states that the core of Semantic Versioning is a three-part Major.Minor.Patch number. While some implementations may extend it to four parts, this is not its fundamental structure.

    Read the full bite: Semantic Versioning: A Three-Part Numbering System

  15. Question 15 of 30

    What is the primary scenario where a Docker Registry becomes indispensable?

    Show the answer

    Answer: a · To enable efficient sharing and deployment of Docker images across multiple environments or users.

    A Docker Registry is essential for storing, managing, and sharing images, especially when moving them between machines or deploying them. While local development might involve images, the card states a registry isn't technically needed for purely local use without sharing.

    Read the full bite: Docker Registry: A Library for Your Images

  16. Question 16 of 30

    What is the primary reason developers must understand and manage transitive dependencies?

    Show the answer

    Answer: d · To prevent potential security vulnerabilities, version conflicts, and unnecessary code bloat.

    The card explicitly states that understanding transitive dependencies is critical for debugging mysterious version conflicts, trimming application bloat, and securing the software supply chain. Option B is incorrect because while you can manage them, they are often necessary for direct dependencies to function, not always optional.

    Read the full bite: Transitive Dependencies: The Hidden Baggage in Your Code

  17. Question 17 of 30

    What is the fundamental advantage of defining a CI/CD pipeline using a Jenkinsfile over configuring it directly in the Jenkins web UI?

    Show the answer

    Answer: c · It ensures the pipeline definition is treated as code, allowing for version control, collaboration, and an audit trail.

    The core benefit of a Jenkinsfile is treating the pipeline as code, which enables version control, review, sharing, and an audit trail, solving the problems of UI-configured pipelines. While Jenkinsfiles can offer powerful scripting (especially Scripted Pipeline), this is a feature, not the fundamental advantage over UI configuration, which also allows complex steps but lacks the 'as code' benefits.

    Read the full bite: Jenkinsfile: Your CI/CD Pipeline as Code

  18. Question 18 of 30

    Which scenario represents a common pitfall or 'footgun' when configuring pipeline triggers?

    Show the answer

    Answer: b · Automatically deploying every code push from any branch directly to production.

    The card explicitly warns against "overly broad or sensitive triggers" such as automatically deploying every push from any branch to production. The other options describe recommended and safe uses of pipeline triggers.

    Read the full bite: Pipeline Triggers: The 'If This, Then That' of CI/CD

  19. Question 19 of 30

    Which task is Terraform NOT primarily designed to handle?

    Show the answer

    Answer: c · Installing and configuring software packages inside a provisioned server

    Terraform is an Infrastructure as Code tool focused on provisioning and managing infrastructure resources. It is explicitly stated that Terraform is not a configuration management tool for installing software or managing files inside a server once it's running.

    Read the full bite: Terraform: Manage Infrastructure as Code

  20. Question 20 of 30

    What is the primary benefit of defining AWS infrastructure using CloudFormation templates?

    Show the answer

    Answer: c · It ensures consistent, repeatable, and version-controlled infrastructure deployments.

    Option C is correct because the card emphasizes CloudFormation's role in creating "repeatable, version-controlled environments" and acting as the "single source of truth" for consistent infrastructure. Option B is a tempting distractor, but the card explicitly states CloudFormation is AWS-specific and not for multiple cloud providers.

    Read the full bite: AWS CloudFormation: Your AWS Infrastructure as a Blueprint

  21. Question 21 of 30

    When is Vagrant the most appropriate tool for setting up a development environment?

    Show the answer

    Answer: c · When your project requires a full, isolated operating system with complex OS-level dependencies.

    Vagrant is designed for managing full, isolated operating systems for development, especially when complex OS-level dependencies or precise replication of a production VM are needed. It is explicitly stated that Vagrant has a higher resource footprint and is not for lightweight application packaging, which makes option D and A incorrect.

    Read the full bite: Vagrant: Your Dev Environment as Code

  22. Question 22 of 30

    Which scenario best illustrates the primary benefit of using environment variables for application configuration?

    Show the answer

    Answer: d · An application needs to connect to different databases in development and production without altering its codebase.

    The primary benefit of environment variables is to allow applications to adapt to different environments (like development vs. production) without requiring changes to the source code. Option D directly reflects this by showing how a database connection can change based on the environment variable. Option A is incorrect because environment variables do not automatically encrypt data; their security benefit comes from keeping sensitive information out of version control.

    Read the full bite: Environment Variables: Configuration Outside Code

  23. Question 23 of 30

    What type of information is explicitly warned against storing directly in a configuration file that is committed to version control?

    Show the answer

    Answer: b · Sensitive API keys or database passwords

    The card explicitly states that sensitive secrets like passwords or private keys should never be stored in a plain text config file committed to version control, recommending environment variables or a secrets management service instead. The other options represent appropriate uses for configuration files.

    Read the full bite: Configuration Files: Separating Code from Settings

  24. Question 24 of 30

    In a Twelve-Factor App, which of the following should typically be stored using environment variables?

    Show the answer

    Answer: b · Database connection strings

    The card specifies that environment variables are for values that change between deployments, such as database connection strings. Route definitions, dependency injection wiring, and fixed internal constants are considered part of the application's code or internal configuration that remains constant across deploys.

    Read the full bite: The Twelve-Factor App: Store Config in the Environment

  25. Question 25 of 30

    What is the primary architectural difference that makes software containers more lightweight and faster to start than virtual machines?

    Show the answer

    Answer: a · They share the operating system kernel of the host machine.

    Containers are lightweight and start quickly because they share the host operating system's kernel, avoiding the overhead of booting a full guest OS. Virtual machines, in contrast, virtualize an entire hardware stack and run a complete, separate operating system, making them heavier.

    Read the full bite: Software Containers: Portable, Isolated Applications

  26. Question 26 of 30

    What is the main purpose of using a Dockerfile in application development?

    Show the answer

    Answer: d · To automate the creation of a consistent and portable environment for an application.

    The card explains that Dockerfiles exist to codify the process of creating a consistent, portable application environment, solving the 'it works on my machine' problem. Option B describes the function of orchestration tools like Docker Compose or Kubernetes, not the Dockerfile itself.

    Read the full bite: Dockerfile: The Recipe for Your Container

  27. Question 27 of 30

    What is a fundamental limitation of storing stateful application data directly within a container image or its running instance?

    Show the answer

    Answer: b · Any data written to the container's filesystem will be lost when the container is removed.

    The card states that "While you can write data inside a container, it's lost when the container is removed." This highlights that data stored directly within a container's filesystem is ephemeral. Option C is incorrect because a running container has a writable layer, even though the image layers themselves are read-only; the issue is persistence, not immutability during runtime.

    Read the full bite: Container Image: A Blueprint for Your Application

  28. Question 28 of 30

    What is the fundamental problem Docker Compose aims to resolve for software applications?

    Show the answer

    Answer: d · The "works on my machine but not on yours" issue due to environmental differences.

    The card explicitly states Docker Compose solves the 'inconsistency in software behavior across different computers' or 'works on my machine' problem by ensuring a consistent runtime. While containers are lightweight, reducing memory footprint (B) is a characteristic, not the primary problem Compose was designed to solve.

    Read the full bite: Docker Compose: A Tool for Containerized Applications

  29. Question 29 of 30

    What is the primary risk associated with using a rolling deployment strategy?

    Show the answer

    Answer: a · Data corruption or application failure if old and new code versions are not backward compatible.

    The card explicitly states that the "main footgun is incompatibility between old and new code running at the same time" and warns against using rolling deployments if changes are not backward compatible, as this can lead to "data corruption or application failure." Option D is less accurate because while rollback is always a consideration, the card highlights incompatibility as the primary risk specific to the concurrent running of old and new versions.

    Read the full bite: Rolling Deployment: Update Servers Without Downtime

  30. Question 30 of 30

    According to the card, how does a CI/CD system typically perform a deployment rollback?

    Show the answer

    Answer: b · It re-executes the deployment process for a previously successful application version.

    The card explicitly states that a rollback is typically 're-running a previous, successful deployment job from that history,' which means re-executing the deployment for an older, stable version. It is not about generating new code or applying patches to the current broken version.

    Read the full bite: Deployment Rollbacks: Your CI/CD Undo Button

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