Version Control and Developer Tooling Questions

The everyday toolchain of software work: version control with Git (branching, merging, rebasing, conflict resolution, using git bisect to find a regression), command-line and shell proficiency for day-to-day navigation, log inspection, and troubleshooting, IDE and editor workflows, build systems and package/dependency management (npm, Maven, pip, Gradle, CocoaPods, and embedded/cross-compilation toolchains), and the growing practice of AI-assisted coding: using, reviewing, and verifying AI-generated code and tests. Deliberately generic across languages and stacks; language- and domain-specific frameworks live in their own categories. This topic covers a developer's individual command of these tools, not: writing durable shell automation and glue scripts (Shell Scripting and Automation owns that), producing, versioning, and publishing build artifacts or container images (Build Automation and Artifact Management owns that), release cadence and change governance (Release Management and Change Control owns that), or diagnosing a live production incident end to end (Performance Troubleshooting and Incident Response and the Observability topics own that).

MediumTechnical
38 practiced

Your CI builds are slow because the repository has accumulated many large binary artifacts over its history. Explain how Git LFS addresses this, how you'd migrate the existing large files out of the repo's history, and the operational considerations when converting an active repo to use it.

MediumTechnical
66 practiced

Explain how to use git blame and git annotate to investigate when a line of code was last changed and by whom. Then discuss limitations of blame (e.g., when history is rewritten via rebase/squash) and strategies to maintain traceability in projects that frequently squash or rebase before merge.

EasyTechnical
39 practiced

As a software engineer on a collaborative team, explain the difference between git merge and git rebase. When would you recommend using each approach for feature development and pull requests? Discuss effects on commit history, conflict resolution, code review ergonomics, and potential pitfalls such as force-push requirements and lost commits.

MediumTechnical
70 practiced

You accidentally deleted a branch on the remote that contained commits you need. Describe how you'd recover the branch using git reflog and remote commit hashes, including the exact commands to recreate the branch on the remote.

EasyTechnical
56 practiced

Explain merge commits vs fast-forward merges vs squash merges. For each strategy describe how the git commit history appears, how it affects bisectability and blame, and one situation where you would choose it.

Unlock Full Question Bank

Get access to all Version Control and Developer Tooling interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.