Sunday, October 23, 2016

Interview Questions and Answers on Jenkins

Jenkins is one of the tools for continuous integration and these days more applications are using Jenkins for automated integration. Here are few important questions and answers on Jenkins.

1. What is Jenkins?

Jenkins is an open source application for continuous integration and continuous delivery of application software.

2. What is Continuous Integration?

Typically, there are multiple developers writing code for a single application, so we need to perform integration test by integrating each new piece of code via testing it through as many tests as possible. This practice is called continuous Integration. Jenkins besides Hudson, Bamboo etc provides tools for continuous integration.

3. Tell me few advantages of Jenkins?

Here are some advantages of using Jenkins (or by any matter any integration tools) :-

(a) It saves developer time: 

The foremost advantage of using Jenkins is that since most of the integration task is being handled by Jenkins (via automatic integration), the developer time is focused on development activities mostly.

(b) Improved software quality

Since the software is being tested immediately after any code check-in, it keeps the quality check frequently, thus improving overall software quality.

(c) Faster Delivery

Jenkins automatically does continuous integration, which leads to very early detection of bugs / defects and hence it leads to faster delivery of software.

(d) Decreased development time

Since most of the integration work is automated by Jenkins, it leads to the faster development of application.

(e) Easily portable: 

Since Jenkins is developed using Java, it can be easily portable to other platforms.

(f) Early tracking of defects: 

Jenkins helps tacking of defects at very early stage in development environment only rather than production environment.

(g) Email Notification to developers: 

Jenkins can be easily integrated with LDAP server, so developer are notified about build success / failure via mail.

4. What are the commands to start Jenkins manually?

Commands:
<jenkins_url>/restart :  Force restart (will not wait for ongoing build to complete)
<jenkins_url>/safeRestart : Wait for all builds to complete before restarting.

5. Mention few plugins of Jenkins?

Here are some plugins that can be used with Jenkins:

  • Delivery Pipeline
  • Join Plugin
  • Copy Artifact 
  • Git 
  • Android Emulator 
  • Cobertura 
  • Email-ext 
  • Docker 
  • Amazon EC2
  • Openstack Cloud
  • CloudBees Folders

6. What are the two most important components Jenkins is integrated with?

Jenkins is integrated with these two components mainly:
(a) Version Control System like SVN, GIT
(b) Build tools like Maven



That's all for some important questions and answers on Jenkins. I will add more questions and answers later.

Monday, August 1, 2016

Docker Interview Questions

What is Docker?

Docker is a platform to run each application isolated and securely. Internally it achieves it by using kernel containerization feature.

What is the advantage of Docker over hypervisors?

Docker is light weight and more efficient in terms of resource uses because it uses the host underlying kernel rather than creating its own hypervisor. 

What is Docker Image?

Docker Image is the source of the docker container. In other words, docker images are used to create containers. It is possible create multiple isolated containers from a single image.

What is Docker Container?

Docker Container is the instantiation of docker image. In other words, it is the run time instance of images. Images are set of files whereas containers is the one who run the image inside isolated.

Difference between Docker Image and container?

Docker container is the runtime instance of docker image.
Docker Image doesnot have a state and its state never changes as it is just set of files whereas docker container has its execution state.


How do you create docker image?

Docker image are created using Docker file. Docker build is command to create docker image out of docker file

So you have the docker image, what is the next step?

With docker image, we can spawn as many containers as needed. All containers can be same instance or it can also be different instance, what I mean that if we are using the same command for creating multiple containers, all container will behave as same. However, if you choose different command to create container out of same image, it will provide different functionality altogether.

How to create docker container?

We can create docker container by running this command
docker run -t -i <image name> <command name>
This will create and start the container

How to know the container status?

Just fire docker ps -a to list out all running container with stauts (running or stopped) on a host

How to stop and restart the container?

To stop container, we can use docker stop <container id>
To start a stopped container, docker start <container id> is the command
To restart a running container, docker restart <container id>


Monday, March 21, 2016

Vagrant Interview Questions

1. What is Vagrant?
2. How Vagrant helps making development environment easy?
3. Can you name some hypervisors on which Vagrant provides wrapper around?
4. Does Vagrant also provides wrapper of dev ops tools?
5. Which all dev-ops tools does Vagrant provides wrapper over?
6. Does Vagrant supports Docker Containers also?
7. Which server environments Vagrant provides support?
8. What all steps required to configure Vagrant?
9. What are the commands for making Vagrant up and running?
10. What are the benefits of using Vagrant?
11. What is vagrantfile and its use?
12. How Vagrant helps programmers in development?
13. How Vagrant helps operations engineers in devops?
14. How Vagrant benefits software designers?
15. How does Vagrant provider helps you to manage other Virtual Environment
16. How can you share  your environment with others?
17. What is Vagrant Provisioning?
18. What does synced folders do?
19. What is Vagrant Multi-Machine?
20. What is Vagrant box?


If you are planning to learn Vagrant in depth, here are some good books on Vagrant:


                               



You can also purchase it from kindle store directly:

                             



Sunday, March 13, 2016

DevOps Interview Questions

DevOps Interview Questions

  1. What is DevOps and how does it evolve?
  2. What DevOps can do for you?
  3. What is the advantage of DevOps over maven or ant tools?
  4. What are the different DevOps tools present in the market?
  5. Which DevOps tool will you prefer among these?
  6. What is chef, puppet and docker?
  7. What is the advantage of chef over puppet and docker?
  8. What is the advantage of puppet over chef and docker?
  9. What is the advantage of docker?
  10. How DevOps can help in building bridges between Development, QA and Operations teams?
  11. Which scripting language is most significant to learn to become a DevOps engineer?
  12. What all testing required for a successful DevOps project?
  13. What all risks that gets minimized with DevOps?
  14. Suppose there is a bug found in a software that has been already in production and it requires quick fix, will DevOps be helpful in getting it done faster? If yes, how?
  15. How do you access about how 'deployable' a system is?
  16. What is the difference between RAID 1 and RAID 5?
  17. What are the alternatives of init.d in linux?
  18. What roles do QA (Quality Assurance) should play in DevOps according to you?
  19. What long and short term goals a organisation should keep in mind before opting for DevOps?
  20. What testing is necessary to assure a new service is production ready or not?

Chef Interview Questions