Build and Release Engineer Interview Questions

If you're looking for Build & Release Manager Interview Questions, you are at right place. There are lot of opportunities from many reputed companies in the world. So, You still have opportunity to move ahead in your career in  Build & Release Manager. Mindmajix offers advanced  Build & Release Manager Interview Questions that helps you in cracking your interview & acquire dream career.

Q: What are the best practices of configuring repository in pom.x
ml v/s settings.xml?
There are basically two different ways to configure the repository in pom.xml or settings.xml. The best practice is to configure repositories only in settings.xml file which makes the configuration simpler to use for a repository manager. The other one is the configurations of settings.xml which must be particular to the current user and that pom.xml configuration are particular to the project.

Q: How can I change the default location of the generated jar when I command “mvn” package"?
By default, the location of the jar file created is in the $ {project.build.directory} or in our target directory. We can change this by specifying the output directory in the maven-jar-plugin.
Q: What is Maven's order of inheritance?
Order of inheritance in Maven goes as Parent pom, project pom, settings followed by CLI parameters
Q: What is the difference between compile and install?
Generally the word compile means converting the source code into object code. In the language C, which means translating from .c files to .o files. For e. g. The linker combines .o files into, and .exe files ready for running the program. Build on the other hand is more general.  Compile assemble the source code of the project, whereas Install mounts the package into the local repository, for use as a dependency in other projects locally.
Q: What is the use of !! command? Can it be used in conjunction to some other strings to complete a command ? 
It is used to execute the last command. Yes, this can be used with other string to execute a new command. For e.g. - if ls was the last command, we can execute !! -l for having the long listing.
Q: How will do the deployment?
Tomcat deployment is like straight forward and it copy’s the .war files to remote tomcat application server.Stopping & starting of the tomcat application servers and these simple activities are done by shell sprit.
Q: For what reason Build fails? 
There are various reasons like class path is not set properly, which is the common cause and the issues related to dependence the JAR files. If the build.xml depended on the some of the jar files, if we don't copy the depended jar files it will fail. If we don’t exit from the folder and we are trying to create a new folder or copy the files to the folders, then it will fail.
Q: What is Jenkins and what do you mean by Continuous Integration? 
Jenkins is a software that allows for continuous integration. Jenkins can be installed on a server where the central building of the application will be taking place. Continuous Integration is a development practice that requires developers to integrate the codes into a shared repository at regular intervals. This concept was meant to remove the problem of searching for the updated versions of the issues during the build life cycle. Continuous integration requires the developers for building the task regularly. The common practice that a build should be initiated as soon as a code commit occurs.
Q: What is the requirement for using Jenkins?
To use Jenkins we need a source code repository which is easily accessible, for instance, a Git or Github and a working build script, e.g., a Maven script, checked into the repository
Q: Mention the advantages of Jenkins?
Advantages of Jenkins are
1. Right at the integration stage, build failures are cached.
2. For each code commit changes, build report notification automatically generates.
3. To notify developers on building report success or failure, it has been integrated with LDAP mail server.
4. Achieves continuous integration, agile development and test driven development.
5. With these simple steps, the maven release projects are automated.
6. Easy tracking of bugs at early stage in the development stage than production.
Q: Explain how to move or copy Jenkins from one server to another?
1. We can just slide a job from one installation of Jenkins to another by copying the related jobs directory
2. Make a copy of an already existing job by making a clone of a job directory with a different name
3. Renaming of an existing job by renaming the directory.
Q: Mention the commands you can use to start Jenkins manually?
To start Jenkins manually, we can choose either of the following
>> (Jenkins_url)/restart: Forces a restart without waiting for the builds to complete
>> (Jenkin_url)/safeRestart: Allows all running builds to complete and then start.
Q: Mention some of the useful plugins in Jenkin?
Some of the important plugins in Jenkin are as follows: -
1. Maven 2 project
2. Amazon EC2
3. HTML publisher
4. Copy artifact
5. Join
6. Green Balls
Q: How can we deploy a custom build of a core plugin?
To install a custom field of a core plugin, we have to do the following things
>> Stop Jenkins
>> Copy the custom HPI to $Jenkins_Home/plugins
>> Delete the previously expanded plugin directory
>> Make an empty file called .hpi.pinned
>> Finally Start Jenkins
Q: How can you generate a backup and copy files in Jenkins?
Jenkins saves all the settings, build artifacts and logs in its home directory, to generate a back-up of Jenkins setup,we need to copy this directory. You can also copy the job directory to clone or replicate the job or rename the directory.
Q: How can we clone a Git repository via Jenkins?
Generating a replica of a Git repository via Jenkins, we have to enter the e-mail and user name for our Jenkins system.  For that, we have to switch to our job directory and execute the “git config” command.
Q: How can we can set up Jenkins job?
To generate a project that is handled via jobs in Jenkins, we need to select new item from the menu and once this done, we should enter a name for the job and select free style job. Then click OK to generate a new job in Jenkins.  The following page enables you to configure your job.
Mention the two components of Jenkins which is mainly integrated with?
Jenkin is integrated with two components Version Control system like GIT, SVN and build tools like Apache Maven.
Q: What do you mean by Repository?
In the computer world, a repository is a central storage in which an accumulation of data and is kept and maintained in an organized way, usually in server storage. The term has been derived is from the Latin repositorium, which means a vessel or chamber in which things can be placed, where anyone can collect them. Depending on how the repository will be used, a repository may be directly accessible to users or may be a place from which specific databases, files, or documents which are pulled for further development, relocation or distribution. A repository may be assembling of data itself into some accessible place of storage or it may also imply some ability to selectively extract data. 
Q: What does 'Nightly Builds' mean?
It means an automated build that is routinely done once in a day, after the end of the day for most of the developers. For projects with developers in several time zones, it is usually a compromise time. The idea is that everyone who checks in code "today", the automated build ensures that everything compiles, and also runs the unit tests and other automated tests that has been programmed to produce a final installer/executable etc.
Q: How can we configure Nightly Builds?
We can click on a new job and we should name the job in the source code control management, which we wish to give the subversion and then give the subversion URL where we want to deploy the subversion where we have the source code. Then we have the building triggers category which contains pole scm and build periodically. Pole scm means  if we want to do a build for every check in then we have to use pole scm, if we want to use build periodically or run a build on a particular time and all that we have to use build periodically  and we give crone job syntax which contains the build which has to execute the shell  and invoke the ant and invoke maven, and if we want an invoke ant spirit we can select invoke ant and then pass the corresponding target to post bill actions which will contain email notifications and if the build fails then we will automatically get an email notifications for post build activities.
Q: What is a transitive dependency? Can we override Transitive Dependency version and If Yes, how?
Transitive dependency is the dependencies which are not directly defined to the current POM and is the POM of the dependent projects. It is possible to override transitive dependency version by identifying the dependency in the current POM. 
Q: What are the benefits of transitive dependency in Maven?
Transitive dependencies help us by specifying the libraries that are required for the project, which are specified in other dependent projects - Remote or Local.
Q: What are the various ways in which build can be scheduled in Jenkins?
1. Builds can be initiated by source code management commits.
2. Can be initiated after completion of other builds.
3. Can be scheduled to run at a particular time (crons)
4. Manual Build Requests.
Q: What is a cyclic dependency?
In software engineering, a cyclic dependency is a correlation between two or more modules which either directly or indirectly depend on each other to function properly. Such modules are also known as mutually recursive. Lets take an example. A has dependency of B, B has a dependency of C and C has a dependency of A, architecture, technical lead. With Maven 2, came the much needed transitive dependency wherein in the above scenario, C will act as a dependency of A as if this dependency has been defined directly in A but the negative side is that if it leads to cyclic dependency , it creates problems.
Q: Difference between jar, war and ear?
Jar is Java Archive i.e. compressed Class or Class / Java files. War comprises of compressed Servlet class files, JSP FIles, supporting files, GIF and HTML files and Ear comprise of compressed Java and web module files (was files).
Q: What do we do with SVN?
In SNV we generate the branching. We create the administration for the SVN, so we install, configure and maintain subversion repository, in our day 2 day activities with respective SVN would be creating branches, tags providing access permission to developers on the branches and troubleshoot any issues that comes under SVN version taking the backup of subversion using SVN admin dump command.
Q: How does attenuation happen for Jenkins to remote server? 
We have facilities like password less log enabled, so from Jenkins server anyone can login to the remote Linux server and  without asking the password the key exchange is already done.
Q: What do you mean by Web sphere?
In the web sphere we just do the deployment of activities and for doing  deployment activities we use the console from where we can deploy to web sphere from dmgl console and all other reaming configurations and all is done by middleware team. They do all the initialization and configuration of middleware, so web logic is not the same thing what we work on but we have some kind of a good understanding on web sphere.
Q: Do you have any experience with ear files?
I have installed ear files in web sphere application server using dmgr console. I know that there are specific areas where I need to improve work upon it. I strongly believe that you know there is always a learning convergent individual and I believe that this is the age where people will learn things and have the capability to learn very fast, so if you give an opportunity then I will be able to learn and will able to implement and become productive very fast, as I am looking for the right kind of opportunity. 


  1. Excellent tips.Thank you:)

  2. Great article, Thanks For sharing

  3. Excellent post. Thank you

  4. very motivating, thanks!

  5. Thanks for sharing those information