Blog Archives

04: Git Merging Vs rebasing interview questions and answers

Q1. What do you understand by the terms merging and rebasing? Can you explain both with a daiagram? A1. Both of these commands are designed to integrate changes from one branch into another branch—they just do it in very different ways. When developers work in parallel and commit changes to…

Read more ...

05: Git & Maven for releasing software artifacts Q&A

Q1. What are the general steps involved in making a software release?

#1: Checking out the software artifacts to you build serevr or local box from a source control management (i.e. SCM) system.

#2: Giving it a version so it can be uniquely identifieds

#3: Building, testing and packaging the artifacts.

#4: Deploying the built artifacts a repository like Nexus where the artifacts can be picked up for for actual roll out on target servers by the release team.

#5: Tagging this state in SCM so it can be associated with the matching artifacts.

Q2. How will you go about using Git and Maven to perform software releases?

Step #1: Checking the software out from Git and checkout if you want to release from a branch

Step #2: Giving it a version. “0.0.1-SNAPSHOT” in pom.xml becomes “0.0.2-RC1” (that is Release Candidate 1)

You should not have any “SNAPSHOT” in your multi-module pom files.

If you find any “SNAPSHOT”, manually update them with something like

Read more ...

18 Agile Development interview Q&A for Java developers

Q1. What are the typical roles and responsibilities of an agile core team? A1. The Product Owner represents the stakeholders and is the voice of the customer. He or she is accountable for ensuring that the team delivers value to the business. The Product owner writes typically the user stories,…

Read more ...

30+ SDLC activities you perform as a Java developer

Don’t get overwhelmed by this activities list. This proves why employers favor experience to just academic qualifications alone. It also emphasizes the fact why good technical skills must be complimented with good soft skills and right attitudes get things done as a software developer. I also vividly remember my first…

Read more ...

Java BDD (Behavior Driven Development) interview Q&A

Q1. What is BDD? A1. BDD is principally an idea about how software development should be managed by both business interests and technical insight. Test-driven development focuses on the developer’s opinion on how parts of the software should work. Behavior-driven development focuses on the users’ opinion on how they want…

Read more ...

SDLC process interview Q&As

No right or wrong answers. The depth and quality of the answers will can prove your seniority and experience. Q1. What are the SDLC activities you perform as a Java developer? A1. Don’t get overwhelmed by this activities list. This proves why employers favor experience to just academic qualifications alone….

Read more ...

Source control system and subversion (aka SVN) Q&A

Q. Why do you need a source control system?
A. Source Control systems like subversion is a must if you are writing Java code by yourself or as a team. It allows multiple streams of coding, tracks the changes in your code and allows you to roll back to previous versions.  Here are the benefits of a source control system.

  • Have you ever realized that you have made a mistake and wanted to revert back to your previous revision? You also don’t lose your code. You can experiment with things., and if things don’t work as expected, you can revert your code.
  • Multiple streams or projects can work simultaneously on the same code base by branching the code from trunk, and then merging the code back to trunk and then tagging it prior to releasing and deploying the code.
  • Versioning helps you look at previous versions of the code to find out when and where bugs were introduced. You can compare two different versions of code side by side.
  • You can also create patches and apply patches.

Q. What are the differences between trunk, branch, and a tag in relation to a source control system like SVN?
A. There are many source control systems like Git, Clearcase, Subversion (aka SVN), etc, and SVN is a very popular open source source control system. You can use it via its command line commands or via GUI based client tools like TortosieSVN.… Read more ...

500+ Enterprise & Core Java programmer & architect Q&As

Java & Big Data Tutorials