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