Cracking the DevOps Interview
It’s no surprise that DevOps/Platform engineering roles are getting so much attention recently…
And usually at this point in the article I would write the 5 paragraphs essay style boring you all to death on all the benefits and fun you could be having working within these DevOps roles (which would all be completely true by the way) — but actually, I don’t have to.
All I have to do is show the latest data from Indeed on the recent DevOps Roles' average salaries and you can understand why so many people are taking an interest.

So.. for all those looking for a new role in the industry. Here’s my guide to Cracking the DevOps Interview from somebody who’s been on both sides of the table.
Technical interviews can be unnerving. Imposter syndrome starts to creep in as soon as you get asked something you hadn't prepared for. So I thought I’d do some research of my own to see what advice was being given out to our future candidates.
But I was pretty surprised at what I found…
After scouring the internet for example questions, I found that many articles will prepare you for questions like:
“What do you know about DevOps?”
and …
“How is DevOps different from agile methodology?
I can promise you; NO technical developer is going to ask you something like this in an interview. From personal experience, when I’m interviewing new candidates for a role, I want to know what tools they have experience with and what level of understanding they have.

DevOps has such a broad toolset that it’s not really fair to expect a candidate to have experience with every single one. Luckily, many of these tools do the same or similar job. For example, deploying an Instance on AWS is unsurprisingly very similar to spinning up a VM on Azure. A little training and it can be picked up very easily.
REMEMBER — Interviewers are looking for developers with an understanding and experience rather than the memorization of a tool’s UI.
So with that, I’ve listed what is (in my opinion) the most important categories I would want to test in a DevOps interview as well as what knowledge would be expected of a candidate given their experience level.
Containerization
Entry Level Knowledge
An entry-level candidate should have a basic understanding of containerization concepts and familiarity with Docker and Kubernetes. The candidate should have knowledge and proficiency in the following areas:
- Containerization Basics: Understanding the concept of containers, their benefits, and how they differ from virtual machines (this can be a very common interview question for beginners!)
- Docker Fundamentals: Familiarity with Docker, including the ability to create, manage, and run Docker containers, work with Docker images and Dockerfile, and understand basic networking and storage concepts. Some hands-on experience will also go a long way here.
- Container Orchestration: Basic knowledge of container orchestration and an introduction to Kubernetes, including the ability to deploy and manage applications using Kubernetes manifests.
- Container Registry: Familiarity with container registries like Docker Hub and basic image management, such as pulling, pushing, and tagging Docker images.
Mid-Level Knowledge
Mid-level candidates should have a deeper understanding and practical experience with Docker and Kubernetes.
A Practical understanding and examples of actual usage will get you a long way in comparison to just understanding the theory.
In addition to the skills mentioned for entry-level candidates, mid-level candidates should demonstrate proficiency in the following areas:
- Docker Advanced Topics: Experience with advanced Docker concepts, such as multi-stage builds, Docker networking (overlay networks), volume management, Docker Compose for multi-container applications and Docker security best practices.
- Kubernetes Operations: Knowledge of deploying and managing applications in a Kubernetes cluster, understanding of core Kubernetes components like Pods, Deployments, Services, ConfigMaps, and Secrets, and exposure to scaling, rolling updates, and troubleshooting techniques.
- Infrastructure Provisioning: Understanding how to provision infrastructure for Kubernetes clusters, including using tools like Terraform or AWS CloudFormation to create the necessary resources.
- Monitoring and Observability: Experience with Kubernetes monitoring and observability tools like Prometheus, Grafana, and Kubernetes-native solutions such as Kubernetes Events, Metrics, and Logs.
Senior-level candidate
Senior-level candidates should have extensive experience and deep expertise in containerization, Docker, and Kubernetes. In addition to the skills mentioned for mid-level candidates, senior-level candidates should demonstrate proficiency in the following areas:
- Advanced Kubernetes Concepts: In-depth knowledge of advanced Kubernetes concepts such as StatefulSets, DaemonSets, Custom Resource Definitions (CRDs), Operators, and advanced networking with tools like Istio.
- Container Security: Strong understanding of container security best practices, including image scanning, vulnerability management, pod security policies, network policies, and RBAC (Role-Based Access Control) in Kubernetes.
- Performance Optimization: Expertise in optimizing application and cluster performance in Kubernetes, including resource allocation, horizontal and vertical scaling, optimizing container images, and utilizing Kubernetes autoscaling features.
- CI/CD Pipelines: Experience with integrating containerization, Docker, and Kubernetes into CI/CD pipelines, using tools like Jenkins, GitLab CI/CD, or Argo CD.
- Cluster Administration: Proficiency in cluster administration tasks, such as backup and disaster recovery, cluster upgrades, monitoring and alerting, cluster security hardening, and managing multi-cluster environments.
Cloud
Entry Level Knowledge
An entry-level candidate for a DevOps/Platform Engineer role should have a foundational understanding of cloud computing concepts and basic familiarity with cloud platforms like AWS and Azure.
Usually, interviewers want you to have experience with either one of these platforms. They may have a preference but ultimately they are well aware that the skills are easily transferable.
The candidate should have knowledge and proficiency in the following areas:
- Cloud Computing Basics: Understanding the fundamentals of cloud computing, including the benefits of cloud services, deployment models (public, private, hybrid), and service models (IaaS, PaaS, SaaS).
- AWS/Azure Services: Familiarity with core services provided by AWS (e.g. EC2, S3, RDS, Lambda) or Azure (e.g. VMs, Blob Storage, SQL Database, Functions) and their basic usage.
- Virtual Machines: Basic knowledge of deploying and managing virtual machines (EC2 in AWS, VMs in Azure), including instance types, virtual machine images, and basic networking concepts.
- Storage and Databases: Understanding the basics of cloud storage services (e.g., S3, Azure Blob Storage) and databases (e.g., RDS, Azure SQL Database) and their common use cases.
- Networking: Basic understanding of cloud networking concepts, including virtual networks, subnets, security groups, and load balancers.
Mid-Level Knowledge
Mid-level candidates should have a deeper understanding and practical experience with cloud platforms like AWS and Azure, and the ability to design and implement scalable cloud solutions. In addition to the skills mentioned for entry-level candidates, mid-level candidates should demonstrate proficiency in the following areas:
- Infrastructure as Code (IaC): Experience with IaC tools like AWS CloudFormation or Azure Resource Manager (ARM) templates to provision and manage cloud resources. We’ll talk a bit more about IaC later.
- Containerization on the Cloud: Knowledge of containerization platforms like AWS ECS (Elastic Container Service) or Azure Kubernetes Service (AKS) and their integration with other cloud services.
- Serverless Computing: Familiarity with serverless computing platforms like AWS Lambda or Azure Functions and the ability to design and deploy serverless applications.
- Networking and Security: Understanding advanced networking configurations, such as VPC peering, VPN connections, or virtual network gateways, and cloud security best practices, including IAM (Identity and Access Management), security groups, and network ACLs.
- Monitoring and Logging: Experience with cloud monitoring and logging services such as AWS CloudWatch or Azure Monitor, and the ability to set up alerts and dashboards for monitoring cloud resources.
Senior-level Knowledge
Senior-level candidates should have extensive experience and expertise in designing and implementing cloud solutions using AWS and Azure. In addition to the skills mentioned for mid-level candidates, senior-level candidates should demonstrate proficiency in the following areas:
- Cloud Architecture Design: Ability to design highly available, scalable, and fault-tolerant cloud architectures, including the selection and integration of appropriate AWS/Azure services for different use cases.
The ability to architect high-level systems is often what puts the cat amongst the pigeons in the most senior of positions.
2. Advanced Services and Solutions: Knowledge of advanced AWS services like AWS Lambda, DynamoDB, or AWS Elastic Beanstalk, and advanced Azure services like Azure Cosmos DB, Logic Apps, or Azure Event Grid.
3. DevOps and CI/CD: Experience in setting up DevOps practices and CI/CD pipelines in the cloud using tools like AWS CodePipeline, AWS CodeDeploy, Azure DevOps, or Azure Pipelines.
We’ll cover more on CI/CD later but it’s important to know how they can be integrated into your cloud system.
3. Hybrid and Multi-Cloud Deployments: Understanding of hybrid cloud architectures and the ability to integrate on-premises infrastructure with cloud platforms, as well as experience with multi-cloud deployments.
4. Cost Optimization and Resource Management: Proficiency in optimizing cloud costs, implementing cost-saving strategies, and managing cloud resources effectively using tools. Costs can easily skyrocket when working with the cloud so being able to use what resources are made available to shrink these are a huge asset to a company.

CI/CD
a) Entry-level candidate: An entry-level candidate for a DevOps/Platform Engineer role should have a foundational understanding of CI/CD principles and basic familiarity with CI/CD tools. The candidate should have knowledge and proficiency in the following areas:
- CI/CD Concepts: Understanding the fundamentals of CI/CD, including the benefits, principles, and goals of continuous integration, continuous delivery, and continuous deployment.
- Version Control Systems: Familiarity with version control systems like Git and basic operations such as cloning repositories, branching, and committing changes.
- Build Automation: Basic knowledge of build tools like Maven, Gradle, or npm, and the ability to configure and execute builds.
- Continuous Integration Tools: Awareness of popular CI tools such as Jenkins, GitLab CI/CD, or CircleCI, and the ability to configure basic CI pipelines for building and testing applications.
- Artifact Repository: Understanding the concept of artifact repositories like Nexus or JFrog Artifactory and their role in storing and managing build artifacts.
b) Mid-level candidate: Mid-level candidates should have a deeper understanding and practical experience with CI/CD practices and a variety of CI/CD tools. In addition to the skills mentioned for entry-level candidates, mid-level candidates should demonstrate proficiency in the following areas:
- Advanced Build Configuration: Experience with configuring complex build pipelines that include multiple stages, parallel execution, caching, and artifact management.
- Automated Testing Integration: Knowledge of integrating automated tests into CI/CD pipelines using testing frameworks such as JUnit, PyTest, or Selenium, and the ability to generate test reports.
- Configuration Management: Familiarity with configuration management tools like Ansible or Puppet to automate the provisioning and configuration of infrastructure.
- Deployment Strategies: Understanding different deployment strategies such as blue-green deployment, canary releases, or rolling updates, and the ability to implement them using CI/CD tools.
- Containerization and Orchestration: Knowledge of integrating containerization technologies like Docker and container orchestration platforms like Kubernetes into CI/CD pipelines.
c) Senior-level candidate: Senior-level candidates should have extensive experience and expertise in designing and implementing CI/CD pipelines and managing complex deployment workflows. In addition to the skills mentioned for mid-level candidates, senior-level candidates should demonstrate proficiency in the following areas:
- CI/CD Pipeline Design: Ability to design scalable, efficient, and modular CI/CD pipelines that include build, test, deployment, and release stages.
- Infrastructure as Code (IaC): Experience with IaC tools like Terraform or AWS CloudFormation to provision and manage infrastructure resources as part of the CI/CD process.
- Monitoring and Observability: Knowledge of integrating monitoring and observability tools like Prometheus, Grafana, or ELK Stack into CI/CD pipelines for tracking performance and gathering metrics.
- Security and Compliance: Understanding of security best practices in CI/CD, including vulnerability scanning, code analysis, and implementing security checks as part of the pipeline.
- Pipeline Orchestration: Proficiency in orchestrating complex CI/CD workflows across multiple repositories, branches, and environments, using tools like Jenkins Pipeline, GitOps, or Spinnaker.
Infrastructure as Code
For these, we’ll be mainly focusing on the core concepts & two of the more prominent IaC tools in Terraform & Ansible. There are many other tools available and if you have experience with these then that's fantastic as well!
Entry-level Knowledge
An entry-level candidate for a DevOps/Platform Engineer role should have a foundational understanding of IaC principles and basic familiarity with IaC tools and cloud platforms. The candidate should have knowledge and proficiency in the following areas:
- Infrastructure as Code Concepts: Understanding the fundamentals of IaC, including the benefits, principles, and goals of managing infrastructure through code.
- Configuration Management: Familiarity with configuration management tools like Ansible, including writing basic playbooks to automate the configuration of systems.
- Cloud Platforms: Basic knowledge of cloud platforms such as AWS, Azure, or Google Cloud Platform (GCP), including creating and managing basic cloud resources like virtual machines, storage, or networking.
- Basic Terraform: Familiarity with basic Terraform concepts, such as writing simple infrastructure configurations using Terraform syntax and provisioning resources.
- Infrastructure Provisioning: Understanding the basics of provisioning infrastructure resources manually on cloud platforms or using simple scripts.
Many of the Infrastructure as code elements are also covered under cloud tooling so you may be able to combine your knowledge here.
Mid-level Knowledge
Mid-level candidates should have a deeper understanding and practical experience with IaC tools, infrastructure provisioning, and cloud platforms. In addition to the skills mentioned for entry-level candidates, mid-level candidates should demonstrate proficiency in the following areas:
- Advanced Configuration Management: Experience with advanced Ansible features, such as roles, dynamic inventories, or leveraging Ansible Galaxy for reusable playbooks and modules.
- Terraform Configuration: Ability to write complex infrastructure configurations using Terraform, including modularization, variable usage, and understanding Terraform state management.
- Infrastructure Testing: Knowledge of testing infrastructure code using tools like Testinfra or InSpec to ensure the desired state of the infrastructure and validate the correctness of configurations.
- Infrastructure as Code Best Practices: Understanding best practices for writing reusable, maintainable, and scalable infrastructure code, such as using modules, version control, and following the principles of infrastructure design patterns.
Senior-level candidate
Senior-level candidates should have extensive experience and expertise in designing and implementing infrastructure as code solutions, along with advanced knowledge of IaC tools and cloud platforms. In addition to the skills mentioned for mid-level candidates, senior-level candidates should demonstrate proficiency in the following areas:
- IaC Architecture and Design: Ability to design scalable and resilient infrastructure architectures using IaC principles, taking into account high availability, fault tolerance, and disaster recovery.
- Advanced Terraform: Mastery of advanced Terraform concepts, such as remote state management, workspaces, Terraform modules, and leveraging Terraform providers for cloud-specific resources.
- Multi-Cloud and Hybrid Deployments: Experience with deploying infrastructure across multiple cloud platforms or integrating on-premises infrastructure with cloud resources using IaC tools.
- Infrastructure Governance and Compliance: Knowledge of implementing infrastructure governance and compliance standards using tools like HashiCorp Sentinel or AWS Config.
- Infrastructure Automation: Proficiency in automating infrastructure provisioning, configuration, and management tasks using IaC tools and scripting languages, such as Python or Bash.
Final Thoughts
First of all — please note that all of these levels serve as general guidelines and you should never be put off going for a role that might be beyond you, it may help you learn a lot.
I hope you find this resource useful and that you gain what you need to go forth and get your dream job!





