---
tags:
- devops
- l1
- flashcard-deck
- cicd
---
<!-- wiki:breadcrumb:start -->
[Portal](../../../../library/portal/index.md) | **Level:** [L1: Foundations](../../../../library/portal/levels.md) | **Topics:** [CI/CD](../../../../library/portal/topics.md) | **Domain:** DevOps & Tooling
<!-- wiki:breadcrumb:end -->

id	category	difficulty	tags	question	answer	source_path
circleci/2e15968d3aab	circleci	easy	circleci, fundamentals, concepts	What is CircleCI and how does it fit into CI/CD workflows?	"[Circle CI](https://circleci.com): ""CircleCI is a continuous integration and continuous delivery platform that can be used to implement DevOps practices.""\n\nRemember: CircleCI = SaaS CI/CD platform. Config in .circleci/config.yml. Free tier: 6,000 build minutes/month.\n\nCircleCI vs GitHub Actions: CircleCI has more executor types (Docker, Linux, macOS, Windows, ARM). GHA has tighter GitHub integration."	projects/knowledge/interview/circleci/001-what-is-circle-ci.txt
circleci/578f3a0e33ae	circleci	easy	circleci, orbs, reuse	What is a CircleCI Orb and how does it enable reuse?	"[Circle CI Docs](https://circleci.com/developer/orbs): ""Orbs are shareable packages of CircleCI configuration you can use to simplify your builds"" \n\nThey can come from the public registry or defined privately as part of an organization.\n\nRemember: orbs = reusable CI/CD config packages (like GitHub Actions). Example: circleci/aws-cli@4.0 provides AWS CLI steps without manual setup."	projects/knowledge/interview/circleci/004-what-is-an-orb.txt
circleci/a5e595c610c9	circleci	medium	circleci, features, overview	What are some benefits of Circle CI?	"[Circle CI Docs](https://circleci.com/docs/about-circleci): ""SSH into any job to debug your build issues.\nSet up parallelism in your .circleci/config.yml file to run jobs faster.\nConfigure caching with two simple keys to reuse data from previous jobs in your workflow.\nConfigure self-hosted runners for unique platform support.\nAccess Arm resources for the machine executor.\nUse orbs, reusable packages of configuration, to integrate with third parties.\nUse pre-built Docker images in a variety of languages.\nUse the API\n to retrieve information about jobs and workflows.\nUse the CLI to access advanced tools locally.\nGet flaky test detection with test insights."""	projects/knowledge/interview/circleci/002-what-are-some-benefits-of-circle-ci.txt
circleci/c366d89cafba	circleci	medium	circleci, config, setup	Explain the following configuration file	This configuration file will set up one job that will checkout the code of the project will run the command `echo Hello, World!`.\nIt will run in a container using the image `cimg/base:stable`.\n\nRemember: CircleCI config lives in .circleci/config.yml. Start with a simple config and iterate. Use the circleci CLI to validate locally: circleci config validate.	projects/knowledge/interview/circleci/006-explain-the-following-configuration-file-version-2.txt
circleci/cd8c803636e7	circleci	medium	circleci, pipelines, concepts	Where (in what location in the project) Circle CI pipelines are defined?	`.circleci/config.yml`\n\nRemember: CircleCI config lives in .circleci/config.yml. Start with a simple config and iterate. Use the circleci CLI to validate locally: circleci config validate.	projects/knowledge/interview/circleci/005-where-in-what-location-in-the-project-circle-ci-pi.txt
circleci/ci-orbs-deep	circleci	medium	circleci, orbs, reuse	How do CircleCI orbs promote configuration reuse and what types exist?	Orbs are reusable YAML config packages that encapsulate jobs, commands, and executors. Types: 1) Public orbs from the registry (e.g., circleci/node, circleci/aws-cli); 2) Private orbs scoped to an organization; 3) Inline orbs defined in-config for local reuse. They reduce duplication and standardize CI patterns across teams.\n\nRemember: orbs = reusable CI/CD config packages (like GitHub Actions). Example: circleci/aws-cli@4.0 provides AWS CLI steps without manual setup.	training/interactive/knowledge/data/cards/circleci.tsv
circleci/ci-contexts	circleci	medium	circleci, contexts, secrets	What are CircleCI contexts and how do they manage secrets?	"Contexts are named collections of environment variables stored at the organization level. They are attached to jobs in a workflow. Benefits: 1) Secrets are encrypted at rest; 2) Access can be restricted by security group; 3) Multiple projects can share the same context; 4) Contexts separate secret management from config files. Example: a ""production"" context with AWS credentials shared across deploy jobs.\n\nRemember: contexts = shared environment variables across projects. Use for org-wide secrets (AWS keys, Docker Hub tokens). Restrict access with security groups."	training/interactive/knowledge/data/cards/circleci.tsv
circleci/ci-workspaces-vs-cache	circleci	hard	circleci, workspaces, caching, performance	What is the difference between workspaces and caching in CircleCI?	Workspaces persist data between jobs within a single workflow run (e.g., build artifacts passed to a deploy job). They are ephemeral and deleted after the workflow ends.\nCaching persists data across workflow runs (e.g., node_modules, pip packages). Caches use keys with checksums for invalidation.\nUse workspaces for intra-workflow data flow, caches for speeding up repeated builds.\n\nRemember: CircleCI config lives in .circleci/config.yml. Start with a simple config and iterate. Use the circleci CLI to validate locally: circleci config validate.	training/interactive/knowledge/data/cards/circleci.tsv
circleci/ci-resource-classes	circleci	medium	circleci, resource-classes, performance	What are CircleCI resource classes and when would you change them?	Resource classes define the CPU and RAM allocated to a job executor. Options range from small (1 vCPU, 2GB) to 2xlarge+ (8+ vCPU, 16GB+). Change them when: 1) Builds are slow due to CPU-bound compilation; 2) Tests run out of memory; 3) You want to reduce cost by downsizing low-resource jobs. Specified per job: resource_class: large.\n\nRemember: CircleCI config lives in .circleci/config.yml. Start with a simple config and iterate. Use the circleci CLI to validate locally: circleci config validate.	training/interactive/knowledge/data/cards/circleci.tsv
circleci/ci-parallelism	circleci	hard	circleci, parallelism, testing	How does CircleCI parallelism work for splitting tests?	Set parallelism: N on a job to run N containers in parallel. Use circleci tests split to distribute test files across containers. Splitting strategies: 1) --split-by=timings (uses historical timing data for even distribution); 2) --split-by=filesize; 3) --split-by=name. Requires collecting test results with store_test_results for timing data. Can dramatically reduce test suite wall time.\n\nRemember: CircleCI config lives in .circleci/config.yml. Start with a simple config and iterate. Use the circleci CLI to validate locally: circleci config validate.	training/interactive/knowledge/data/cards/circleci.tsv
circleci/ci-approval-jobs	circleci	easy	circleci, workflows, approval	What are approval jobs in CircleCI workflows?	"Approval jobs are manual gates in a workflow that pause execution until a team member clicks ""Approve"" in the CircleCI UI. Defined with type: approval in the workflow. Common use: require human approval before deploying to production. Downstream jobs use requires: [hold] to wait for the approval step.\n\nRemember: workflows orchestrate job execution order, parallelism, and fan-out/fan-in patterns. Jobs within a workflow can run in parallel or sequentially."	training/interactive/knowledge/data/cards/circleci.tsv
circleci/ci-scheduled-pipelines	circleci	medium	circleci, pipelines, scheduling	How do you set up scheduled pipelines in CircleCI?	Scheduled pipelines trigger workflows on a cron schedule without requiring a git push. Configure via the CircleCI UI or API: set a cron expression, target branch, and pipeline parameters. Use cases: nightly builds, periodic security scans, scheduled integration tests. The pipeline runs with the latest code from the specified branch.\n\nRemember: CircleCI config lives in .circleci/config.yml. Start with a simple config and iterate. Use the circleci CLI to validate locally: circleci config validate.	training/interactive/knowledge/data/cards/circleci.tsv
circleci/ci-config-validation	circleci	easy	circleci, config, validation	How do you validate a CircleCI configuration file locally?	Use the CircleCI CLI: circleci config validate to check .circleci/config.yml for syntax and schema errors before pushing. You can also run circleci config process to see the fully expanded config after orb resolution. This catches errors early and avoids wasted build minutes on broken configs.\n\nRemember: CircleCI config lives in .circleci/config.yml. Start with a simple config and iterate. Use the circleci CLI to validate locally: circleci config validate.	training/interactive/knowledge/data/cards/circleci.tsv
circleci/ci-docker-layer-caching	circleci	hard	circleci, docker, caching	What is Docker Layer Caching (DLC) in CircleCI and when should you use it?	DLC caches Docker image layers between builds so that unchanged layers are not rebuilt. Enable it on machine or remote Docker executors with docker_layer_caching: true. Use when: 1) Building Docker images is a significant part of CI time; 2) Base layers rarely change. Cost: DLC is a paid feature and adds overhead for cache management. Not useful if Dockerfiles change frequently.\n\nRemember: CircleCI config lives in .circleci/config.yml. Start with a simple config and iterate. Use the circleci CLI to validate locally: circleci config validate.	training/interactive/knowledge/data/cards/circleci.tsv
circleci/ci-executors	circleci	easy	circleci, executors, environments	What executor types does CircleCI support?	Docker: runs jobs in a Docker container (most common, fast startup).\nMachine: runs on a full Linux VM with root access (needed for Docker-in-Docker, privileged operations).\nMacOS: runs on a macOS VM (for iOS/macOS builds).\nWindows: runs on a Windows VM.\nArm: runs on ARM-based machines. Choose based on what your build needs: Docker for most workloads, machine for Docker builds or kernel access.\n\nRemember: executors define where jobs run: Docker (fast, lightweight), machine (full VM), macOS (for iOS builds). Choose based on your build needs.	training/interactive/knowledge/data/cards/circleci.tsv
circleci/ci-ssh-debugging	circleci	medium	circleci, debugging, ssh	How do you SSH into a CircleCI job for debugging?	"Click ""Rerun job with SSH"" in the CircleCI UI. CircleCI will rerun the job and provide an SSH command to connect. You get shell access to the running executor to inspect the environment, run commands, and debug failures interactively. The session stays open for 10 minutes after the job finishes or 2 hours max.\n\nRemember: CircleCI config lives in .circleci/config.yml. Start with a simple config and iterate. Use the circleci CLI to validate locally: circleci config validate."	training/interactive/knowledge/data/cards/circleci.tsv

<!-- wiki:related:start -->
---

## Wiki Navigation

### Related Content

- [Adversarial Interview Gauntlet (30 sequences)](../../../../library/interview-scenarios/gauntlet/README.md) (Scenario, L2) — CI/CD
- [CI Pipeline Documentation](../../../../library/guides/ci-pipeline.md) (Reference, L1) — CI/CD
- [CI/CD Drills](../../../../library/drills/ci_drills.md) (Drill, L1) — CI/CD
- CI/CD Flashcards *(CLI)* (flashcard_deck, L1) — CI/CD
- [CI/CD Pipelines & Patterns](../../../../library/topics/cicd/index.md) (Topic Pack, L1) — CI/CD
- [Dagger / CI as Code](../../../../library/topics/dagger/index.md) (Topic Pack, L2) — CI/CD
- [Deep Dive: CI/CD Pipeline Architecture](../../../../library/deep-dives/ci.cd.pipeline.architecture.md) (deep_dive, L2) — CI/CD
- [GitHub Actions](../../../../library/topics/github-actions/index.md) (Topic Pack, L1) — CI/CD
- [Interview: CI Vuln Scan Failed](../../../../library/interview-scenarios/06-ci-vuln-scan-failed.md) (Scenario, L2) — CI/CD
- Jenkins Flashcards *(CLI)* (flashcard_deck, L1) — CI/CD

<!-- wiki:related:end -->
