Devops Engineer

800+ Devops Engineer Interview Questions and Answers

Updated 12 Dec 2024

Popular Companies

search-icon

Q51. How would you debug a website which is progressively slowing down

Ans.

To debug a progressively slowing down website, I would analyze the server logs, check for memory leaks, and optimize the code.

  • Analyze server logs to identify any errors or bottlenecks

  • Check for memory leaks in the code

  • Optimize the code by removing unnecessary scripts and optimizing images

  • Use tools like Chrome DevTools to identify performance issues

  • Consider implementing a content delivery network (CDN) to improve website speed

Q52. Did you write a Docker file from scratch? What is the syntax for Docker file?

Ans.

Yes, I have written Docker files from scratch. The syntax for Docker file includes instructions and arguments.

  • Docker file is a script that contains instructions to build a Docker image

  • The syntax includes instructions like FROM, RUN, COPY, CMD, etc.

  • Arguments are used to specify details like the base image, working directory, etc.

  • Example: FROM ubuntu:latest RUN apt-get update && apt-get install -y python3

  • Example: COPY . /app WORKDIR /app CMD python3 app.py

Q53. How Can You Ensure High Availability of the etcd Cluster Used by Kubernetes?

Ans.

To ensure high availability of the etcd cluster used by Kubernetes, you can implement redundancy, monitoring, and disaster recovery strategies.

  • Implement a multi-node etcd cluster to ensure redundancy and fault tolerance.

  • Utilize monitoring tools like Prometheus and Grafana to track the health and performance of the etcd cluster.

  • Set up regular backups and implement disaster recovery plans to quickly recover from failures.

  • Use Kubernetes features like PodDisruptionBudgets to prev...read more

Q54. What is virtual private cloud or Vnet? What is the use of Vnet and why we use it in DevOps?

Ans.

A virtual private cloud (VPC) or Vnet is a private network in the cloud that allows you to isolate resources and control network traffic.

  • VPC/Vnet provides a secure and isolated environment for resources in the cloud.

  • It allows you to define your own IP address range, subnets, route tables, and network gateways.

  • VPC/Vnet helps in creating a secure connection between on-premises data centers and cloud resources.

  • It is used in DevOps to ensure secure communication between different...read more

Are these interview questions helpful?

Q55. what is DevOps? how the DevOps will helpful for the Organization?

Ans.

DevOps is a culture that promotes collaboration between development and operations teams to deliver software faster and more reliably.

  • DevOps helps organizations to achieve faster time-to-market, improved quality, and increased efficiency.

  • It involves automating the software delivery process, continuous integration and deployment, and monitoring and feedback loops.

  • DevOps also emphasizes on communication, collaboration, and shared responsibility between teams.

  • Examples of DevOps ...read more

Q56. How do you give permission to a particular secret to a user or application?

Ans.

To give permission to a secret, grant access to the user or application in the secret management tool.

  • Access control can be managed through the secret management tool.

  • Users or applications can be granted read or write access to a specific secret.

  • Access can be granted based on roles or individual permissions.

  • Examples of secret management tools include HashiCorp Vault and AWS Secrets Manager.

Share interview questions and help millions of jobseekers 🌟

man-with-laptop

Q57. how you can take the .jar file from jenkins nexus repo to apache tomcat container

Ans.

Use Tomcat Manager to deploy .jar file from Jenkins Nexus repo to Apache Tomcat container.

  • Configure Tomcat Manager credentials in Tomcat's server.xml file.

  • Add Tomcat Manager plugin to Jenkins and configure credentials.

  • Create a Jenkins job to download .jar file from Nexus repo and use Tomcat Manager API to deploy it to Tomcat container.

  • Alternatively, use Maven plugin to deploy .jar file to Tomcat container.

  • Ensure proper permissions and firewall rules are set up.

  • Test the deploy...read more

Q58. Explain how different elb route traffic, focus on nlb vs alb

Ans.

NLB and ALB are both ELBs but differ in their routing capabilities.

  • NLB routes traffic based on IP addresses and ports, while ALB routes traffic based on HTTP/HTTPS requests.

  • NLB is better suited for TCP/UDP traffic, while ALB is better suited for HTTP/HTTPS traffic.

  • ALB supports advanced routing features like path-based routing and host-based routing.

  • NLB is more performant and can handle higher traffic loads than ALB.

  • Both NLB and ALB can be used in conjunction with Auto Scaling...read more

Devops Engineer Jobs

Principal, DevOps Engineer 6-10 years
Schneider Electric India Pvt. Ltd.
4.2
Bangalore / Bengaluru
Infrastructure and DevOps Engineer 2-7 years
Intel Technology India Pvt Ltd
4.2
Bangalore / Bengaluru
Devops Engineer 2-6 years
IBM India Pvt. Limited
4.1
Pune

Q59. What does a load balancer do when an instance in aws stops

Ans.

Load balancer routes traffic to other healthy instances

  • Load balancer detects the unhealthy instance

  • Stops sending traffic to that instance

  • Routes traffic to other healthy instances

  • Maintains high availability and scalability of the application

Q60. Write Docker file structure for nginx image,How to resolve Git conflicts.

Ans.

Docker file structure for nginx image and resolving Git conflicts

  • Dockerfile structure for nginx image: FROM nginx, COPY index.html /usr/share/nginx/html, EXPOSE 80

  • To resolve Git conflicts: git status, git pull, git add , git commit -m 'Resolved conflict', git push

Q61. what is the meaning of declarative pipeline?

Ans.

Declarative pipeline is a Jenkins feature that allows defining pipelines using a simple, human-readable syntax.

  • Declarative pipeline is based on YAML syntax

  • It allows defining pipelines as code

  • It provides a simpler and more structured way of defining pipelines compared to Scripted pipeline

  • It enforces a strict structure and syntax for defining pipelines

  • Declarative pipeline supports parallelism, stages, and steps

  • Declarative pipeline can be version controlled and shared across tea...read more

Q62. DevOps Question

Can you explain the architecture of Jenkins?

Q63. What are the Docker commands used inside a Docker file?

Ans.

Docker commands used inside a Dockerfile

  • FROM - specifies the base image

  • RUN - executes a command in the container

  • COPY - copies files from host to container

  • WORKDIR - sets the working directory for subsequent commands

  • CMD - specifies the command to run when the container starts

Q64. OS Question

How will you monitor file change in linux ?

Q65. What is git remote and git remote? difference & command

Ans.

git remote is used to manage remote repositories. git fetch is used to download changes from a remote repository.

  • git remote is used to manage remote repositories

  • git fetch is used to download changes from a remote repository

  • git remote add is used to add a new remote repository

  • git remote -v shows the list of remote repositories

  • git fetch downloads changes from a remote repository

  • git pull fetches and merges changes from a remote repository

  • git push pushes changes to a remot...read more

Q66. what is the cluster version? how many clusters and nodes are there in your project who manages the master node how many master nodes are there

Ans.

The cluster version, number of clusters and nodes, management of master node, and number of master nodes in the project.

  • The cluster version refers to the version of the software used to manage the cluster.

  • The number of clusters and nodes depends on the project requirements.

  • The master node is managed by the DevOps team or the system administrator.

  • The number of master nodes can vary depending on the project's high availability requirements.

Q67. Can you tell me something about Ansible work in DevOps?

Ans.

Ansible is a popular automation tool used in DevOps for configuration management, application deployment, and orchestration.

  • Ansible is agentless, meaning it does not require any software to be installed on the nodes being managed.

  • It uses YAML syntax for writing playbooks, which are used to define automation tasks.

  • Ansible can be used for tasks such as provisioning servers, deploying applications, and managing configurations.

  • It allows for easy scaling and automation of repetiti...read more

Q68. Did you face any challenge while creating the DevOps pipeline?

Ans.

Yes, I faced challenges while creating the DevOps pipeline.

  • One challenge was integrating multiple tools and technologies into the pipeline.

  • Another challenge was ensuring smooth communication and collaboration between different teams involved in the pipeline.

  • I also faced challenges in automating the testing and deployment processes to achieve continuous integration and continuous delivery.

  • Dealing with legacy systems and transitioning them into the new pipeline was also a chall...read more

Q69. What is the difference b/w Continuous delivery and continuous deployment?

Ans.

Continuous delivery focuses on automating the software delivery process up to production, while continuous deployment automatically deploys every change to production.

  • Continuous delivery involves automating the software delivery process up to production, ensuring that code is always in a deployable state.

  • Continuous deployment goes a step further by automatically deploying every change that passes automated tests to production.

  • Continuous delivery allows for manual approval bef...read more

Q70. Can you explain in detail about clusters creation and how you handled practical bugs?

Ans.

Clusters creation involves setting up multiple servers to work together, while handling practical bugs requires troubleshooting and fixing issues in the cluster.

  • Clusters creation involves setting up multiple servers to work together to distribute workload and increase reliability.

  • Tools like Kubernetes or Docker Swarm can be used to create and manage clusters efficiently.

  • Practical bugs in clusters can include network issues, configuration errors, or software compatibility prob...read more

Q71. Explain in detail the architecture , real time use case of containers and how do we manage or orchestrate them. explain dockerfile commands, docker-compose, kubernetes yaml file contents, kubernetes deployment.

Ans.

Containers are lightweight, portable, and isolated environments that package applications and their dependencies.

  • Containers are instances of images that include the application and all its dependencies, allowing for easy deployment and scaling.

  • Docker is a popular containerization platform that uses Dockerfiles to define the image build process.

  • Docker-compose is a tool for defining and running multi-container Docker applications.

  • Kubernetes is a container orchestration platform...read more

Q72. Technical Questions

Question around aws cloud, kubernetes and docker containerization, usage of CI/CD tools

Q73. What is the procedure for .net pipeline build process?

Ans.

The .NET pipeline build process involves several steps including source code management, building, testing, and deployment.

  • Source code is managed using a version control system like Git.

  • The build process involves compiling the code and creating an executable or library.

  • Unit tests are run to ensure the code is functioning correctly.

  • The application is deployed to a testing or staging environment for further testing.

  • Once testing is complete, the application is deployed to produc...read more

Q74. OS Question

What is a process in linux?

Q75. How Would You Approach Capacity Planning for a Kubernetes Cluster?

Ans.

Capacity planning for a Kubernetes cluster involves analyzing resource usage, predicting future needs, and scaling infrastructure accordingly.

  • Monitor resource usage of pods and nodes using tools like Prometheus and Grafana

  • Analyze historical data to identify trends and patterns in resource consumption

  • Estimate future resource requirements based on application growth and workload changes

  • Scale the cluster by adding or removing nodes, adjusting resource limits, or using auto-scali...read more

Q76. How Would You Implement Zero-Downtime Deployments in Kubernetes?

Ans.

Implementing zero-downtime deployments in Kubernetes involves using rolling updates and readiness probes.

  • Use rolling updates to gradually replace old pods with new ones

  • Configure readiness probes to ensure new pods are ready before routing traffic to them

  • Utilize tools like Helm for managing releases and versioning

Q77. What is the branching strategy and release strategy

Ans.

Branching strategy is a way to manage code changes and release strategy is a plan to deploy code changes to production.

  • Branching strategy defines how code changes are managed and merged into the main codebase.

  • Release strategy defines how code changes are deployed to production.

  • Common branching strategies include Gitflow, Trunk-based development, and Feature branching.

  • Common release strategies include Continuous Deployment, Blue-Green Deployment, and Canary Deployment.

Q78. In pipelines, what is the approval request procedure?

Ans.

Approval request procedure in pipelines involves manual or automated approval process before deployment.

  • Approval request is triggered when a pipeline reaches a certain stage or before deployment.

  • The request can be manual or automated depending on the pipeline configuration.

  • Manual approval requires a designated person to review and approve the request.

  • Automated approval can be based on predefined rules or conditions.

  • Approval request procedure ensures that only authorized chang...read more

Q79. how can you check services in listen mode?

Ans.

To check services in listen mode, use netstat command.

  • Open command prompt/terminal

  • Type 'netstat -an' command

  • Look for services in 'LISTEN' state

  • Note down the port number and service name

  • Use the information to troubleshoot or manage the service

Q80. Describe inodes and file descriptors. What is the use of swap

Ans.

Inodes are data structures that store information about files on a Unix/Linux file system. File descriptors are unique identifiers for open files. Swap is a space on a hard disk used as virtual memory.

  • Inodes contain metadata about files such as ownership, permissions, and timestamps.

  • File descriptors are used by the operating system to keep track of open files and to perform I/O operations on them.

  • Swap is used when the amount of physical memory (RAM) is insufficient to hold al...read more

Q81. Difference between statefullset and deployment in kubernets ?

Ans.

StatefulSet is used for managing stateful applications, while Deployment is used for stateless applications.

  • StatefulSet is used for applications that require stable network identities and persistent storage.

  • StatefulSet maintains a unique identity for each pod and ensures ordered deployment and scaling.

  • Deployment is used for stateless applications that can be easily replicated and scaled.

  • Deployment manages a set of identical pods and provides features like rolling updates and ...read more

Q82. How do you perform docker migration from one machine to another machine?

Ans.

Docker migration from one machine to another involves exporting the container as an image, transferring the image to the new machine, and then importing it.

  • Export the Docker container as an image using 'docker save' command

  • Transfer the image to the new machine using a secure method like SCP or Docker Hub

  • Import the image on the new machine using 'docker load' command

  • Run the container on the new machine using 'docker run' command

Q83. whats CI-CD, how did you configure it, which monitoring software you used

Ans.

CI-CD is a software development practice that aims to automate the building, testing, and deployment of code changes.

  • CI-CD stands for Continuous Integration and Continuous Deployment/Delivery

  • It involves automating the process of building, testing, and deploying code changes

  • Tools like Jenkins, GitLab CI/CD, and Travis CI can be used to configure CI-CD pipelines

  • Monitoring software like Prometheus and Grafana can be used to monitor the performance of the CI-CD pipeline

Q84. Docker: Dockerfile arguements explain usage, how to retain docker container data, Do we have to use EXPOSE command for container or it can be omitted?

Ans.

Dockerfile arguments, retaining container data, and EXPOSE command usage explained.

  • Dockerfile arguments can be used to pass values to the Dockerfile at build time, allowing for flexibility in building images.

  • To retain data in a Docker container, you can use volumes to persist data outside of the container's filesystem.

  • The EXPOSE command in a Dockerfile is used to specify the port on which a container listens for connections, but it is not required for the container to functio...read more

Q85. Which tasks have you added in CI pipeline for code coverage

Ans.

Added tasks for code coverage in CI pipeline

  • Implemented code coverage tool like JaCoCo or Cobertura

  • Configured the tool to generate coverage reports

  • Added a step in the pipeline to run the coverage tool and generate reports

  • Set a threshold for minimum code coverage and fail the build if it's not met

Q86. Git Question

Difference between git revert and git reset.

Q87. How do you install nuget? What is the use of nuget restore?

Ans.

NuGet is a package manager for .NET that simplifies the process of finding, installing, and using third-party libraries.

  • NuGet can be installed using Visual Studio or the NuGet command-line interface (CLI).

  • NuGet restore is used to restore the packages listed in a project's packages.config file.

  • NuGet packages can be used to add functionality to a project, such as libraries, tools, and frameworks.

  • NuGet also allows for the creation and publishing of packages to be shared with oth...read more

Q88. Beanstalk does not create a load balancer, explain why

Ans.

Beanstalk uses Elastic Load Balancer (ELB) instead of creating its own load balancer.

  • Beanstalk is a platform as a service (PaaS) that automates the deployment of applications.

  • It uses Elastic Load Balancer (ELB) to distribute traffic to instances.

  • ELB provides more features and flexibility than a custom load balancer.

  • Beanstalk also supports other load balancers like Application Load Balancer (ALB) and Network Load Balancer (NLB).

Q89. how to implement the docker image with the libraries required in the runtime with the updated changes based on the requirement.

Ans.

To implement docker image with required libraries and updated changes, use Dockerfile and build command.

  • Create a Dockerfile with base image and required libraries

  • Copy the updated changes to the Dockerfile

  • Build the Docker image using 'docker build' command

  • Run the Docker container using 'docker run' command

Q90. What is Jenkins and how to setup multiple pipeline?

Ans.

Jenkins is a popular open-source automation server used for continuous integration and continuous delivery (CI/CD).

  • Install Jenkins on a server or machine

  • Create a new pipeline job in Jenkins

  • Configure the pipeline job with the necessary settings and parameters

  • Add stages and steps to the pipeline script

  • Repeat the process to set up multiple pipelines

Q91. Is there a way to blacklist IPs in AWS

Ans.

Yes, AWS provides various methods to blacklist IPs.

  • Use AWS WAF to create rules to block specific IP addresses

  • Configure security groups to deny traffic from specific IP addresses

  • Utilize AWS Network ACLs to block traffic from specific IP addresses

Q92. Technical Question

Difference between inode number and file descriptor?

Q93. Aws services and how to create and launch EC2 instances

Ans.

AWS services include EC2 for virtual servers. To create and launch EC2 instances, use the AWS Management Console, CLI, or SDK.

  • Access the AWS Management Console and navigate to the EC2 dashboard

  • Click on 'Launch Instance' to choose an Amazon Machine Image (AMI), instance type, and configure instance details

  • Review and launch the instance, selecting key pair for SSH access

  • Use AWS CLI or SDK to create and launch EC2 instances programmatically

Q94. Jenkins: How to use variable used in one stage to another stage? , Can you run 100 jobs using jenkins?

Ans.

To use variables between stages in Jenkins, use the 'stash' and 'unstash' steps. Yes, you can run 100 jobs in Jenkins.

  • Use 'stash' step to save variables in one stage and 'unstash' step to retrieve them in another stage

  • Variables can also be passed between stages using 'environment' directive in Jenkins pipeline

  • To run 100 jobs in Jenkins, you can use Jenkins pipeline to automate the process

Q95. How do you approach to create a jenkins pipeline ?

Ans.

To create a Jenkins pipeline, I follow these steps:

  • Define the stages and steps of the pipeline

  • Create a Jenkinsfile with the pipeline code

  • Configure Jenkins to use the Jenkinsfile

  • Test the pipeline and make necessary adjustments

  • Integrate with version control for continuous integration

  • Use plugins for additional functionality

Q96. How to check status of a k8s pod that is in pending state.

Ans.

Use kubectl command to check the status of a pending k8s pod.

  • Use 'kubectl get pods' command to list all pods and their statuses

  • Look for the pod in 'Pending' state

  • Check the reason for pending state using 'kubectl describe pod '

Q97. What errors you have faced while applying terraform code?

Ans.

I have faced errors such as resource conflicts, syntax errors, and provider version mismatches while applying Terraform code.

  • Resource conflicts occur when multiple resources are trying to create the same resource at the same time.

  • Syntax errors can occur due to incorrect syntax in the Terraform code, such as missing brackets or incorrect attribute names.

  • Provider version mismatches can occur when the Terraform code is written for a specific provider version but a different vers...read more

Q98. how can you check listen ports?

Ans.

To check listen ports, use netstat command in terminal.

  • Open terminal/command prompt

  • Type 'netstat -tuln' command

  • This will display all the listening ports on the system

Q99. How do your container communicate in Kubernetes?

Ans.

Containers in Kubernetes communicate with each other through networking and service discovery mechanisms.

  • Containers within the same pod can communicate over localhost.

  • Containers in different pods can communicate using Kubernetes services.

  • Kubernetes assigns each pod a unique IP address for communication.

  • Kubernetes also supports DNS-based service discovery for containers.

Q100. What is feature branching and task branching?

Ans.

Feature branching and task branching are strategies used in version control systems to manage development tasks.

  • Feature branching involves creating a separate branch for each new feature being developed, allowing for isolation and independent development.

  • Task branching is similar to feature branching but is used for smaller tasks or bug fixes.

  • Both feature branching and task branching help in organizing and managing code changes effectively.

  • Example: Creating a feature branch '...read more

Previous
1
2
3
4
5
6
7
Next
Interview Tips & Stories
Ace your next interview with expert advice and inspiring stories

Interview experiences of popular companies

3.7
 • 10k Interviews
3.9
 • 7.8k Interviews
3.7
 • 7.3k Interviews
3.8
 • 5.4k Interviews
3.7
 • 5.2k Interviews
3.8
 • 4.6k Interviews
3.6
 • 2.3k Interviews
4.1
 • 2.3k Interviews
3.3
 • 737 Interviews
3.8
 • 492 Interviews
View all

Calculate your in-hand salary

Confused about how your in-hand salary is calculated? Enter your annual salary (CTC) and get your in-hand salary

Devops Engineer Interview Questions
Share an Interview
Stay ahead in your career. Get AmbitionBox app
qr-code
Helping over 1 Crore job seekers every month in choosing their right fit company
65 L+

Reviews

4 L+

Interviews

4 Cr+

Salaries

1 Cr+

Users/Month

Contribute to help millions
Get AmbitionBox app

Made with ❤️ in India. Trademarks belong to their respective owners. All rights reserved © 2024 Info Edge (India) Ltd.

Follow us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter