Build Manager / Build and Release Manager - Interview Questions and Answers

Q1.  What is the best practice configuration usage for files - pom.xml or settings.xml ?

Ans. The best practice guideline between settings.xml and pom.xml is that configurations in settings.xml must be specific to the current user and that pom.xml configurations are specific to the project.

Q2.  How can I change the default location of the generated jar when I command "mvn package"?

Ans. By default, the location of the generated jar is in ${project.build.directory} or in your target directory. We can change this by configuring the outputDirectory of maven-jar-plugin.

Q3.  What is Maven's order of inheritance?

Ans. 1. parent pom
2. project pom
3. settings
4. CLI parameters

Q4.  How do I determine which POM contains missing transitive dependency?

Ans. run mvn -X

Q5.  What is the difference between compile and install ?

Ans. Compile compiles the source code of the project 

whereas

Install installs the package into the local repository, for use as a dependency in other projects locally

Q6.  What is the use of !! command ? Can I use it with conjunction to some other string to complete a command ? 

Ans. Its used to execute last command. Yes this can be used with other string to execute new command. For eg - if ls was the last command, We can execute !! -l for having the long listing.

Q7.  Which version control (VC) or software configuration management (SCM) systems work with Merge?

Ans. You can use Tortoise SVN,which has Merge Utility embedded in it.

Q8.  What is a transitive dependency ? Can we override Transitive Dependency version and If Yes, how ?

Ans. Transitive dependency is the dependencies not defined directly in the current POM but the POM of the dependent projects. 

Yes we can override transitive dependency version by specifying the dependency in the current POM. 

Q9.  What are the benefits of transitive depency in Maven ?

Ans. Transitive dependencies allows to avoid specifying the libraries that are required by the project which are specified in other dependent projects - Remote or Local.

Q10.  What is a cyclic dependency ?

Ans. A has dependency of B, B has dependency of C and C has dependency of A,architecture,technical lead

With Maven 2 , came transitive dependency wherein in above scenario, C will acts 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.

Q11.  What technologies have you worked with for build management ?

Ans. Ant and Maven

Q12.  Have you created any build script yourself ?

Ans. Yes, I have worked on many build scripts in last few years.

Q13.  Difference between jar , war and ear ?

Ans. Jar is Java Archieve i.e compressed Class or Class / Java files.
War comprises of compressed Servlet class files,JSP FIles,supporting files, GIF and HTML files.
Ear comprise of compressed Java and web module files ( was files ).

Q14.  Which version control system you are using in your current project ?

Ans. We are using SVN and Git Hub.

Q15. What is Repository ?

Ans. Repository is the heart of any version control system. It is central place where developers store all their work. Repository not only stores files but also history. Repository is accessed over a network, with repository acting as a sever and version control tool acting as a client. Client can connect to repository, and then they can store/retrieve their changes to/from repository.

Q16. How to create user in SVN or the Version control system you used in your project ?

Q17. How to take the Incremental / Full Backup of a Svn Repository? How can you restore it ?

Q18. What differnt type of authorizations you have in your version control system ?

Q19.  What is Jenkins ?

Ans. It is a continuous integration tool written in Java.

Q20.  What is the difference between Maven, Ant and Jenkins ?

Ans. Maven and Ant are Build Technologies whereas Jenkins is a continuous integration tool.

Q21.  Which SCM tools Jenkins supports ?

Ans.  AccuRev, CVS, Subversion, Git, Mercurial, Perforce, Clearcase and RTC

Q22.  What are the various ways in which build can be scheduled in Jenkins ?

Ans. Builds can be triggered by source code management  commits.
Can be triggered after completion of other builds.
Can be scheduled to run at specified time ( crons )
Manual Build Requests