Interview Q&A

Master technical and career interviews with structured answers—short definition, real examples, pitfalls, and how to answer in 60–90 seconds.

4616 total questions 4516 technical 100 career & HR 4346 from PDF library

Showing 101–125 of 195

Popular tracks

Mid PDF
How can you view the difference between two commits?

Use git diff with two commit hashes: git diff <commit1> <commit2> This shows line-by-line changes between the two commits. Example: If you want to compare how your project changed between version 1.0 and vers…

Version Control Read answer
Mid PDF
How do you delete a branch locally and remotely?

Locally: git branch -d feature/old-branch (-D for force delete if it’s not merged) Remotely: git push origin --delete feature/old-branch Real-world example: fter merging your feature branch into main, you can safely dele…

Version Control Read answer
Mid PDF
How do you clone an existing repository?

To clone an existing repository, you use the git clone command followed by the URL of the remote repository: git clone This command creates a copy of the repository on your local machine, including all its files nd histo…

Version Control Read answer
Junior PDF
What is a branch?

A lightweight, movable pointer to a commit, allowing for parallel development. What interviewers expect A clear definition tied to Version Control in Git & GitHub projects Trade-offs (performance, maintainability, se…

Version Control Read answer
Mid PDF
Explain the difference between git add and git commit.

git add: This command stages changes, telling Git which modifications you want to include in the next commit. It doesn't save the changes to the repository yet, just prepares them. git commit: This actually saves the cha…

Version Control Read answer
Mid PDF
Switch branch? git checkout <branch-name> or git switch

&amp;lt;branch-name&amp;gt; - moves your HEAD pointer to another branch. What interviewers expect A clear definition tied to Version Control in Git &amp; GitHub projects Trade-offs (performance, maintainability, security…

Version Control Read answer
Mid PDF
How do you reduce repository size in GitHub?

Answer: To slim down a bloated repository: Remove large unnecessary files: git filter-repo --path path/to/largefile --invert-paths What interviewers expect A clear definition tied to Version Control in Git &amp; GitHub p…

Version Control Read answer
Mid PDF
How do you handle versioning and tagging in CI/CD pipelines?

In CI/CD, I automate version tagging to keep releases consistent and traceable. Example pipeline step (GitHub Actions): name: Tag release run: | VERSION=$(node -p "require('./package.json').version") git tag -a "v$VERSIO…

Version Control Read answer
Junior PDF
What is GitHub Flow vs Git Flow?

spect GitHub Flow Git Flow Purpose Simple branching model for continuous delivery Structured model for release management Branche Only main and short-lived feature branches Multiple: main, develop, feature, release, hotf…

Version Control Read answer
Junior PDF
What is a “detached HEAD” and how can you recover from it?

A detached HEAD happens when Git’s HEAD (your current position) points to a specific commit instead of a branch. If you make new commits in this state, they won’t belong to any branch — you could lose them if you switch…

Version Control Read answer
Junior PDF
What is a detached HEAD state in Git?

A detached HEAD occurs when Git’s HEAD (which points to your current branch) points to a specific commit instead of a branch. This means you’re not working on any branch — any new commits made in this state are “orphaned…

Version Control Read answer
Mid PDF
Switch branch?

Answer: git checkout &amp;lt;branch-name&amp;gt; or git switch &amp;lt;branch-name&amp;gt; - moves your HEAD pointer to another branch. What interviewers expect A clear definition tied to Version Control in Git &amp; Git…

Version Control Read answer
Mid PDF
Explain how you’d migrate from SVN or Mercurial to Git.

Answer: Migrating involves preserving history, branches, and tags. Steps (SVN example): Install Git SVN: git svn clone -trunk=trunk -branches=branches --tags=tags What interviewers expect A clear definition tied to Versi…

Version Control Read answer
Mid PDF
How do you handle protected branches?

A protected branch (like main) restricts direct commits or merges unless specific rules are met. You can configure: Require pull request reviews Require status checks (tests) to pass Restrict who can push Prevent force p…

Version Control Read answer
Mid PDF
Explain how Git handles conflicts during merges or rebases.

Answer: When two branches modify the same part of a file, Git can’t automatically decide which version to keep — this creates a conflict. Git will: What interviewers expect A clear definition tied to Version Control in G…

Version Control Read answer
Mid PDF
When would you use git cherry-pick?

git cherry-pick lets you apply a specific commit from one branch to another, without merging the entire branch. Example: Imagine you fixed a typo in the develop branch but need that same fix in main immediately. Instead…

Version Control Read answer
Mid PDF
How do you manage multiple contributors working on the same codebase?

Key practices I Branch-per-feature model – Each developer works on isolated branches. Pull Requests (PRs) for merging into main. Code reviews + CI tests required before merging. Protected branches prevent direct commits.…

Version Control Read answer
Mid PDF
How do you handle protected branches? Follow:

A protected branch (like main) restricts direct commits or merges unless specific rules are met. You can configure: Require pull request reviews Require status checks (tests) to pass Restrict who can push Prevent force p…

Version Control Read answer
Mid PDF
When would you use git cherry-pick? Follow:

git cherry-pick lets you apply a specific commit from one branch to another, without merging the entire branch. Example: Imagine you fixed a typo in the develop branch but need that same fix in main immediately. Instead…

Version Control Read answer
Junior PDF
What is .gitignore and how is it used?

The .gitignore file tells Git which files or directories it should ignore when tracking changes. This is useful for files that aren’t necessary in the repository, like log files, compiled binaries, or local configuration…

Version Control Read answer
Mid PDF
Merge branches?

git merge &amp;lt;branch-name&amp;gt; - combines changes from one branch into another. What interviewers expect A clear definition tied to Version Control in Git &amp; GitHub projects Trade-offs (performance, maintainabi…

Version Control Read answer
Mid PDF
How do you ensure code versioning integrates well with CI/CD and deployment processes?

I treat Git as the single source of truth for builds and deployments. My approach: Each merge to main triggers CI/CD pipelines (GitHub Actions, Jenkins, or GitLab CI). Pipelines: Run tests, lint, and security scans. Tag…

Version Control Read answer
Mid PDF
What’s your approach to keeping a Git history clean and readable?

I believe in a clean, meaningful Git history that tells the story of the project clearly. Here’s how I maintain it: Use atomic commits (each commit = one logical change) Write clear commit messages: feat: add user profil…

Version Control Read answer
Mid PDF
How do you squash commits in a PR before merging?

Squashing combines multiple small commits into one clean commit before merging — keeping history tidy. Options: On GitHub: When merging a PR, select “Squash and merge.” On local machine: git rebase -i HEAD~3 Change extra…

Version Control Read answer
Mid PDF
How do you rewrite commit history? (e.g., git rebase -i)

You can interactively rebase to edit, squash, or reorder commits using: git rebase -i HEAD~3 This opens an editor showing the last 3 commits: pick 1a2b3c Fix typo in footer pick 4d5e6f Add login API pick 7g8h9i Update UI…

Version Control Read answer

Git & GitHub Developer Essentials · Version Control

Use git diff with two commit hashes:

git diff <commit1> <commit2>

This shows line-by-line changes between the two commits.

Example:

If you want to compare how your project changed between version 1.0 and version 1.1:

git diff v1.0 v1.1

You’ll see added, removed, and modified lines across files.

Permalink & share

Git & GitHub Developer Essentials · Version Control

Locally:

git branch -d feature/old-branch

  • (-D for force delete if it’s not merged)

Remotely:

git push origin --delete feature/old-branch

  • Real-world example:

fter merging your feature branch into main, you can safely delete it to keep your repository

clean.

Permalink & share

Git & GitHub Developer Essentials · Version Control

To clone an existing repository, you use the git clone command followed by the URL of

the remote repository:

git clone

This command creates a copy of the repository on your local machine, including all its files

nd history.

Real-World Example:

If you're joining an open-source project on GitHub, you can clone the repository to your

machine by running the git clone command. This gives you access to the full codebase

to start contributing.

Permalink & share

Git & GitHub Developer Essentials · Version Control

A lightweight, movable pointer to a commit, allowing for parallel development.

What interviewers expect

  • A clear definition tied to Version Control in Git & GitHub projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in Git & GitHub architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

Git & GitHub Developer Essentials · Version Control

  • git add: This command stages changes, telling Git which modifications you want to

include in the next commit. It doesn't save the changes to the repository yet, just

prepares them.

  • git commit: This actually saves the changes to the repository, creating a new entry

in your project’s history.

Real-World Example:

You’ve edited a few files in your project. First, you use git add . to stage all changes,

nd then you use git commit -m "Fixed bug in homepage" to save those changes

to the repository.

Permalink & share

Git & GitHub Developer Essentials · Version Control

&lt;branch-name&gt; - moves your HEAD pointer to another branch.

What interviewers expect

  • A clear definition tied to Version Control in Git & GitHub projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in Git & GitHub architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

Git & GitHub Developer Essentials · Version Control

Answer: To slim down a bloated repository: Remove large unnecessary files: git filter-repo --path path/to/largefile --invert-paths

What interviewers expect

  • A clear definition tied to Version Control in Git & GitHub projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in Git & GitHub architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

Git & GitHub Developer Essentials · Version Control

In CI/CD, I automate version tagging to keep releases consistent and traceable.

Example pipeline step (GitHub Actions):

  • name: Tag release

run: |

VERSION=$(node -p "require('./package.json').version")

git tag -a "v$VERSION" -m "Release version $VERSION"

git push origin "v$VERSION"

Versioning style:

I use Semantic Versioning (SemVer) → MAJOR.MINOR.PATCH

Example: v2.1.4

  • Major = breaking changes
  • Minor = new features
  • Patch = bug fixes

This helps CI/CD pipelines automatically trigger deployments for new versions.

Permalink & share

Git & GitHub Developer Essentials · Version Control

spect GitHub Flow Git Flow

Purpose Simple branching model for

continuous delivery

Structured model for release

management

Branche

Only main and short-lived feature

branches

Multiple: main, develop, feature,

release, hotfix

Workflow Create branch → Commit → Pull

Request → Merge → Deploy

Feature branches merge into develop,

then release/hotfix merges into main

Use Case SaaS projects, frequent deploys Complex products with scheduled

releases

Example:

  • GitHub Flow → Used by startups deploying updates daily.
  • Git Flow → Used by large software teams (e.g., enterprise apps) with versioned

releases.

Permalink & share

Git & GitHub Developer Essentials · Version Control

A detached HEAD happens when Git’s HEAD (your current position) points to a specific

commit instead of a branch. If you make new commits in this state, they won’t belong to any

branch — you could lose them if you switch branches.

How to fix it:

If you accidentally commit in a detached HEAD state:

git switch -c temp-branch

This creates a new branch from your current state so your commits aren’t lost.

Example:

You checked out an old commit to test something:

git checkout a1b2c3d

If you make changes, create a branch to save them before switching back.
Permalink & share

Git & GitHub Developer Essentials · Version Control

A detached HEAD occurs when Git’s HEAD (which points to your current branch) points to a

specific commit instead of a branch. This means you’re not working on any branch — any

new commits made in this state are “orphaned” unless you create a branch from them.

Example:

If you check out an old commit directly:

git checkout a1b2c3d

You’re in a detached HEAD state.

If you make changes here and don’t create a new branch, you could lose them later.

Fix:

Create a new branch to save your work:

git checkout -b hotfix/rollback-test

Permalink & share

Git & GitHub Developer Essentials · Version Control

Answer: git checkout &lt;branch-name&gt; or git switch &lt;branch-name&gt; - moves your HEAD pointer to another branch.

What interviewers expect

  • A clear definition tied to Version Control in Git & GitHub projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in Git & GitHub architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

Git & GitHub Developer Essentials · Version Control

Answer: Migrating involves preserving history, branches, and tags. Steps (SVN example): Install Git SVN: git svn clone -trunk=trunk -branches=branches --tags=tags

What interviewers expect

  • A clear definition tied to Version Control in Git & GitHub projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in Git & GitHub architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

Git & GitHub Developer Essentials · Version Control

A protected branch (like main) restricts direct commits or merges unless specific rules are

met.

You can configure:

  • Require pull request reviews
  • Require status checks (tests) to pass
  • Restrict who can push
  • Prevent force pushes or deletions

Example:

You protect the main branch to ensure developers can only merge code through PRs that

have passed CI checks and received approval — preventing accidental overwrites.

Permalink & share

Git & GitHub Developer Essentials · Version Control

Answer: When two branches modify the same part of a file, Git can’t automatically decide which version to keep — this creates a conflict. Git will:

What interviewers expect

  • A clear definition tied to Version Control in Git & GitHub projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in Git & GitHub architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

Git & GitHub Developer Essentials · Version Control

git cherry-pick lets you apply a specific commit from one branch to another, without

merging the entire branch.

Example:

Imagine you fixed a typo in the develop branch but need that same fix in main

immediately. Instead of merging all of develop, you can just cherry-pick that commit:

git cherry-pick 1a2b3c4

Real-world use case:

Useful when you want to apply a hotfix or small bug fix without merging unrelated feature

work.

Permalink & share

Git & GitHub Developer Essentials · Version Control

Key practices I

  • Branch-per-feature model – Each developer works on isolated branches.
  • Pull Requests (PRs) for merging into main.
  • Code reviews + CI tests required before merging.
  • Protected branches prevent direct commits.
  • Communication – Sync via Slack, GitHub Discussions, or standups to avoid

conflicts.

Example:

t a fintech startup, 8 engineers worked on a single monorepo. We used short-lived

branches and daily merges, with GitHub Actions running automatic tests for every PR — this

reduced integration headaches.

Permalink & share

Git & GitHub Developer Essentials · Version Control

A protected branch (like main) restricts direct commits or merges unless specific rules are

met.

You can configure:

  • Require pull request reviews
  • Require status checks (tests) to pass
  • Restrict who can push
  • Prevent force pushes or deletions

Example:

You protect the main branch to ensure developers can only merge code through PRs that

have passed CI checks and received approval — preventing accidental overwrites.

Permalink & share

Git & GitHub Developer Essentials · Version Control

git cherry-pick lets you apply a specific commit from one branch to another, without

merging the entire branch.

Example:

Imagine you fixed a typo in the develop branch but need that same fix in main

immediately. Instead of merging all of develop, you can just cherry-pick that commit:

git cherry-pick 1a2b3c4

Real-world use case:

Useful when you want to apply a hotfix or small bug fix without merging unrelated feature

work.

Permalink & share

Git & GitHub Developer Essentials · Version Control

The .gitignore file tells Git which files or directories it should ignore when tracking

changes. This is useful for files that aren’t necessary in the repository, like log files, compiled

binaries, or local configuration files.

Real-World Example:

If you're working on a Node.js project, you likely don’t want to track the node_modules/

directory, since it can be recreated by running npm install. You can add

node_modules/ to your .gitignore file to ensure that Git doesn't track those files.

Permalink & share

Git & GitHub Developer Essentials · Version Control

git merge &lt;branch-name&gt; - combines changes from one branch into another.

What interviewers expect

  • A clear definition tied to Version Control in Git & GitHub projects
  • Trade-offs (performance, maintainability, security, cost)
  • When you would and would not use it in production

Real-world example

In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.

How to explain in the interview

  1. Define the concept in one or two sentences.
  2. Context — where it fits in Git & GitHub architecture.
  3. Example — a specific project, bug, or performance win.
  4. Trade-off — what you gain vs what you sacrifice.

Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.

Permalink & share

Git & GitHub Developer Essentials · Version Control

I treat Git as the single source of truth for builds and deployments.

My approach:

  • Each merge to main triggers CI/CD pipelines (GitHub Actions, Jenkins, or GitLab

CI).

  • Pipelines:
  • Run tests, lint, and security scans.
  • Tag builds automatically (e.g., v1.2.3).
  • Deploy to staging/production environments.

Best practices:

  • Use semantic versioning in tags (v1.0.0).
  • Store environment configs securely (never in Git).
  • Require PR reviews and passing checks before merge.
  • Deploy directly from tagged commits, not branches.

Example:

In a microservices project, each push to main triggered automated Docker builds.

Tagging a commit with v2.3.1 automatically deployed that version to production —

ensuring traceability and rollback capability.

✅ In summary:

The key to mastering Git isn’t just knowing commands — it’s knowing how to

recover, clean, and automate safely.

Bonus / DevOps Integration

Permalink & share

Git & GitHub Developer Essentials · Version Control

I believe in a clean, meaningful Git history that tells the story of the project clearly.

Here’s how I maintain it:

  • Use atomic commits (each commit = one logical change)

Write clear commit messages:

feat: add user profile API

fix: correct typo in dashboard title

chore: update dependencies

  • ● Use rebase before merge to remove noisy commits (fix typo, debug print)
  • Squash commits in PRs before merging
  • Avoid committing generated or temporary files (use .gitignore)
  • Tag meaningful releases (v1.0.0, v1.1.0-beta)

Example:

When reviewing history later, I can quickly find “where” and “why” a change was made — no

messy “temp commit” or “final fix” messages.

✅ In short:

healthy Git workflow = clear branches, clean commits, automated checks, and

collaborative reviews.

Real-World & Troubleshooting

Scenarios

Permalink & share

Git & GitHub Developer Essentials · Version Control

Squashing combines multiple small commits into one clean commit before merging —

keeping history tidy.

Options:

  • On GitHub:

When merging a PR, select “Squash and merge.”

On local machine:

git rebase -i HEAD~3

Change extra commits from pick → squash and then push with:

git push -f

  • Real-world example:
If your PR has 10 commits like “fix typo,” “oops forgot semicolon,” and “final fix,” you squash

them into one commit:

👉 Add responsive navbar component

✅ Pro Tip:

clean workflow often looks like this:

Permalink & share

Git & GitHub Developer Essentials · Version Control

You can interactively rebase to edit, squash, or reorder commits using:

git rebase -i HEAD~3

This opens an editor showing the last 3 commits:

pick 1a2b3c Fix typo in footer

pick 4d5e6f Add login API

pick 7g8h9i Update UI color scheme

You can change:

  • pick → edit to modify a commit
  • pick → squash to combine commits
  • pick → reword to change the message

Real-world example:

Before merging your feature branch, you may use git rebase -i to combine small “fix

typo” or “debug print” commits into a clean, single commit.

⚠ Don’t rewrite history on shared branches that others are using — it can

cause conflicts and confusion.

GitHub & Remote Repository

Management

Permalink & share
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details