0% found this document useful (0 votes)
19 views

Interview Questions Preparations

Uploaded by

pradeepacha99
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Interview Questions Preparations

Uploaded by

pradeepacha99
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 6

username: jamuntechsolutions@gmail.

com
password: JamunTech2023

Tell us about yourself...

My name is Surya. I am highly energetic and self motivated IT professional and have
been working as a DevOps Engineer in my organization. As a DevOps engineer, I am
involved in complete DevOps process including automation of application and
infrastructure delivery, build and deployment using various tools and technologies
like
GitHub for code repository,
Jenkins for CI/CD pipelines,
Ansible for patch management and configuration,
AWS for infrastructure,
Terraform for automated infrastructure deployment in AWS using CI/CD pipelines
built in Jenkins.

I also have implemented CI/CD pipeline in Jenkins to automate organization's admin


applicaiton interface deployment which used nodejs as frontend and mysql as
backend. In this automation, developers push the latest changes to github and
Jenkins will automatically pickup the changes and perform copy of code base and
perform build in the Jenkins server and then copy the built files to target nodejs
server and reload the environment... I implemented the compile and build commands
in Jenkins server which were provided by developers and remote execution of
commands on nodejs server provided by development team.

1. What is DevOps?
DevOps is a set of practices and processes that organization follow in automating
the software development process by using different tools like Github for code
repository, Jenkins for CI/CD pipelines, Ansible for configuration management and
NAGIOS for monitoring and terraform for Infrastructure as Code (IaC). It involves
automation with Contiuous Integration and Continuous Delivery and Continuous
Deployment and moving towards cloud technologies like AWS/GCP/Azure.

2. What are different tools used in DevOps?

GitHub/BitBucket/AWS CodeCommit --> Code Repository


Jenkins/Azure DevOps (ADO) --> For CI/CD pipelines
Ansible/Puppet/Chef --> Configuration Management
Terraform --> IaC
Containerization and Orchestration --> Docker/Kubernetes
NAGIOS/Centreon --> Monitoring
Selenium --> Testing

3. What is Docker?
Docker is a program that is used to build images of set of libraries to run an
application like java/node/nginx and use the images to deploy containers which are
live applications. Docker images function similar to an OS with application
software installed but it contains only the system libraries required to run the
application. Docker is used as containerization engine by Kubernetes.

4. What is terraform and what are the different commands in terraform?

Terraform is an IaC application from Hashe-Corp which is used to deploy


infrastructure resources in different cloud technologies like AWS/GCP/Azure/Digital
Ocean and Hypervisors like VMWare/ Oracle VM. We are .tf files which are read by
terraform and create the resources specified in them. We can define terraform
resources, variables and outputs.

terraform init--> Initializes a Terraform working directory, downloads the


necessary provider plugins, and sets up the backend configuration.
terraform plan--> Generates an execution plan by comparing the current state to the
desired state specified in the Terraform configuration files.
terraform apply--> Applies the changes defined in the Terraform configuration to
create, modify, or destroy infrastructure resources.
terraform destroy--> Destroys the infrastructure resources created by Terraform,
reverting them to their initial state.
terraform validate--> Validates the syntax and configuration of Terraform files,
checking for errors or potential issues.
terraform refresh--> Retrieves the current state of deployed resources and updates
the Terraform state file.
terraform output--> Displays the output values defined in the Terraform
configuration, such as IP addresses or resource identifiers.
terraform state--> Allows for advanced management of the Terraform state, including
importing existing resources or manually modifying the state file.
terraform version: Displays the installed version of Terraform.

5. What is terraform variables?


Terraform variables are defined in variables.tf file and it contains variables that
we can use inside the tf files in which we define our resources.

6. What is terraform output?

Terraform output is used to store output of resources deployed using terraform


which can be used to display resource information.

7. What is a POD?

In terms of Kubernetes a pod is a running docker image. A pod is a self-contained


and isolated unit within a larger system, often used in the context of
containerization technology like Kubernetes.

8. How can you go inside a pod?

We use ssh to inside a pod using kubectl exec ...


kubectl exec -it <pod-name> -- sh

9. What is difference between agile and DevOps?

DevOps is a set of practices that focuses on collaboration and automation to


streamline software development and operations, while Agile is an iterative and
incremental approach to project management that emphasizes flexibility and customer
collaboration.

10. What is similarity between agile and DevOps?

Both Agile and DevOps aim to improve software development processes, promote
collaboration, and deliver high-quality software products more efficiently.

11. What are some of the configuration management tools?

Some of the configuration management tools are ansible, chef and puppet. But I am
familiar with ansible.

12. What is ansible?


Ansible is an open-source automation tool that simplifies the configuration
management, application deployment, and orchestration of IT infrastructure.
Normally ansible is used for make configuration changes in remote servers through
ssh. It does not require any agent installation in remote servers. In my current
organization, we are using ansible to apply patches remotely as well as create
users and add public keys.

13. What is IaC?


IaC stands for Infrastructure as Code. It is an approach to managing and
provisioning infrastructure resources using machine-readable configuration files or
scripts, enabling the automation and reproducibility of infrastructure deployment
and management processes. Terraform is commonly used IaC for most cloud services
and infratructure like VMWare while cloudformation is IaC for AWS. I am familiar
with terraform.

14. Which monitoring tool are you familiar with?

I am familiar with CENTREON monitoring tool. It is an open-source IT infrastructure


monitoring solution that provides comprehensive monitoring capabilities for
networks, servers, applications, and services, enabling proactive management and
timely detection of performance and availability issues. It offers a centralized
platform with customizable dashboards, alerting mechanisms, and reporting features
for efficient monitoring and analysis of IT environments.

15. What is Jenkins and What do you use it for in DevOps?

Jenkins is an open-source automation server widely used in DevOps practices. It is


used for continuous integration and continuous delivery (CI/CD) processes,
providing a robust platform for building, testing, and deploying software
applications. Jenkins helps automate repetitive tasks, such as compiling code,
running tests, and deploying applications, facilitating faster and more reliable
software delivery while promoting collaboration among development, testing, and
operations teams.

16. How many types of pipelines are there in Jenkins?

Scripted Pipeline: Also known as "Groovy Pipeline," it is a traditional way of


creating pipelines in Jenkins using a Groovy-based DSL (Domain-Specific Language).
Scripted pipelines offer flexibility and power, allowing users to write custom
logic and control flow within their pipeline scripts.

Declarative Pipeline: Introduced as a more structured and opinionated approach,


Declarative Pipeline uses a predefined syntax and focuses on providing a simplified
and easier-to-read format. It encourages best practices and enforces certain rules
to ensure consistency and maintainability. Declarative pipelines are designed to be
more accessible to teams with varying levels of expertise in Jenkins and scripting.

17. What is freestype project in Jenkins?

In Jenkins, "Freestyle" refers to a project type that allows users to create and
configure build jobs with a high degree of flexibility and customization. Freestyle
projects are the traditional and most basic type of project in Jenkins.

With Freestyle projects, users have the freedom to define various build steps, such
as executing shell commands, running scripts, triggering external tools, and
performing actions based on conditions or triggers. Users can configure build
triggers, source code management options, build environment settings, build
parameters, post-build actions, and more.
Freestyle projects are suitable for simple to complex build and deployment
workflows, offering a wide range of options and configurations. However, they lack
the structured and versionable nature of Jenkins pipelines, making them less suited
for managing complex and scalable CI/CD processes.

18. What is pipeline project in Jenkins?

In Jenkins, a "Pipeline" project refers to a type of project that utilizes Jenkins


Pipeline, a powerful and flexible way to define and automate continuous integration
and continuous delivery (CI/CD) workflows. Pipeline projects are based on the
concept of "Pipeline as Code," where the entire CI/CD process is defined in code
using a Jenkins-specific DSL (Domain-Specific Language).

Jenkins Pipeline allows for defining complex workflows using stages, steps, and
conditions. It provides a structured and versionable approach to defining and
managing CI/CD processes, making it easier to track changes, collaborate, and
maintain the pipeline code.

Pipeline projects offer several advantages over traditional freestyle projects,


including improved scalability, repeatability, and visibility. They support
advanced features such as parallel execution, agent allocation, artifact
management, and integration with source control systems. Pipeline projects in
Jenkins provide a more modern and robust approach to managing CI/CD workflows,
enabling teams to achieve more sophisticated automation and efficient software
delivery practices.

19. How does DevOps help organizations?

DevOps helps organizations by fostering collaboration and communication between


teams, leading to improved efficiency, productivity, and innovation.

It also enables faster software delivery, ensuring agility and responsiveness to


market demands, resulting in a competitive advantage for the organization.

20. What is differences between Continous delivery and Continuous Deployment?

Continuous Delivery is an approach where software is continuously developed,


tested, and prepared for deployment in an automated and repeatable manner and it is
always available in a releaseable state.

Continuous Deployment, on the other hand, takes the automation of software releases
one step further by releasing the software to test/development/productions
environment and into operations.

21. What is build in Jenkins?

Build in Jenkins refers to the process of compiling, testing, and packaging


software code or artifacts using the Jenkins automation server.

22. What is github?

GitHub is a web-based platform and service that provides a hosting environment for
version control repositories. It allows developers to collaboratively work on
projects, track changes, manage code, and facilitate team collaboration through
features like pull requests, issue tracking, and code review.

23. What is git branch?

A branch points to a specific commit in the version history in github. It


represents an independent line of development within a repository. It allows
developers to work on different features or bug fixes concurrently, isolating their
changes from the main codebase until they are ready to be merged. Branches provide
a way to organize and manage different versions of a project and facilitate
parallel development and collaboration.

24. What is git merge?

Merge operation in Git helps integrate new features, bug fixes, or changes from
separate branches into the main codebase, allowing different lines of development
to come together and be consolidated.

25. What is security group in AWS?

Security groups are an essential part of securing AWS infrastructure, allowing to


control inbound and outbound traffic at the EC2 instance level and enforce network
security policies. So Security Groups are for EC2 instance level. NACL may allow
the traffic but Security Group allows to restrict the same if not required at EC2
level.

26. What is NACL in AWS?

NACL (Network Access Control List) in AWS is firewall that operates at the subnet
level, controlling inbound and outbound traffic by using allow and deny rules.

27. What is the last issue or problem you encountered and how you resolved it?

The last issue that I faced as a DevOps engineer was to perform ssh copy from
Jenkins server to Java application server after compilation. It was unable to copy
hidden files and folders. So I used rsync to sync the folder from Jenkins server to
Java application server which also syncs the hidden files and folders.

28. What is the difference between Replicasets and Deployments?

ReplicaSets and Deployments are both Kubernetes objects used for managing and
scaling containerized applications, but they have distinct purposes and
functionalities:

1. Deployments offer a declarative approach to managing application updates and


rollbacks while ReplicaSets do not have built-in support for declarative updates or
rollbacks. Any changes to the ReplicaSet configuration need to be manually managed.

2. Deployments support versioning, allowing to track and manage different versions


of the application while replicasets provide a more basic functionality focused on
maintaining a specified number of pods.

29. What is Linux?

Linux is operating system which comes in different distributions like RHEL, Centos,
Ubunti, HPUX, AIX.

30. What is a shell script?

Shell Script is a text file that contains a series of commands that are executed
sequentially by the shell. Shell scripts are commonly used for automating tasks,
executing system commands, and performing various operations within an operating
system. They can be used to automate repetitive tasks, configure system settings,
manage files and directories, process data, and more.
31. How can you be a professional DevOps Engineer?

Becoming a professional DevOps engineer is a journey that requires adapting to


processes and practices of software delivery and deployment by automating them by
using different tools like github for code repository, Jenkins for CI/CD, Ansible
for configuration management and NAGIOS/Centreon for monitoring as well as
Kubernetes for orchestration and terraform for automtic infrastructure deployments
to cloud. and and dedication, hands-on experience, and a passion for continuous
improvement. Stay curious, keep learning, and never stop exploring new ways to
optimize and streamline software development and deployment processes.

32. When do you receive ImagePullBackoff errors in Kubernetes?

The ImagePullBackOff error occurs when the image path is incorrect, the network
fails, or the kubelet does not succeed in authenticating with the container
registry.

33. What is role docker plays in Kubernetes?

Docker is a containerization platform and runtime. Kubernetes is a platform for


running and managing containers from many container runtimes. Kubernetes supports
numerous container runtimes, including Docker. So, docker plays the role of runtime
engine.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy