You can also resolve them in Visual Studio or VS Code, which shows a nice diff view. Example: Two developers edit the UserController.cs file — one renames a method, another changes parameters — a merge conflict occurs that must be resolved manually. 6⃣ What’s the difference between Git and TFVC (Team Foundation Version Control)?
Feature Git TFVC
Type Distributed Centralized
History Full copy on each developer’s
machine
Stored on server
Branching Lightweight and fast Heavier and slower
Offline work Possible Needs connection
Common
use
Modern DevOps projects Legacy TFS
projects
Example:
In Git, you can commit locally even offline on a flight — with TFVC, you’d need server
access.
Git is now the default in Azure DevOps for flexibility and collaboration.
7⃣ How do you manage large binary files in Git (e.g., Git LFS)?
Follow:
Git isn’t great with big files (like images, videos, or large DLLs).
To handle them, we use Git LFS (Large File Storage).
How it works:
- Stores only pointers in Git.
- The actual binary files are stored elsewhere.
Setup example:
git lfs install
git lfs track "*.psd"
git add .gitattributes
git commit -m "Track PSD files with LFS"
Example:
A game development team using Unity stores large texture and model files with Git LFS to
keep their repo fast and clean.
8⃣ What are build validation policies?
A build validation policy ensures that every pull request triggers a build pipeline before
merging.
It prevents broken code from entering main.
Setup:
- In branch policies → “Add build policy.”
- Link it to your CI pipeline.
- Choose “Required” to block merges if the build fails.
Example:
When a developer creates a PR for feature/api-endpoint, Azure Pipelines
automatically runs unit tests and builds the app. If tests fail, the PR cannot be merged.
Follow:
This keeps your main branch always stable and deployable.
✅ Pro Tip:
Combine branch policies, code reviews, and build validations — this forms a strong
gatekeeping system that maintains code quality across teams.
Build Pipelines (Azure Pipelines – CI)
1⃣ What is a build pipeline in Azure DevOps?
A build pipeline in Azure DevOps automates how your code is compiled, tested, and
packaged whenever you make changes.
It’s part of Continuous Integration (CI) — where every code check-in triggers an automatic
build to ensure nothing is broken.
Example:
When a developer pushes code to main, Azure Pipelines automatically compiles your .NET
app, runs unit tests, and generates a build artifact (like a .zip or .dll) ready for
deployment.
2⃣ Explain the difference between YAML and Classic pipelines.
Feature YAML Pipeline Classic Pipeline
Defined in .yaml file in repo Azure DevOps GUI (drag & drop)
Version-controlled ✅ Yes ❌ No
Flexibility Very high Limited
Recommended
for
DevOps teams,
automation
Beginners or legacy setups
Follow:
Example:
In YAML, your pipeline might start like:
trigger:
- main
pool:
vmImage: 'windows-latest'
steps:
- script: dotnet build
You can review and version this with your code.
Classic pipelines are easier for newcomers but harder to maintain across branches.
3⃣ How do you trigger a build automatically after code check-in?
Add a trigger section in your YAML file, or use the GUI option “Enable continuous
integration.”
Example (YAML):
trigger:
branches:
include:
- main
- develop
Every push to main or develop automatically triggers a build.
You can also trigger manually or from a pull request.
4⃣ How do you set up a pipeline for a .NET or .NET Core application?
Follow: