Git & Build Tools Fundamentals
Fast recall
Quick revision
Core answer
Whether you understand Git as a DAG of commits (not a linear save) and a build tool as a reproducible dependency-managed pipeline (compile, test, package), not just 'I use git add and mvn package'.
Describing Git commands by rote ('I know rebase') without explaining the commit DAG, or listing build-tool plugins without explaining reproducibility or dependency resolution.
Frame Git as a DAG of immutable commits where branches are movable pointers — this explains merge vs. rebase — and the build tool as a reproducible graph of tasks (compile→test→package) with declarative dependency resolution. Name the mental model, not the commands.
Interview-ready guide
Interview answer
Git and build tools are the foundation of team development, and they exist together because you can't do team development without both.
Git records every change as an immutable commit in a directed acyclic graph — branches are just movable pointers, and that mental model is what explains merge versus rebase: merge preserves the history topology with a merge commit, rebase replays commits linearly but rewrites history, so you never rebase commits other people have built on.
The build tool, Maven or Gradle, turns source into a reproducible artifact by resolving dependencies declaratively — you say what you need, it pulls the transitive graph from Maven Central — and running a fixed task order of compile, test, package. The thing that actually makes a build reproducible isn't the tool, it's pinning your dependency versions and using a BOM; if you resolve 'latest', you get drift.
And I love git bisect, because commits are content-addressed snapshots — you binary-search the DAG to find exactly which commit introduced a bug.
Git & Build Tools Fundamentals
Direct Answer
Git is a distributed version-control system that records every change to a codebase, and build tools (Maven, Gradle) turn source into a reproducible, dependency-managed artifact. They exist together because team development is impossible without both: without version control, changes collide and history is lost; without a build tool, 'it compiles for me' drifts across machines. Git gives you safe, bisectable history and parallel branches; the build tool gives you a single command that produces the same artifact on every machine.
Common Mistakes & Pitfalls
Describing Git commands by rote ('I know rebase') without explaining the commit DAG, or listing build-tool plugins without explaining reproducibility or dependency resolution.
Check your understanding
Answer these without looking back at the article.
- What is the difference between git merge and git rebase, and when is rebase dangerous?
- How does a build tool resolve transitive dependencies, and what causes a version conflict (diamond problem)?
- What makes a Maven build reproducible, and how does a BOM help?
- How does git bisect use the commit DAG to find a regression?
- Why should you never rebase a commit that other developers have already built upon?
Related interview prep categories
1Looking for a structured roadmap?
Every module on this page is also part of the full Java backend interview track.