Here are DevOps interview questions and answers for fresher as well as experienced candidates to get their dream job.
It is a newly emerging term in the IT field, which is nothing but a practice that emphasizes the collaboration and communication of both software developers and deployment (operations) team. It focuses on delivering software product faster and lowering the failure rate of releases.
The key aspects or principle behind DevOps is
The core operations of DevOps are
Application development
Infrastructure
A simpler scripting language will be better for a DevOps engineer. Python seems to be very popular.
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.
Some of the popular tools for DevOps are
I have used SSH to log into a remote machine and work on the command line. Beside this, I have also used it to tunnel into the system in order to facilitate secure encrypted communications between two untrusted hosts over an insecure network.
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.
The types of Http requests are
If a Linux-build-server suddenly starts getting slow, you will check for the following three things
Application Level troubleshooting | RAM related issues, Disk I/O read-write issues, Disk Space related Issues, etc. |
System Level troubleshooting | Check for Application log file OR application server log file, system performance issues, Web Server Log – check HTTP, tomcat lo, jboss, or WebLogic logs to see if the application server response/receive time is the issues for slowness, Memory Leak of any application |
Dependent Services troubleshooting | Antivirus related issues, Firewall related issues, Network issues, SMTP server response time issues, etc. |
Popular Cloud computing platform used for DevOps implementation are:
Git bisect helps you to find the commit which introduced a bug using binary search.
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.
Puppet is a useful project management tool. It helps you to automate administration tasks.
Two-factor authentication is a security method in which the user provides two ways of identification from separate categories.
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.
You need to conduct continuous testing to ensure that the new service is ready for production.
A vagrant is a tool which can create and manage virtualized environments for testing and developing software.
Pointer record which is also known as (PTR) is used for reverse DNS lookup.
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.
Following are the useful prerequisites for DevOps Implementation:
Here, are essential best practices for DevOps implementation:
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.
Some most prominent network monitoring tools are:
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.
To enable startup sound
/usr/bin/canberra-gtk-play—id= "desktop-login"—description= "play login sound"
You can also open it with shortcut key Ctrl+Alt+T .
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.
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.
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
Memcached is a free and open source, high-performance, distributed memory object caching system. The primary objective of Memcached is to enhance the response time for data that can otherwise be recovered or constructed from some other source or database. It is used to avoid the need to operate SQL database or another source repetitively to fetch data for a concurrent request.
Memcached can be used for
Memcache helps in
Drawback of Memcached is
Important features of Memcached includes
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.
The data in the failed server won’t get removed, but there is a provision for auto-failure, which you can configure for multiple nodes. Fail-over can be triggered during any socket or Memcached server level errors and not during standard client errors like adding an existing key, etc.
When data changes you can update Memcached by
Dogpile effect is referred to the event when a 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 a semaphore lock. In this system when value expires, the first process acquires the lock and starts generating new value.
Data stored in Memcached is not durable, so if a server is shut down or restarted, then all the data stored in Memcached is deleted.
Blue/Green coloring pattern addresses the most important challenges faced during the automatic deployment process. In Blue/ Green Deployment approach, you need to ensure two identical production environment. However, only one among them is LIVE at any given point of time. The LIVE environment is called Blue environment.
When the team prepares the next release of their software, they conduct their final stage of testing in an environment which is known as Green environment. Once verified, the traffic is routed to the Green environment.
Containers are from of lightweight virtualization. They offer isolation among processes.
Post mortem meeting is done to discuss what went wrong and what steps you need to take in order to avoid failures.
VMfres is one of the most effective options for making IaaS cloud from Virtual Box VMs in no time. However, if you want lightweight PaaS, then Dokku is a good option because bash script can be PaaS out of Dokku containers.
For docker networking, you can use Kubernetes and Docker swarm.
DevOps are used for Production, IT operations, production feedback, and its software development.
CBD or Component-Based Development is a unique way to approach product development. In this method, developers always look for existing well defined, tested, and verified components to compose and assemble them to a product instead of developing from scratch.
Pair programming is an engineering practice of Extreme Programming Rules. In this method, two programmers work on the same system, on the same design/algorithm/code.
One programmer act as a “driver.” Other acts as an “observer” who continuously monitor the progress of a project to identify problems. The roles can be reversed at any point of time without any prior intimation.
Test that ensures recovery without data and functionality loss after a failure is called Resiliency tests.
Three most common DevOps KPIs are:
These interview questions will also help in your viva(orals)