As per Gartner, organizations around the world are increasingly adopting the DevOps culture and by the end of 2016, 25 percent of top global 2000 organizations would have adopted DevOps as a mainstream strategy. DevOps is a philosophy, a cultural shift that merges operations with development and demands a linked toolchain of technologies to facilitate collaborative change.
Here are 2018 Top Devops Interview Question and Answers
1) Explain Devops?
It is a newly emerging term in IT field, which is nothing but a practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals. It focuses on delivering software product faster and lowering the failure rate of releases.
2) How is DevOps different from Agile/SDLC?
Agile is a set of values and principles about how to produce i.e., develop software. Example: If you have some ideas and you want to turn those ideas into working software, you can use the Agile values and principles as a way to do that. But, that software might only be working on a developer’s laptop or in a test environment. You want a way to quickly, easily and repeatedly move that software into production infrastructure, in a safe and simple way. To do that you need DevOps tools and techniques.
You can summarize by saying Agile software development methodology focuses on the development of software but DevOps on the other hand is responsible for development as well as deployment of the software in the safest and most reliable way possible. Here’s a blog that will give you more information on the evolution of DevOps.
Now remember, you have included DevOps tools in your previous answer so be prepared to answer some questions related to that.
3) What are the advantages of DevOps training?
For this answer, you can use your past experience and explain how DevOps helped you in your previous job. If you don’t have any such experience, then you can mention the below advantages.
- Continuous software delivery
- Less complex problems to fix
- Faster resolution of problems
- Faster delivery of feature
- More stable operating environments
- More time available to add value (rather than fix/maintain)
4) What is version control?
This is probably the easiest question you will face in the interview. My suggestion is to first give a definition of Version control. It is a system that records changes to a file or set of files over time so that you can recall specific versions later. Version control systems consist of a central shared repository where teammates can commit changes to a file or set of file. Then you can mention the uses of version control.
Version control allows you to:
- 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.
5) Why are configuration management processes and tools important?
Talk about multiple software builds, releases, revisions, and versions for each software or testware that is being developed. Move on to explain the need for storing and maintaining data, keeping track of development builds and simplified troubleshooting. Don’t forget to mention the key CM tools that can be used to achieve these objectives. Talk about how tools like Puppet, Ansible, and Chef help in automating software deployment and configuration on several servers.
6) What are the core operations in terms of development and infrastructure?
The core operations of DevOps:
- Application development
- Code developing
- Code coverage
- Unit testing
- Deployment With infrastructure
7) Explain the concept of “Infrastructure as Code (IaC) in brief?
It is a good idea to talk about IaC as a concept, which is sometimes referred to as a programmable infrastructure, where infrastructure is perceived in the same way as any other code. Describe how the traditional approach to managing infrastructure is taking a back seat and how manual configurations, obsolete tools, and custom scripts are becoming less reliable. Next, accentuate the benefits of IaC and how changes to IT infrastructure can be implemented in a faster, safer and easier manner using IaC. Include the other benefits of IaC like applying regular unit testing and integration testing to infrastructure configurations, and maintaining up-to-date infrastructure documentation.
8) What is the scope of SSH?
SSH is a Secure Shell which provides users with a secure, encrypted mechanism to log into systems and transfer files.
- To logout a remote machine and work on command line.
- To secure encrypted communications between two hosts over an insecure network.
9)What are the differences between Linux and Unix operating systems?
- It belongs to the family of multitasking, multiuser operating systems.
- These are mostly used in internet servers and workstations.
- It is originally derived from AT&T Unix, developed starting in the 1970s at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.
- Both the operating systems are open source but UNIX is relatively similar one as compared to LINUX.
- Linux has probably been home to every programming language known to humankind.
- These are used for personal computers.
- The LINUX is based on the kernel of UNIX operating system.
10) Name the types of HTTP requests?
The types of Http requests are
11) What is the Dogpile effect and how can you prevent its effect?
Dogpile effect is referred to the event when cache expires, and websites are hit by the multiple requests made by the client at the same time. This effect can be prevented by using semaphore lock. In this system when value expires, first process acquires the lock and starts generating new value.
12) Which VCS tool you are comfortable with?
You can just mention the VCS tool that you have worked on like this: “I have worked on Git and one major advantage it has over other VCS tools like SVN is that it is a distributed version control system.”
Distributed VCS tools do not necessarily rely on a central server to store all the versions of a project’s files. Instead, every developer “clones” a copy of a repository and has the full history of the project on their own hard drive.
13) State the difference between Memcache and Memcached.
Memcache: It is an extension that allows you to work through handy object-oriented (OOP’s) and procedural interfaces. It is designed to reduce database load in dynamic web applications.
Memcached: It is an extension that uses libmemcached library to provide API for communicating with Memcached servers. It is used to increase the dynamic web applications by alleviating database load. It is the latest API.
14) Explain how you can update Memcached when data changes?
When data changes you can update Memcached by
- Clearing the Cache proactively: Clearing the cache when an insert or update is made
- Resetting the Cache: It is similar to the first method but rather than just deleting the keys and waiting for the next request for the data to refresh the cache, reset the values after the insert or update.
15) What is automation testing, enlist few of its benefits?
Automation testing or Test Automation is a process of automating the manual process to test the application/system under test. Automation testing involves use of separate testing tools which lets you create test scripts which can be executed repeatedly and doesn’t require any manual intervention. Few of its advantages are listed as:
- Supports execution of repeated test cases
- Aids in testing a large test matrix
- Enables parallel execution
- Encourages unattended execution
- Improves accuracy thereby reducing human generated errors
- Saves time and money
Hope these devops interview question and answer will help you to get you dream job in Devops field