Tip 1 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 2 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
This round started with some basic questions from DevOps followed by some more questions from Docker and Linux.
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 does AWS contribute to DevOps?
AWS stands for Amazon Web Services and it is a well known cloud provider. AWS helps DevOps by providing the below benefits :
1) Flexible Resources: AWS provides ready-to-use flexible resources for usage.
2) Scaling: Thousands of machines can be deployed on AWS by making use of unlimited storage and computation power.
3) Automation: Lots of tasks can be automated by using various services provided by AWS.
4) Security: AWS is secure and using its various security options provided under the hood of Identity and Access Management (IAM), the application deployments and builds can be secured.
What is docker image registry?
1) A Docker image registry, in simple terms, is an area where the docker images are stored. Instead of converting the applications to containers each and every time, a developer can directly use the images stored in the registry.
2) This image registry can either be public or private and Docker hub is the most popular and famous public registry available.
How many Docker components are there?
There are three docker components, they are - Docker Client, Docker Host, and Docker Registry.
1) Docker Client: This component performs “build” and “run” operations for the purpose of opening communication with the docker host.
2) Docker Host: This component has the main docker daemon and hosts containers and their associated images. The daemon establishes a connection with the docker registry.
3) Docker Registry: This component stores the docker images. There can be a public registry or a private one. The most famous public registries are Docker Hub and Docker Cloud.
Describe the lifecycle of Docker Container
The different stages of the docker container from the start of creating it to its end are called the docker container life cycle.
The most important stages are:
1) Created: This is the state where the container has just been created new but not started yet.
2) Running: In this state, the container would be running with all its associated processes.
3) Paused: This state happens when the running container has been paused.
4) Stopped: This state happens when the running container has been stopped.
5) Deleted: In this, the container is in a dead state.
What is LVM and why is it required?
1) LVM (Logical Volume Management) is basically a tool that provides logical volume management for the Linux kernel.
2) It is being introduced simply to make physical storage device management easier. It also includes allocating disks, striping, mirroring, resizing logical volumes.
3) Its main advantages are increased abstraction, flexibility, and control. It simply allows for flexible disk space management.
4) It is especially required to resize the size of the file system online.
5) In Linux, the size of the LVM partition can be extended using “lvextend” command and can be reduced using “lvreduce” commands, respectively.
What is load average in Linux?
Load average, as the name suggests, is the average system load on Linux servers being calculated over a given period of time. The load average of Linux servers can be found using “top” and “uptime” commands. It is simply used to keep track of system resources. It is represented by a decimal number starting at 0.00. It tells you the load that the system has been under.
This round started with me first giving a brief intro about my experience in the DevOps sector and then the interviewer switched to asking me questions about Git , Docker and Kubernetes.
What is the command used to delete a branch?
1) To delete a branch we can simply use the command : git branch –d [head].
2) To delete a branch locally, we can simply run the command : git branch -d
3) To delete a branch remotely, run the command : git push origin --delete
4) Deleting a branching scenario occurs for multiple reasons. One such reason is to get rid of the feature branches once it has been merged into the development branch.
What do you know about git reflog?
This command tracks every single change made in the repository references (that can be branches or tags) and also maintains the branches/tags log history that was either created locally or checked out. Reference logs such as the commit snapshot of when the branch was created or cloned, checked-out, renamed, or any commits made on the branch are maintained by Git and listed by the ‘reflog’ command.
1) This recovery of the branch is only possible when the branch was either created locally or checked-out from a remote repository in your local repository for Git to store its reference history logs.
2) This command should be executed in the repository that had the lost branch.
Difference between git revert and git reset.
git revert :
1) This command is used for creating a new commit that undoes the changes of the previous commit.
2) Using this command adds a new history to the project without modifying the existing history
git reset :
1) This command is used for undoing the local changes done in the git repository.
2) This command operates on the commit history, git index, and the working directory.
Can you tell the difference between CMD and ENTRYPOINT?
1) CMD command provides executable defaults for an executing container. In case the executable has to be omitted then the usage of ENTRYPOINT instruction along with the JSON array format has to be incorporated.
2) ENTRYPOINT specifies that the instruction within it will always be run when the container starts.
This command provides an option to configure the parameters and the executables. If the DockerFile does not have this command, then it would still get inherited from the base image mentioned in the FROM instruction.
- The most commonly used ENTRYPOINT is "/bin/sh" or "/bin/bash" for most of the base images.
3) As part of good practices, every DockerFile should have at least one of these two commands.
How to monitor the Kubernetes cluster?
Prometheus is used for Kubernetes monitoring. The Prometheus ecosystem consists of multiple components.
1) Mainly Prometheus server which scrapes and stores time-series data.
2) Client libraries for instrumenting application code.
3) Push gateway for supporting short-lived jobs.
4) Special-purpose exporters for services like StatsD, HAProxy, Graphite, etc.
5) An alert manager to handle alerts on various support tools.
What is Kubernetes Load Balancing?
Load Balancing is one of the most common and standard ways of exposing the services. There are two types of load balancing in K8s and they are :
Internal load balancer – This type of balancer automatically balances loads and allocates the pods with the required incoming load.
External Load Balancer – This type of balancer directs the traffic from the external loads to backend pods.
Can you explain the architecture of Jenkins?
Jenkins follows the master-slave architecture. The master pulls the latest code from the GitHub repository whenever there is a commitment made to the code. The master requests slaves to perform operations like build, test and run and produce test case reports. This workload is distributed to all the slaves in a uniform manner.
Jenkins also uses multiple slaves because there might be chances that require different test case suites to be run for different environments once the code commits are done.
This was a typical HR round with some standard Behavioral questions.
Tell me something about yourself?
Tip 1 : Prepare the points that you will speak in your introduction prior to the interview.
Tip 2 : Tell about your current cgpa, achievements and authenticated certification
Tip 3 : I told about my role in current internship and what all I do
Why should we hire you ?
Tip 1 : The cross questioning can go intense some time, think before you speak.
Tip 2 : Be open minded and answer whatever you are thinking, in these rounds I feel it is important to have opinion.
Tip 3 : Context of questions can be switched, pay attention to the details. It is okay to ask questions in these round,
like what are the projects currently the company is investing, which team you are mentoring. How all is the work
environment etc.
Tip 4 : Since everybody in the interview panel is from tech background, here too you can expect some technical
questions. No coding in most of the cases but some discussions over the design can surely happen.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is recursion?