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
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
62 practiced

You're the on-call SRE and a service process is unresponsive. Using only local CLI tools and man pages, describe how you'd discover available Unix signals, learn their meanings, and decide whether to send SIGTERM or SIGKILL. Include the specific commands you would run to list signals and to read man-page sections for signals and kill semantics, and explain your decision criteria for which signal to use in production.

EasyTechnical
44 practiced

Describe how you typically configure your IDE and developer environment for productivity (language tools, linters, formatters, debug configuration). Pick one stack (e.g., Python + VS Code or Java + IntelliJ) and list specific extensions and settings you find essential.

EasyTechnical
46 practiced

Explain the difference between build-time and run-time dependencies and give examples in npm, Maven, and pip ecosystems. How should you manage them to minimize app size, vulnerability surface, and build instability?

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.