Showing posts with label interview questions. Show all posts
Showing posts with label interview questions. Show all posts

Sunday, October 23, 2016

Jenkins Interview Questions and Answers

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.

Saturday, July 30, 2016

Docker Interview Questions and Answers - Part II

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>


This article was originally published by me at Docker Interview Questions and reproduced here for larger audience. 

That's all for Part II series of Docker Interview Questions. I will keep posting more question in next series with more depth analysis. 

<<<<<< Docker Interview Questions - Part -I

Monday, March 21, 2016

Cloud Computing Interview Questions

Cloud is an emerging trend these days and that is why these days interviewer is asking more questions on cloud computing. Cloud especially IAAS cloud and virtualization are very close terms and you should also know virtualization interview questions for IAAS. 

Here are some basic questions on cloud computing:


What is cloud computing and why should we go for using cloud computing(advantages)?

Cloud Computing is a model in which configurable and scalable computing resources (storage, network, application etc) are provided as a service to end user over internet with minimal effort.

Basically cloud computing has the following features: 
(a) Utility computing
(b) Programmatic
(c) Grid
(d) On-demand
(e) Scalable
(f) Usage based billing
(g) Virtualization

The advantages / benefits of cloud computing is as under:
(a) Cost effective
(b) Highly scalable
(c) Pay as per use
(d) Only operational expenditure (No setup expenditure)
(e) Data backup 
(f) Quick restore in case of disaster
(g) Software as a service
(h) Minimal management effort
(i) Time Saving


What are different types of cloud?

According to deployment -
  • Public cloud
  • Private cloud
  • Hybrid cloud
  • Community cloud
According to service -
  • IAAS - Infrastructure as a service
  • PAAS - Platform as a service
  • SAAS - Software as a service


What is Public cloud?

A non-proprietory model where computing resources such as storage, network, applications etc are available to general public for use. It generally works on pay per use model. It is self managed solution with shared resources (with other public) with very less control over performance factor.

What is Private cloud?

Private cloud is a model where a set of non-shared computing resource is dedicated to a single organization and is secured enough so that no other client from the same datacenter can access it. Alternatively, it can also be deployed in-house by the organisation. Also, it has more control over the performance of computing resource.


What is Community cloud?

A community cloud is a multiple user cloud where infrastructure is shared amongst multiple participating organisations from a specific community with common concerns (for eg. regulatory compliance etc) . With added layer of privacy, security and policy compliance, Community Cloud has the properties of both Public cloud (Pay as per use) as well as that of Private cloud.

What is Hybrid cloud?

Hybrid cloud is the combination of both Public and Private cloud. Suppose an organisation wants to achieve cost-effectiveness with security then hybrid cloud is the best solution. It can setup private cloud for secured sites and public cloud for sites where security is really not a concern. Since public cloud is relatively cost-effective and is highly scalable as compared to private cloud which is more secure, such a setup achieves both security and cost-effective.

That's all for interview questions on cloud computing.



Thursday, February 18, 2016

Spring boot Interview Questions and Answers

What is Spring Boot?

Spring boot is the solution for creating standalone and production grade Spring application with very little Spring configuration.

Explain some features of Spring Boot?

Here are some features of Spring Boot:
  • It embeds web-application like Tomcat or Jetty directly
  • Comes with various already available maven's POM file to do minimal build creation code.
  • Automatically configure Spring
  • Provides inbuilt health-check feature
  • Provides inbuilt 'metrics' feature

What is the advantage of Spring Boot?

Following are the advantages of using Spring Boot:
  • Reduces lots of development time by providing boilerplate Java code and configuration
  • Easy to integrate with Spring ORM, Spring Security, Spring JDBC etc
  • Provides various plugins to develop, build and unit test Spring Boot applications with minimum effort.

Explain the purpose of spring-boot-starter-batch?

The purpose of spring-boot-starter-batch is to import all the dependency for the spring batch application. The advantage of it is that searching and configuring all the dependencies has become easier.

What are the template engines that Spring boot supports?

Spring boot supports the following template engines:
  • Groovy
  • FreeMarker
  • Mustache

What is the main disadvantage of Spring Boot?

Converting legacy Spring Framework application into Spring Boot application is not straight forward and is bit time consuming, which makes it difficult to port legacy Spring projects to Spring Boot application.

That's all for interview questions and answers on Spring Boot. Please provide your feedback in comment section.