Q1. What is Version control?
Ans. Version control is
a system that records changes to a file or set of files over time so that you
can recall specific versions later.
Q2.
What are Containers?
Ans. Containers are a
form of lightweight virtualization, heavier than ‘chroot’ but lighter than
‘hypervisors’. They provide isolation among processes while using the same
kernel as the host machine, and ‘cgroups’ functionality within the kernel.
Q3.
What is Continuous Delivery?
Ans. It is the practice
of delivering the software for testing as soon as it is built by CI (Continuous
Integration) servers.
Q4.
What are the uses of Version control?
Ans. Below are some of the
common uses of version control:
·
Revert files back to a previous state.
·
Revert the entire project back to a previous state.
·
Compare changes over time.
·
See who last modified something that might be causing a problem.
·
Who introduced an issue and when.
Q5.
What are the core operations of DevOps in terms of development and
Infrastructure?
Ans. The core
operations of DevOps are application development, code developing, code
coverage, unit testing, packaging, deployment with infrastructure, provisioning,
configuration, orchestration, and deployment.
Q6.
Can one consider DevOps as an Agile methodology?
Ans. DevOps can be
considered complementary to the agile methodology,
but not completely similar.
Q7.
Name some of the top tools used in DevOps? What are the tools that you have
used?
Ans. Some of the common
tools are – Docker, Git, Selenium,
Puppet, Nagios, and Chef.
Q8.
What is Git?
Ans. Git is
a Distributed Version Control system (DVCS). It can track changes to a file and
allows you to revert back to any particular change.
Q9.
In Git how do you revert a commit that has already been pushed and made public?
Ans. It can be done in
two ways:
·
By removing or fixing the bad file in a new commit and pushing
it to the remote repository. Once the necessary changes to the file have been
made, commit it to the remote repository. Use: git commit -m “commit message”
·
By creating a new commit that undoes all changes that were made
in the bad commit. To do this, use command: git revert <name of bad
commit>
Q10.
What is Git bisect?
Ans. Git bisect is used
to find the commit that introduced a bug by using binary search.
Q11.
Why do you need a Continuous Integration of Dev & Testing?
Ans. Continuous Integration of
Dev and Testing improves the quality of software and reduces the time taken to
deliver it, by replacing the traditional practice of testing after completing
all development.
Q12.
Which is the most popular scripting language in DevOps?
Ans. Python.
Q13.
What is Vagrant, and what is it used for?
Ans. A vagrant is a
tool that can create and manage virtualized (or containerized) environments for
testing and developing software.
Q14.
What are post-mortem meetings?
Ans. Post mortem
meetings discuss what went wrong and what steps should be taken so that failure
doesn’t happen again.
Q15.
What is meant by Continuous Integration?
Ans. It is a
development practice that requires developers to integrate code into a shared
repository several times daily.
Q16.
What’s a PTR in DNS?
Ans. A pointer (PTR)
record is used for reverse DNS (Domain Name System) lookup.
Q17.
What testing is necessary to ensure a new service is ready for production?
Ans. Continuous testing
Q18.
What is Continuous Testing?
Ans. Continuous Testing
is executing automated tests as part of the software delivery pipeline to
obtain immediate feedback on the business risks associated with the latest
build.
Q19.
What is Automation Testing?
Ans. Automation testing or
Test Automation is a process of automating the manual process to test the
application/system under test.
Q20.
What are the key elements of continuous testing?
Ans. Risk assessment,
policy analysis, requirements traceability, advanced analysis, test
optimization, and service virtualization
Q21.
What are the Testing types supported by Selenium?
Ans. Regression testing
and functional testing
Q22.
Differentiate between Asset Management and Configuration Management.
Ans. Asset Management,
broadly defined, refers to any system that monitors and maintains things of
value to an entity or group.
Configuration
Management is the process of planning for, identifying, controlling, and
verifying the Configurations Items (CIs) within a service, recording their
status, and, in support of Change Management, assessing the potential IT impact
of changing those items.
Q23.
What is Puppet?
Ans. It is a
Configuration Management tool that is used to automate administration tasks.
Q24.
How does HTTP work?
Ans. The HTTP protocol
works in a client and server model like most other protocols. A web browser
that initiates a request is called a client, and a web server software that
responds to that request is called a server. World Wide Web Consortium and the
Internet Engineering Task Force are two important spokes in the standardization
of the HTTP protocol.
Q25.
Describe two-factor authentication.
Ans. Two-factor
authentication is a security process in which the user provides two means of
identification from separate categories of credentials; one is typically a
physical token, such as a card, and the other is typically something memorized,
such as a security code.
Q26.
Which language is used in Git?
Ans. Git is written in
C. It is very fast and reduces runtimes overhead.
Q27.
Suppose you just made a bad Git commit and made it public, how would you revert
it?
Ans. The command to revert
the Git commit is –
git
revert <commit hash>
This
command can revert any command just by adding the commit ID.
Q28.
What is SubGit?
Ans. SubGit is an
open-source version control tool for migrating Subversions (SVN) to Git. It
allows creation of a writable Git mirror of a Subversion repository, which can
then be used to push to Git.
Q29.
What is Ansible?
Ans. Ansible is an
open-source automation platform. It is powerful yet very simple to set up.
Ansible facilitates complex tasks like configuration management, IT
orchestration, application deployment, and task automation.
Q30.
What is the use of Ansible?
Ans. Ansible is used
primarily in IT infrastructure for configuration management and automatically
deploying software applications to remote nodes.
Q31.
Explain the advantages of Ansible.
Ans. The advantages of
Ansible are:
·
Free of cost
·
Agentless
·
Very low uptime
·
Good performance
·
Idempotent
·
Very easy to learn
·
Easy to pick up
·
Declarative, not procedural
·
Doesn’t require custom security infrastructure
Q32.
Describe IaC.
Ans. IaC is the
abbreviation for Infrastructure as Code. It manages and tracks infrastructure
configuration in files, allowing better and scalable infrastructure
configuration. It ensures transparent tracking of changes through the
versioning system.
Q33.
What is configuration management?
Ans. Configuration management is
a combination of practices and tools to automate the delivery and operation of
infrastructure. It is used to –
·
Model infrastructure
·
Monitor and enforce desired configurations
·
Automatically remediate any unexpected configuration drift
Configuration
management helps to expedite the software delivery process and deliver better
software.
Q34.
What is Jenkins?
Ans. Jenkins is an
open-source continuous integration server that facilitates achieving a
Continuous Integration process in an automated manner. It can also highlight
any errors in the project in its early stages.
Q35.
Name some useful plugins in Jenkins.
Ans. Some useful plugins in
Jenkins are:
·
Dashboard View Plugin
·
View Job Filters Plugin
·
Exclusion
·
GitHub/GitLab Pull Request Builder
·
Hudson Extended Read Permission Plugin
·
Post+build+task
·
Amazon EC2
·
HTML publisher
·
Copy artifact
·
JDK Parameter Plugin
·
Job Configuration History Plugin
·
Parameterized Trigger plugin
Now, let’s
move on and look at some more DevOps
interview questions.
Q36.
What is a Virtual Private Cloud?
Ans. Virtual Private Cloud offers
the flexibility to scale and control workloads. It provides global access to
manage workloads when you connect your on-premises or remote resources to
Google Cloud Platform (GCP).
Q37.
What is ‘Canary Release’?
Ans. Canary Release
refers to a pattern that reduces the risk of introducing a new software version
into the production environment. It is made available to the subset of the user
and then to the complete user set.
Q38.
What is Docker?
Ans. Docker is
a tool to create, deploy, and run applications using containers easily. It
packages an application with all its dependencies to ensure its seamless
running. Docker allows applications to use the same Linux kernel they are
already running on.