A comprehensive collection of real-world DevOps interview questions and scenarios covering Linux, Docker, Kubernetes, networking, security, and cloud operations. This repository is designed to help DevOps engineers, SREs, and cloud professionals evaluate their knowledge and prepare for technical interviews.
- About
- Repository Structure
- How to Use This Repository
- Difficulty Levels
- Question Categories
- Learning Path
- Contributing
This repository contains curated DevOps questions as part of the "DevOps Questions 101" series. Each question is:
- Real-world focused: Based on actual production scenarios
- Interview-ready: Commonly asked in DevOps/SRE/Cloud interviews
- Comprehensive: Includes follow-up questions and edge cases
- Practical: Accompanied by code examples and YAML configurations
Target Audience:
- DevOps Engineers (Mid to Senior level)
- Site Reliability Engineers (SRE)
- Kubernetes/Cloud Platform Engineers
- Interview candidates preparing for DevOps roles
devops-questions-101/
├── README.md # This file
├── only_questions.txt # Batch 1: Core DevOps questions (8 questions)
├── question_bank_batch7 # Batch 7: Categorized questions (30 questions)
├── question_list.txt # Quick reference: Kubernetes networking
├── lab_k8s_questions.txt # Lab-based questions (cost optimization)
├── solutions.md # Detailed solutions with examples
├── devops_lab_overview.md # Lab setup and overview
│
├── solution2.sh # Shell script: Signal handling example
├── solution5.yaml # K8s: Dependency management with init containers
├── solution7.service # Systemd: Resource management example
│
├── deployment.yaml # Sample Kubernetes deployments
├── deployment2.yaml
├── hard_affinity_sample_app.yaml # Node affinity examples
├── soft_affinity_sample_app.yaml
│
└── k8s_cost_saving/ # Lab: OpenCost and node affinity
└── README.md
-
Start with questions only - Don't peek at solutions!
- Read
only_questions.txtorquestion_bank_batch7 - Try to answer each question thoroughly
- Write down your answers or explain them out loud
- Read
-
Review your answers
- Compare your responses with
solutions.md - Identify knowledge gaps
- Note areas for deeper study
- Compare your responses with
-
Practice with labs
- Follow exercises in
lab_k8s_questions.txt - Implement YAML examples in your own cluster
- Experiment with the provided configurations
- Follow exercises in
- Focus on difficulty levels matching your target role
- Practice explaining concepts clearly and concisely
- Prepare real-world examples from your own experience
- Review follow-up questions - interviewers love these!
- Time yourself - aim to answer within the suggested time estimates
- Follow the learning path (see below)
- Implement the examples in your own environment
- Modify configurations to understand behavior
- Research the references provided in solutions
- Build upon the labs with your own scenarios
| Level | Description | Expected Experience |
|---|---|---|
| Basic | Fundamental concepts, definitions, basic usage | 0-2 years DevOps experience |
| Intermediate | Practical implementation, troubleshooting, best practices | 2-4 years DevOps experience |
| Intermediate-Advanced | Complex scenarios, trade-off analysis, architecture decisions | 3-5 years DevOps experience |
| Advanced | Production-grade design, multi-layer debugging, optimization | 4+ years DevOps experience |
Time Estimates:
- Basic: 5-15 minutes per question
- Intermediate: 15-25 minutes per question
- Advanced: 25-40 minutes per question
- Linux Process Priority and Resource Management
- Linux Signals and Inter-Process Communication
- Kubernetes Probes Implementation
- Docker IPC and Socket Communication
- Kubernetes Application Dependency Management
- Network Switching and Kubernetes Networking
- Multi-Tier Application Resource Planning
- Kubernetes Platform Update Strategy
| Category | Question Count | Topics |
|---|---|---|
| Kubernetes Architecture | 5 | Storage, resources, capacity planning, node affinity |
| Security & Compliance | 8 | RBAC, pod security, certificates, mTLS, policies |
| Troubleshooting | 3 | Debugging, systematic approaches, pod lifecycle |
| Deployments & Lifecycle | 7 | Strategies, StatefulSets, probes, backups |
| Networking | 3 | Network policies, load balancers, service mesh |
| CI/CD & Automation | 2 | Policy enforcement, drift detection |
| Docker Concepts | 1 | Image optimization, build performance |
| Project Insights | 4 | Real-world setup, CRDs, node operations |
Week 1-2: Foundations
- Question 1: Linux process management
- Question 2: Linux signals
- Question 4: Docker architecture
- Question 6: Networking basics
Week 3-4: Kubernetes Core
- Question 3: Kubernetes probes
- Batch 7: Q1-Q5 (Architecture and Resources)
- Batch 7: Q19-Q21 (Deployments and Lifecycle)
Week 5-6: Production Skills
- Question 7: Resource planning
- Question 8: Platform updates
- Batch 7: Q14-Q16 (Troubleshooting)
Week 1-2: Security & Compliance
- Batch 7: Q6-Q13 (All security questions)
- Focus on RBAC, pod security, and certificates
Week 3-4: Advanced Kubernetes
- Question 5: Application dependencies
- Batch 7: Q17-Q18 (Deployment strategies, StatefulSets)
- Batch 7: Q22-Q24 (Advanced networking)
Week 5-6: Architecture & Optimization
- Batch 7: Q4 (Capacity planning)
- Batch 7: Q25-Q27 (CI/CD, automation, optimization)
- Lab: K8s cost saving with OpenCost
- Linux: Process management, signals, IPC, systemd
- Docker: Architecture, socket communication, image optimization
- Kubernetes:
- Core: Pods, Deployments, Services, Probes
- Storage: PV, PVC, StorageClass
- Networking: Network policies, kube-proxy, service mesh
- Security: RBAC, pod security, certificates, mTLS
- Operations: Upgrades, backups, troubleshooting
- Advanced: StatefulSets, init containers, node affinity, CRDs
- Cloud & Infrastructure: Resource planning, cost optimization, capacity planning
- CI/CD: GitOps, policy enforcement, drift detection
- Troubleshooting: Systematic debugging, multi-layer analysis
- Don't rush - Take time to understand each concept deeply
- Implement, don't just read - Hands-on practice is essential
- Relate to your experience - Connect questions to your work
- Research further - Use provided references to deepen knowledge
- Practice explaining - Teach concepts to reinforce understanding
- Track your progress - Note which questions you struggled with
- Revisit periodically - Review questions after gaining more experience
- Code Examples: All YAML files and shell scripts in this repo are ready to use
- Solutions: Detailed explanations in
solutions.md - Labs: Hands-on exercises in
k8s_cost_saving/andlab_k8s_questions.txt - External Links: Referenced throughout solutions for deeper learning
Found an error? Have a suggestion? Want to add more questions?
- Open an issue describing the problem or suggestion
- Submit a pull request with improvements
- Share your own production scenarios (anonymized)
First-time learners:
- Read
only_questions.txtand attempt answers - Check your answers against
solutions.md - Implement the YAML examples in a test cluster
- Move to
question_bank_batch7by category - Complete the labs for hands-on practice
Interview preparation:
- Focus on questions matching your target level
- Practice answering within time limits
- Prepare personal examples for each topic
- Review follow-up questions thoroughly
- Test your knowledge with the labs
Continuous learning:
- Revisit questions periodically
- Try to improve upon the provided solutions
- Explore the references and dive deeper
- Share learnings with your team
- Apply concepts in your daily work
This repository is for educational purposes. Feel free to use and share for learning and interview preparation.
Happy Learning!
Remember: The goal isn't just to memorize answers, but to understand the underlying concepts and apply them to real-world scenarios.