DevOps interview questions for freshers/DevOps Interview Questions and Answers for Freshers & Experienced

Explain whether it is possible to share a single instance of a Memcache between multiple projects?

Yes, it is possible to share a single instance of Memcache between multiple projects. Memcache is a memory store space, and you can run memcache on one or more servers. You can also configure your client to speak to a particular set of instances. So, you can run two different Memcache processes on the same host and yet they are completely independent. Unless, if you have partitioned your data, then it becomes necessary to know from which instance to get the data from or to put into.

What is DevOps? Is it a tool?

DevOps can’t be referred to as a tool; it is a collaborative work culture that combines development and operations teams for continuous development, continuous testing, continuous integration, continuous deployment, and continuous monitoring.

Explain how you create launchers on a desktop in Ubuntu?

To create launchers on a desktop in Ubuntu you can use

ALT+F2 then type ” gnome-desktop-item-edit –create-new~/desktop,” it will launch the old GUI dialog and create a launcher on your desktop

Explain how you can get the current color of the current screen on the Ubuntu desktop?

You can open the background image in The Gimp (image editor) and then use the dropper tool to select the color on a specific point. It gives you the RGB value of the color at that point.

What is the quickest way to open an Ubuntu terminal in a particular directory?

To open an Ubuntu terminal in a particular directory, you can use custom keyboard short cut.

To do that, in the command field of a new custom keyboard, type genome – terminal – – working – directory = /path/to/dir.

Explain how to enable startup sound in Ubuntu?

To enable startup sound

>> Click control gear and then click on Startup Applications
>> In the Startup Application Preferences window, click Add to add an entry
>> Then fill the information in comment boxes like Name, Command, and Comment

/usr/bin/canberra-gtk-play—id= "desktop-login"—description= "play login sound"

>> Logout and then login once you are done

You can also open it with shortcut key Ctrl+Alt+T.

Whether your video card can run Unity how would you know?

When you use a command

/usr/lib/Linux/unity_support_test-p

it will give detailed output about Unity’s requirements, and if they are met, then your video card can run unity.

Explain SubGIt tool

SubGit helps you to migrate SVN to Git. It also allows you to build a writable Git mirror of a local or remote Subversion repository.

Name some best practices which should be followed for DevOps success.

Here, are essential best practices for DevOps implementation:

* The speed of delivery means time taken for any task to get them into the production environment.
* Track how many defects are found in the various
* It’s important to measure the actual or the average time that it takes to recover in case of a failure in the production environment.
* The number of bugs being reported by the customer also impact the quality of the application.

What are the prerequisites for the implementation of DevOps?

Following are the useful prerequisites for DevOps Implementation:

* At least one Version Control Software
* Proper communication between the team members
* Automated testing
* Automated deployment

What is Chef?

It is a powerful automation platform which transforms infrastructure into code. In this tool, you can use write scripts that are used to automate processes.

What is the use of PTR in DNS?

Pointer record which is also known as (PTR) is used for reverse DNS lookup.

What is the difference between continuous deployment and continuous delivery?

Continuous deployment is fully automated, and the deployment to production needs no manual intervention in continuous deployment; whereas, in continuous delivery, the deployment to production requires some manual intervention for change management in the organization, and it needs to be approved by the manager or higher authorities to be deployed in production. According to your organization’s application risk factor, continuous deployment/delivery approach will be chosen.

What is Vagrant?

A vagrant is a tool which can create and manage virtualized environments for testing and developing software.

What types of testing is important to ensure that new service is ready for production?

You need to conduct continuous testing to ensure that the new service is ready for production.

Explain the term ‘Canary Release’.

A canary release is a pattern which reduces the risk of introducing a new version software into the production environment. It is done by making it available in a controlled manner to a subset of the user. Before making it available to the complete user set.

Explain two-factor authentication

Two-factor authentication is a security method in which the user provides two ways of identification from separate categories.

What is Puppet?

Puppet is a useful project management tool. It helps you to automate administration tasks.

What is the build?

A build is a method in which the source code is put together to check whether it works as a single unit. In the build creation process, the source code will undergo compilation, inspection, testing, and deployment.

Have you been involved in DevOps implementation in the cloud? If yes which cloud computing platform?

Examples of popular Cloud Computing Platforms:

1. AWS – Amazon Web Services
2. Microsoft Azure
3. Google Cloud

Explain Git Bisect

Git bisect helps you to find the commit which introduced a bug using binary search.

What is configuration management in terms of infrastructure and mention a few popular tools used?

Configuration management consists of practices and the various tools involved to automate the delivery and infrastructure operations. It is all about keeping the server ready (Example Installing system packages, network configuration settings) for application deployment once the application is developed.

So the Ops or the system admin needs to ensure parity in different environments (Dev, QA, PROD, etc…) by provisioning the systems.

Tools Used in this space to automate the tasks of configuration management described above are Chef / Puppet / Ansible

What is your expertise on the DevOps projects?

Explain your role as a DevOps Engineer and how you were working as a part of the 24*7 environment and maybe in shifts, the projects involved in automating the CI and CD pipeline and providing support to the project teams.

Hence, taking complete responsibility for maintaining and extending the environments for DevOps automation to more and more projects and different technologies (Example: .NET, J2EE projects) involved within the organization.

Also, explain the process (Example Agile) and tools that were involved in an end to end automation. You could also talk about your experience, if any, in DevOps support over the Cloud environment.

Give some benefits of using Version Control system

>> The version Control system allows team members to work freely on any file at any time.
>> All the past versions and variants are closely packed up inside the VCS.
>> A distributed VCS like helps you to store the complete history of the project so in case of a breakdown in the central server you can use your team member’s local Git repository.
>> Allows you to see what exact changes are made in the file’s content

What are the key components of DevOps?

The most important components of DevOps are:

* Continuous Integration
* Continuous Testing
* Continuous Delivery
* Continuous Monitoring

Explain how you would handle revision (version) control?

My approach to handling revision control would be to post the code on SourceForge or GitHub so everyone can view it. Also, I will post the checklist from the last revision to make sure that any unsolved issues are resolved.

Name three important DevOps KPIs.

Three of the most common DevOps KPIs are:

* Mean time to failure recovery
* Deployment frequency
* Percentage of failed deployments

Which are some of the most popular DevOps tools?

The most popular DevOps tools include:

1. Selenium
2. Puppet
3. Chef
4. Git
5. Jenkins
6. Ansible
7. Docker

Explain how DevOps is helpful to developers?

DevOps can be helpful to developers to fix the bug and implement new features quickly. It also helps for clearer communication between the team members.

Explain with a use case where DevOps can be used in industry/ real-life.

There are many industries that are using DevOps so you can mention any of those use cases, you can also refer the below example:
Etsy is a peer-to-peer e-commerce website focused on handmade or vintage items and supplies, as well as unique factory-manufactured items. Etsy struggled with slow, painful site updates that frequently caused the site to go down. It affected sales for millions of Etsy’s users who sold goods through online market place and risked driving them to the competitor.
With the help of a new technical management team, Etsy transitioned from its waterfall model, which produced four-hour full-site deployments twice weekly, to a more agile approach. Today, it has a fully automated deployment pipeline, and its continuous delivery practices have reportedly resulted in more than 50 deployments a day with fewer disruptions.

What is the most important thing DevOps helps us achieve?

According to me, the most important thing that DevOps helps us achieve is to get the changes into production as quickly as possible while minimizing risks in software quality assurance and compliance. This is the primary objective of DevOps. Learn more in this DevOps tutorial blog.
However, you can add many other positive effects of DevOps. For example, clearer communication and better working relationships between teams i.e. both the Ops team and Dev team collaborate together to deliver good quality software which in turn leads to higher customer satisfaction.

Can DevOps be applied to a Waterfall process? Explain the significance of the Agile process in DevOps implementation.

In the waterfall process, as all of us are aware initially complete Requirements are gathered, next the System is designed, Implementation of the System is then done followed by System testing and deployed to the end-users. In this process, the problem was that there was a huge waiting time for build and deployment which made it very difficult to get the feedback.

The solution to the above problem was that the Agile process has to bring in agility in both development and operations. The agile process could be the principal or a certain pre-requisite may be required for DevOps implementation. DevOps goes hand in hand with the Agile process.

The focus area is to release the software in a very timely manner with shorter release cycles and quick feedback. So, the agile process focus will mainly be on speed and in DevOps, it works well with the automation of various tools

How will you approach when a project needs to implement DevOps?

Following approaches can be used but that will vary based on the actual project scenarios or from organization to organization

Stage 1: For any DevOps implementation, an assessment of the existing process and implementation for around 2 to 3 weeks taking an average of 5 applications is a must to gauge the AS-IS process, identifies the improvement areas and provides a roadmap for the implementation.

Typically a senior profile like a DevOps architect should be involved to conduct this assessment.

Stage 2: A pilot POC can be done to showcase the end to end working of DevOps. Once this has been accepted and approved by the end-users only then the actual implementation, handover and rolls out the plan for the projects involved should be carried out.

Any pieces of training required will also need to be imparted to the process or tools. DevOps architects, engineers, and testers would need to be involved at this stage.

Stage 3: The projects should now be in DevOps mode with all the components of continuous integration/delivery/testing and monitoring that is being followed.

Explain Continuous Monitoring.

As the application is developed and deployed, we do need to monitor its performance. Monitoring is also very important as it might help to uncover the defects which might not have been detected earlier.

Explain Continuous Testing.

From the above goal of Continuous Integration which is to get the application out to end-users are primarily enabling continuous delivery. This cannot be completed without a sufficient amount of unit testing and automation testing.

Hence, we need to validate that the code produced and integrated with all the developers who perform as required.

Explain Continuous Delivery.

Continuous Delivery is an extension of Continuous Integration which primarily helps to get the features that the developers are developing out to the end-users as soon as possible. During this process, it goes through various stages of QA, Staging, etc., and then for delivery to the PRODUCTION system.

Explain Continuous Integration.

Continuous Integration is a very important component of the Agile process. Typically, developers work on features or user stories within a sprint and commit their changes to the version control repository.

Once the code is committed, then the entire work of developers is well integrated and the build is performed on a regular basis based on every check-in or schedule. Hence, Continuous Integration as a practice forces the developer to integrate their changes with the others so as to get early feedback.

How is DevOps different from agile methodology?

DevOps is a culture that allows the development and the operations team to work together. This results in continuous development, testing, integration, deployment, and monitoring of the software throughout the lifecycle.

What are the three important DevOps KPIs?

Few KPIs of DevOps are given below:

1. Reduce the average time taken to recover from a failure.
2. Increase Deployment frequency in which the deployment occurs.
3. Reduced Percentage of failed deployments.

What is Continuous Testing (CT)?

Continuous Testing (CT) is that phase of DevOps which involves the process of running the automated test cases as part of an automated software delivery pipeline with the sole aim of getting immediate feedback regarding the quality and validation of business risks associated with the automated build of code developed by the developers.

Using this phase will help the team to test each build continuously (as soon as the code developed is pushed) thereby giving the dev teams a chance to get instant feedback on their work and ensuring that these problems don’t arrive in the later stages of SDLC cycle.

Doing this would drastically speed up the workflow followed by the developer to develop the project due to the lack of manual intervention steps to rebuild the project and run the automated test cases every time the changes are made.

How do all these tools work together?

Given below is a generic logical flow where everything gets automated for seamless delivery. However, this flow may vary from organization to organization as per the requirement.

1. Developers develop the code and this source code is managed by Version Control System tools like Git etc.
2. Developers send this code to the Git repository and any changes made in the code is committed to this Repository.
3. Jenkins pulls this code from the repository using the Git plugin and build it using tools like Ant or Maven.
4. Configuration management tools like puppet deploys & provisions testing environment and then Jenkins releases this code on the test environment on which testing is done using tools like selenium.
5. Once the code is tested, Jenkins send it for deployment on the production server (even production server is provisioned & maintained by tools like puppet).
6. After deployment It is continuously monitored by tools like Nagios.
7. Docker containers provides testing environment to test the build features.

Why is Continuous Integration needed?

By incorporating Continuous Integration for both development and testing, it has been found that the software quality has improved and the time taken for delivering the features of the software has drastically reduced.

This also allows the development team to detect and fix errors at the initial stage as each and every commit to the shared repository is built automatically and run against the unit and integration test cases.

What is Continuous Integration (CI)?

Continuous Integration (CI) is a software development practice that makes sure developers integrate their code into a shared repository as and when they are done working on the feature. Each integration is verified by means of an automated build process that allows teams to detect problems in their code at a very early stage rather than finding them after the deployment.

What does CAMS stand for in DevOps?

CAMS stands for Culture, Automation, Measurement, and Sharing. It represents the core deeds of DevOps.

What is the importance of having configuration management in DevOps?

Configuration management (CM) helps the team in the automation of time-consuming and tedious tasks thereby enhancing the organization’s performance and agility.

It also helps in bringing consistency and improving the product development process by employing means of design streamlining, extensive documentation, control, and change implementation during various phases/releases of the project.

What is configuration management?

Configuration management (CM) is basically a practice of systematic handling of the changes in such a way that system does not lose its integrity over a period of time. This involves certain policies, techniques, procedures, and tools for evaluating change proposals, managing them, and tracking their progress along with maintaining appropriate documentation for the same.

What is the use of SSH?

SSH stands for Secure Shell and is an administrative protocol that lets users have access and control the remote servers over the Internet to work using the command line.

SSH is a secured encrypted version of the previously known Telnet which was unencrypted and not secure. This ensured that the communication with the remote server occurs in an encrypted form.

SSH also has a mechanism for remote user authentication, input communication between the client and the host, and sending the output back to the client.

Why DevOps has become famous?

These days, the market window of products has reduced drastically. We see new products almost daily. This provides a myriad of choices to consumers but it comes at a cost of heavy competition in the market. Organizations cant afford to release big features after a gap. They tend to ship off small features as releases to the customers at regular intervals so that their products don't get lost in this sea of competition.

Customer satisfaction is now a motto to the organizations which has also become the goal of any product for its success. In order to achieve this, companies need to do the below things:

>> Frequent feature deployments
>> Reduce time between bug fixes
>> Reduce failure rate of releases
>> Quicker recovery time in case of release failures.
>> In order to achieve the above points and thereby achieving seamless product delivery, DevOps culture >> acts as a very useful tool. Due to these advantages, multi-national companies like Amazon and Google have adopted the methodology which has resulted in their increased performance

Who is a DevOps engineer?

A DevOps engineer is a person who works with both software developers and the IT staff to ensure smooth code releases. They are generally developers who develop an interest in the deployment and operations domain or the system admins who develop a passion for coding to move towards the development side.

In short, a DevOps engineer is someone who has an understanding of SDLC (Software Development Lifecycle) and of automation tools for developing CI/CD pipelines.

Search
R4R Team
R4R provides DevOps Freshers questions and answers (DevOps Interview Questions and Answers) .The questions on R4R.in website is done by expert team! Mock Tests and Practice Papers for prepare yourself.. Mock Tests, Practice Papers,DevOps interview questions for freshers,DevOps Freshers & Experienced Interview Questions and Answers,DevOps Objetive choice questions and answers,DevOps Multiple choice questions and answers,DevOps objective, DevOps questions , DevOps answers,DevOps MCQs questions and answers Java, C ,C++, ASP, ASP.net C# ,Struts ,Questions & Answer, Struts2, Ajax, Hibernate, Swing ,JSP , Servlet, J2EE ,Core Java ,Stping, VC++, HTML, DHTML, JAVASCRIPT, VB ,CSS, interview ,questions, and answers, for,experienced, and fresher R4r provides Python,General knowledge(GK),Computer,PHP,SQL,Java,JSP,Android,CSS,Hibernate,Servlets,Spring etc Interview tips for Freshers and Experienced for DevOps fresher interview questions ,DevOps Experienced interview questions,DevOps fresher interview questions and answers ,DevOps Experienced interview questions and answers,tricky DevOps queries for interview pdf,complex DevOps for practice with answers,DevOps for practice with answers You can search job and get offer latters by studing r4r.in .learn in easy ways .