Skip to content
tezvyn:

CI/CD & Automation

GitHub Actions, Terraform, ArgoCD, IaC, pipelines

157 bites

Test yourself: Top 30 intermediate CI/CD & Automation interview questionsMultiple choice, with the correct answer and why it is correct on every question. Free, no sign-in.

Intermediate everything in CI/CD & Automation, page 8

intermediate2 min read

Maven Coordinates (GAV): The Address of Your Code

Maven Coordinates (GAV) are like a postal address for a software library. You use them in a pom.xml to declare your project's identity and specify its dependencies.

intermediate2 min read

Software Performance Testing: How a System Behaves Under Stress

Performance testing answers 'how does it work under load?' It simulates user traffic to measure a system's responsiveness, stability, and resource use. The footgun is testing unrealistic scenarios instead of finding real-world breaking points.

intermediate2 min read

Regression Testing: Don't Break What's Already Working

Regression testing asks: 'Did my new code break old features?' It's re-running existing tests after a change to catch unintended side effects. It's crucial in CI/CD pipelines before deploying. The footgun is a slow suite that developers skip.

intermediate2 min read

Quality Gates: Your Automated Code Quality Checklist

A quality gate is an automated checklist that asks, 'Is this code ready to release?' It runs in CI/CD to enforce standards on metrics like bugs and test coverage, blocking merges that fail. The footgun is using one gate for all projects; tailor rules to.

intermediate2 min read

Code Coverage: What Your Tests Don't Tell You

Code coverage measures which lines of code your tests execute, not how well they're tested. It's used in CI to enforce a testing baseline, but the footgun is mistaking high coverage for high quality—100% coverage can exist with zero useful assertions.

intermediate2 min read

Maven's Build Lifecycle: A Sequence of Build Phases

Maven's build lifecycle is a predefined sequence of phases like compile, test, and package. Running a phase executes all preceding ones, ensuring a consistent build.

intermediate1 min read

Gradle: Code-Based Builds, Not XML

Gradle treats your build process like code, not configuration, using a flexible Groovy or Kotlin DSL instead of rigid XML. It's used for compiling and packaging multi-language projects.

intermediate2 min read

Apache Maven: Convention Over Configuration for Builds

Maven standardizes your build process using a 'convention over configuration' model, defining project structure and dependencies declaratively. It's the backbone of many Java projects, ensuring consistent builds. The footgun is fighting its conventions.

intermediate2 min read

Static Analysis: Read Code, Don't Run It

Static analysis is like a spell checker for your code, catching errors before you run the program. It powers linters and security scanners in CI pipelines to find bugs and vulnerabilities. The footgun: it can't understand intent, leading to false positives.

GitHub Flow: A Simple, Branch-Based Workflow
intermediate2 min read

GitHub Flow: A Simple, Branch-Based Workflow

GitHub Flow is a simple workflow where main is always stable and new work happens on a feature branch. It's used for continuous delivery, from code to documentation.

intermediate2 min read

Git Rebase: Rewriting History for a Cleaner Timeline

Git rebase rewrites history by transplanting your commits onto a new base, creating a clean, linear project history instead of a merge bubble. It's used to catch a feature branch up with main. Never rebase a branch others are using; it rewrites history.

intermediate2 min read

Git Merge: Combining Development Histories

Git merge combines separate lines of development into one branch. It creates a special merge commit that ties the two histories together, preserving the context of each. Use it to integrate a feature branch into your main line.

Pull Requests: A Structured Conversation About Code
intermediate2 min read

Pull Requests: A Structured Conversation About Code

A Pull Request (PR) is a structured conversation about a proposed code change. It's used in team projects to review new features and fixes, ensuring quality and sharing knowledge. The footgun is treating PRs as a rubber-stamp approval instead of a real review.

intermediate2 min read

Canary Release: Test New Code on Real Users, Safely

A canary release is like sending a canary into a coal mine: expose a new version to a small group of users to detect problems before a full rollout. It's used to safely test changes in production by gradually shifting traffic.

Blue-Green Deployment: Zero-Downtime Releases
intermediate2 min read

Blue-Green Deployment: Zero-Downtime Releases

Run two identical production environments, Blue (live) and Green (new). To deploy, just flip a switch routing traffic to Green. This enables zero-downtime releases and instant rollbacks. The footgun is using DNS for the switch, which can lag due to caching.

intermediate2 min read

Infrastructure as Code: Manage Servers with Code, Not Clicks

Infrastructure as Code (IaC) treats servers and networks like software: defined in files and versioned in Git. It's used to automate cloud resource provisioning on AWS or GCP, ensuring consistent, repeatable environments.

intermediate2 min read

Artifact Repository: Your CI/CD's Private Library

An artifact repository is your CI/CD's private library for build outputs like packages and images. CI pipelines publish artifacts here, and deployment scripts pull from it.

We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.

See open roles