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).

HardTechnical
42 practiced

Describe how to implement client-side and server-side Git hooks to block commits that contain secrets (passwords/API keys). Include examples of tools or libraries you would use, where the hooks run, and how you would handle false positives to avoid developer friction.

EasyTechnical
44 practiced

Explain the difference between git clone, git fetch, git pull and git push. In what scenarios would you use fetch + merge vs pull --rebase? Describe risks and common pitfalls for a collaborative team.

MediumTechnical
66 practiced

Explain interactive rebase (git rebase -i). Provide a concrete example of a feature branch with 5 commits that you would squash, reorder, and edit before merging. List the commands and the potential risks when using interactive rebase on a shared branch.

HardTechnical
56 practiced

Explain the semantics and practical differences between SIGTERM, SIGINT, SIGQUIT, SIGHUP and SIGKILL for typical POSIX services. Then show how to trap SIGTERM and perform graceful shutdown in a bash script started by init system, including the trap line and cleanup function stub.

EasyTechnical
40 practiced

You want to check an HTTP endpoint's status code and total time taken from the command line, suppressing regular output and following redirects. Write the curl command that returns only the HTTP status code and total time in seconds and explain the key curl options you used.

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.