Technical interview questions with detailed answers—organized by course, like Dot Net Tutorials interview sections. Original content for Toolliyo Academy.
Microsoft Azure Tutorial · Services
Short answer: Services is essential when working with Microsoft Azure Tutorial. Interviewers want to hear clear definitions, trade-offs, and a concise example from your experience.
Tip: Keep answers under 90 seconds unless the interviewer asks for depth. Practice aloud on Toolliyo before your mock interview.
Microsoft Azure Tutorial · Deployment
Short answer: Deployment is essential when working with Microsoft Azure Tutorial. Interviewers want to hear clear definitions, trade-offs, and a concise example from your experience.
Tip: Keep answers under 90 seconds unless the interviewer asks for depth. Practice aloud on Toolliyo before your mock interview.
Microsoft Azure Tutorial · Security
Short answer: Security is essential when working with Microsoft Azure Tutorial. Interviewers want to hear clear definitions, trade-offs, and a concise example from your experience.
Tip: Keep answers under 90 seconds unless the interviewer asks for depth. Practice aloud on Toolliyo before your mock interview.
Microsoft Azure Tutorial · Cost
Short answer: Cost is essential when working with Microsoft Azure Tutorial. Interviewers want to hear clear definitions, trade-offs, and a concise example from your experience.
Tip: Keep answers under 90 seconds unless the interviewer asks for depth. Practice aloud on Toolliyo before your mock interview.
Microsoft Azure Tutorial · Monitoring
Short answer: Monitoring is essential when working with Microsoft Azure Tutorial. Interviewers want to hear clear definitions, trade-offs, and a concise example from your experience.
Tip: Keep answers under 90 seconds unless the interviewer asks for depth. Practice aloud on Toolliyo before your mock interview.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
In your pipeline or locally, publish the .nupkg file using:
dotnet nuget push "MyLibrary.1.0.0.nupkg" --source "MyFeed"
or use the Azure Pipelines task:
inputs:
command: 'push'
Follow:
packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg'
publishVstsFeed: 'MyProject/MyFeed'
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Add SonarQube tasks to your build pipeline:
inputs:
SonarQube: 'MySonarServiceConnection'
scannerMode: 'MSBuild'
projectKey: 'MyProject'
projectName: 'MyApp'
inputs:
pollingTimeoutSec: '300'
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
<<<<<<< HEAD
old code
=======
new code
>>>>>>> feature/login
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Quality gates are automated checks that your code must pass before it can be deployed.
Typical gates:
Ways to enforce them:
Example (YAML):
inputs:
pollingTimeoutSec: '300'
condition: succeeded()
Example scenario:
If SonarQube reports a “Failed Quality Gate” due to high code duplication, the deployment
to QA is blocked until issues are fixed.
5⃣ How do you perform automated smoke testing after deployment?
Smoke tests verify that your deployed app is running and key endpoints work — without
doing deep functional testing.
You can run these as post-deployment steps in your release pipeline.
Follow:
Example (PowerShell):
inputs:
targetType: 'inline'
script: |
$response = Invoke-WebRequest
if ($response.StatusCode -ne 200) {
throw "Smoke test failed!"
Example scenario:
After deploying your API to QA, the pipeline runs a smoke test that checks:
If it fails, the pipeline stops and alerts the team.
✅ Pro Tip:
Combine all testing and quality practices like this:
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Add your feed’s URL to NuGet.config:
<add key="MyFeed"
value="
ndex.json" />
Azure DevOps Microsoft Azure Tutorial · DevOps
Versioning is usually handled automatically in the build pipeline — so every build produces
a unique version number.
You can version packages using:
Example (YAML):
variables:
versionMajor: 1
versionMinor: 0
versionPatch: $(Build.BuildId)
Follow:
steps:
displayName: 'Create NuGet package'
Then publish it:
inputs:
command: 'push'
packagesToPush: '**/*.nupkg'
publishVstsFeed: 'MyProject/MyFeed'
Example scenario:
Each time your CI pipeline runs, it generates a package version like 1.0.45 or 1.0.46 —
ensuring consistent versioning and avoiding overwriting old packages.
4⃣ How do you manage dependencies between multiple .NET projects
using Azure Artifacts?
When you have multiple .NET projects that depend on each other, Azure Artifacts acts as
your internal package registry.
Typical approach:
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
You can use XML or JSON transformation tasks in your release pipeline to adjust settings
per environment.
Example (Classic):
Production.
Example (YAML):
inputs:
folderPath: '$(System.DefaultWorkingDirectory)/drop'
xmlTransformation: true
jsonTargetFiles: '**/appsettings*.json'
Example scenario:
In appsettings.Production.json, you might replace the connection string with your
production database credentials automatically during deployment.
6⃣ How do you handle deployment slots in Azure App Service?
Azure App Service supports deployment slots — like Staging and Production.
Best practice:
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Follow:
Add and commit:
git add .
git commit
git push
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
You enforce them with branch policies.
Azure DevOps lets you require:
Follow:
Example:
When a developer submits a pull request to merge feature/login, the PR won’t
complete until:
This ensures code quality and consistency.
5⃣ How do you resolve merge conflicts in Azure Repos?
Merge conflicts happen when two people change the same part of a file.
How to resolve:
Pull the latest changes:
git fetch origin
git merge origin/main
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Troubleshooting starts by identifying where and why the pipeline failed.
Steps:
Azure DevOps Microsoft Azure Tutorial · DevOps
You can automate infrastructure deployment directly from Azure Pipelines using ARM
templates, Bicep files, or Terraform scripts.
Each option defines your infrastructure as code — meaning servers, networks, and
resources are described in files and deployed consistently through pipelines.
✅ Example (using Bicep in YAML):
trigger:
pool:
vmImage: 'ubuntu-latest'
steps:
inputs:
azureSubscription: 'MyServiceConnection'
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |
az deployment group create \
✅ Example (using Terraform):
inputs:
terraformVersion: '1.7.0'
Follow:
inputs:
command: 'init'
workingDirectory: 'infra'
inputs:
command: 'apply'
workingDirectory: 'infra'
commandOptions: '-auto-approve'
environmentServiceName: 'MyServiceConnection'
Example scenario:
A DevOps pipeline runs when a pull request is merged into main, automatically provisioning
an Azure App Service, Storage Account, and SQL Database using Bicep.
2⃣ What is the difference between ARM templates and Bicep?
Feature ARM Templates Bicep
Language JSON Domain-specific (simpler syntax)
Readability Complex, verbose Clean and concise
Reusability Harder (manual
nesting)
Supports modules easily
Tooling Native in Azure Compiles into ARM JSON
Learning curve Steep Easier for beginners
In short:
Bicep is the modern, simplified language for ARM templates.
It makes infrastructure code shorter and easier to read — but still deploys through the same
Azure Resource Manager (ARM) engine.
Example comparison:
Follow:
ARM Template (JSON):
"resources": [
"type": "Microsoft.Storage/storageAccounts",
"name": "[parameters('storageName')]",
"location": "[resourceGroup().location]",
"sku": { "name": "Standard_LRS" },
"kind": "StorageV2"
Bicep (same thing):
resource storageAccount
'Microsoft.Storage/storageAccounts@2022-09-01' = {
name: storageName
location: resourceGroup().location
sku: { name: 'Standard_LRS' }
kind: 'StorageV2'
Example scenario:
A cloud engineer switches from ARM to Bicep and cuts a 300-line template down to just 80
lines — making it much easier to maintain in Git.
3⃣ How do you use Azure Service Connections for IaC deployments?
An Azure Service Connection securely stores credentials that pipelines use to connect to
your Azure subscription.
It’s like giving your pipeline “keys” to deploy resources in Azure — without hardcoding
credentials.
How to create one:
Follow:
Azure DevOps Microsoft Azure Tutorial · DevOps
In Azure DevOps, every pipeline run automatically generates detailed logs for each step
and task.
To view logs:
Azure DevOps Microsoft Azure Tutorial · DevOps
You can automate creating and destroying environments (like dev, test, or staging) using
pipeline logic and IaC tools.
✅ Example (Bicep – Create Environment):
inputs:
azureSubscription: 'MyServiceConnection'
scriptType: 'bash'
inlineScript: |
az group create --name MyRG --location eastus
az deployment group create --resource-group MyRG
✅ Example (Terraform – Teardown Environment):
Follow:
inputs:
command: 'destroy'
workingDirectory: 'infra'
commandOptions: '-auto-approve'
environmentServiceName: 'MyServiceConnection'
Example scenario:
Each pull request automatically spins up a temporary Azure environment (App Service +
Database) for testing.
Once the PR is closed or merged, the pipeline runs a teardown job to delete the resources
— saving cost and keeping Azure clean.
✅ Pro Tip:
For professional IaC pipelines in Azure DevOps:
Security & Compliance Advanced /
Real-world Scenarios
1⃣ How do you secure secrets, keys, and connection strings in Azure
Pipelines?
You should never hardcode secrets (like passwords, connection strings, or API keys) in
pipeline YAML files or scripts.
Instead, you store them securely using Azure DevOps Variable Groups or Azure Key
Vault integration.
Ways to secure secrets:
Follow:
→ In Azure DevOps → Pipelines → Variables → Mark variable as secret.
Example (YAML):
variables:
steps:
env:
ConnectionString: $(DB_Connection)
Example scenario:
You’re deploying an app that needs a SQL connection string.
You store that in Azure Key Vault and reference it securely in the pipeline — so it never
appears in logs or code.
2⃣ What is Azure Key Vault and how is it used with pipelines?
Azure Key Vault is a secure store for secrets, keys, and certificates.
Azure DevOps can connect to it to retrieve secrets dynamically during builds or
deployments.
Steps to use it:
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
You can deploy Infrastructure as Code (IaC) directly from your pipeline using ARM or
Bicep files.
Follow:
Example (YAML):
inputs:
deploymentScope: 'Resource Group'
azureResourceManagerConnection: 'MyServiceConnection'
subscriptionId: 'xxxx-xxxx-xxxx'
action: 'Create Or Update Resource Group'
resourceGroupName: 'my-rg'
location: 'East US'
templateLocation: 'Linked artifact'
csmFile: 'infrastructure/main.bicep'
overrideParameters: '-appName myapp -sku S1'
Example scenario:
Before deploying your .NET app, your pipeline provisions a new App Service, SQL
Database, and Storage Account automatically.
9⃣ How can you use Azure CLI or PowerShell tasks in your release
pipeline?
You can run custom scripts using AzureCLI@2 or PowerShell@2 tasks to automate
advanced tasks.
Example (Azure CLI):
inputs:
azureSubscription: 'MyServiceConnection'
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |
az webapp restart --name my-webapp --resource-group my-rg
Example (PowerShell):
Follow:
inputs:
targetType: 'inline'
script: |
Write-Host "Performing custom cleanup..."
Remove-Item -Path $(Build.ArtifactStagingDirectory)\temp
Example scenario:
After deploying your app, you might use a PowerShell script to clear old log files or an Azure
CLI command to restart the web app.
✅ Pro Tip:
A solid Release Pipeline usually includes:
Testing & Quality
1⃣ How do you integrate unit tests, integration tests, or UI tests in Azure
Pipelines?
You can run all types of automated tests (unit, integration, UI) inside your build or release
pipelines using tasks like DotNetCoreCLI@2, Visual Studio Test@2, or custom
scripts.
Example (Unit Tests):
inputs:
Follow:
command: 'test'
projects: '**/*UnitTests.csproj'
publishTestResults: true
Example (Integration Tests):
./Tests/IntegrationTests/IntegrationTests.csproj
Example (UI Tests):
your pipeline:
Real-life scenario:
After building a .NET API, the pipeline runs unit tests.
Then, in a release pipeline, once the app is deployed to the “QA” environment, Selenium
tests verify that the login screen works.
2⃣ What is code coverage, and how do you view it in Azure DevOps?
Code coverage measures how much of your code is executed during tests — it helps you
see which parts of your application aren’t tested.
Example (for .NET):
This generates a coverage report (coverage.cobertura.xml), which Azure DevOps can
display in the Test Results → Code Coverage tab.
Follow:
Example scenario:
Your pipeline might show that 82% of your code is covered by tests.
You can then aim to increase that by adding more unit tests for uncovered modules.
3⃣ How do you use SonarQube or other tools for static code analysis?
SonarQube checks your code for bugs, code smells, and security vulnerabilities.
Integration steps:
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
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:
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:
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:
pool:
vmImage: 'windows-latest'
steps:
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:
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:
Azure DevOps Microsoft Azure Tutorial · DevOps
Common tasks:
Follow:
Example:
A .NET Core pipeline may use:
inputs:
command: 'build'
6⃣ How do you restore NuGet packages in a build pipeline?
Use either:
inputs:
command: 'restore'
This pulls dependencies from NuGet.org or an internal feed.
Example:
If your project uses private packages, you can add a NuGet service connection or Azure
Artifacts feed to authenticate.
7⃣ How do you run unit tests and publish test results in a pipeline?
You use the DotNetCoreCLI@2 task with test command and publish results.
Example (YAML):
Follow:
inputs:
command: 'test'
projects: '**/*Tests.csproj'
publishTestResults: true
Azure Pipelines will then display test results (passed, failed, duration) in the build summary.
8⃣ What is the purpose of the dotnet build, dotnet test, and dotnet
publish commands in pipelines?
Example:
In a pipeline:
$(Build.ArtifactStagingDirectory)
The final publish step outputs deployable files like .dll or .zip.
9⃣ How do you create and publish build artifacts?
Artifacts are the build outputs you want to use later (for deployment or testing).
Example (YAML):
Follow:
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
This publishes your compiled files to Azure DevOps, where the Release pipeline can pick
them up.
🔟 What are pipeline variables and variable groups?
Pipeline variables: Key-value pairs you define in the pipeline or YAML.
variables:
buildConfig: 'Release'
environment names).
Example:
If multiple pipelines need the same database connection string, store it in a variable group
called ProdSettings.
11⃣ What are pipeline templates and how are they used?
Templates let you reuse pipeline steps across projects — great for standardization.
Example:
You can create a reusable file:
📄 .azure-pipelines/build-template.yml
steps:
Follow:
Then in your main pipeline:
extends:
template: .azure-pipelines/build-template.yml
This keeps your YAML DRY (Don’t Repeat Yourself) and consistent.
12⃣ How do you handle secrets in pipelines (Azure Key Vault integration)?
You never store passwords directly in YAML — instead, use Azure Key Vault or variable
groups linked to Key Vault.
Example:
YAML:
variables:
Secrets are pulled securely during build and never exposed in logs.
13⃣ How do you implement pipeline caching for NuGet packages or
intermediate files?
Caching helps speed up builds by reusing downloaded packages or build outputs.
Example (YAML):
inputs:
Follow:
key: 'nuget | "$(Agent.OS)" | packages.lock.json'
path: ~/.nuget/packages
restoreKeys: |
nuget | "$(Agent.OS)"
This caches your NuGet packages, so they don’t have to be re-downloaded every build —
often cutting build time in half.
✅ Pro Tip:
A well-designed .NET CI pipeline in Azure DevOps usually includes:
Release Pipelines (CD)
1⃣ What is a release pipeline and how does it differ from a build pipeline?
A build pipeline (CI) compiles, tests, and packages your code — it produces artifacts.
A release pipeline (CD) takes those artifacts and deploys them to different environments
like Dev, QA, or Production.
Example:
Follow:
So, the build pipeline = create, and release pipeline = deliver.
2⃣ What are deployment stages and environments in Azure DevOps?
A stage represents a step in your release process — like Dev, QA, UAT, or Production.
An environment is the actual target (Azure Web App, VM, Kubernetes cluster, etc.) where
your app is deployed.
Example:
A release pipeline might have:
Each stage can target a different Azure App Service or resource group.
3⃣ How do you configure approvals and gates for releases?
Approvals and gates ensure deployments happen safely — with the right people’s
permission or automated checks.
Approvals:
Gates:
Azure Monitor, or checking work item states.
Follow:
Example:
Before deploying to Production:
4⃣ How do you deploy a .NET web app to Azure App Service using Azure
Pipelines?
You can deploy using the Azure Web App Deploy task.
Example (YAML):
inputs:
azureSubscription: 'MyServiceConnection'
appName: 'my-dotnet-webapp'
package: '$(Pipeline.Workspace)/drop/**/*.zip'
Steps:
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
Each build or release agent runs under a specific identity that needs permissions to
deploy or access resources.
Best practices:
on a resource group).
Example scenario:
Your build agent deploys a web app to Azure.
Instead of storing a username/password, you use a Managed Identity with “Contributor”
access to the resource group — this way, no secrets are needed and access is fully
auditable.
Follow:
4⃣ How do you ensure compliance and audit trails in Azure DevOps?
Azure DevOps provides several tools for traceability, governance, and auditing.
Ways to ensure compliance:
item.
Example scenario:
In a financial organization, every production deployment must be approved by a release
manager.
Azure DevOps enforces that no code can be merged to main without linked work items and
passing builds — creating a full audit trail for compliance reviews.
🚀 Advanced / Real-World Scenarios
5⃣ How would you handle blue-green or canary deployments in Azure
DevOps?
Both strategies reduce downtime and risk during production deployments.
Maintain two identical environments (Blue = live, Green = standby).
Deploy to Green → test → switch traffic → make Green live.
Gradually release new versions to a small user subset first, then increase rollout.
Follow:
Implementation (Azure DevOps + Azure App Service):
Example (YAML):
inputs:
azureSubscription: 'MyServiceConnection'
Action: 'Swap Slots'
WebAppName: 'myapp-prod'
SourceSlot: 'staging'
TargetSlot: 'production'
Scenario:
You deploy a new API to the staging slot, run tests, and only swap to production after
validation — ensuring zero downtime.
6⃣ How would you implement a multi-stage YAML pipeline for .NET apps?
Multi-stage YAML pipelines allow you to define the entire CI/CD process (build, test, deploy)
in a single file.
Example:
stages:
jobs:
steps:
Follow:
dependsOn: Build
jobs:
steps:
dependsOn: Test
jobs:
environment: dev
strategy:
runOnce:
deploy:
steps:
inputs:
azureSubscription: 'MyServiceConnection'
appName: 'myapp-dev'
Scenario:
After every push to main, the pipeline automatically builds, tests, and deploys to a dev slot
— ready for QA approval.
7⃣ How do you integrate Azure DevOps with GitHub, Jira, or Slack?
Azure DevOps offers built-in and third-party integrations for collaboration and tracking.
Example (Slack Integration):
Follow:
Scenario:
When a pipeline fails, your team’s Slack channel gets an instant message:
❌ Build failed for main (Build ID #1203) — Click to view logs.
8⃣ How do you manage multiple environments (dev, test, prod) efficiently
in CI/CD?
Use multi-stage pipelines with separate environments, each having its own approvals,
variables, and configuration.
Best practices:
Example (YAML snippet):
variables:
stages:
jobs:
environment: dev
strategy:
runOnce:
deploy:
Follow:
steps:
Scenario:
When code is merged, it auto-deploys to Dev.
After QA approval, it moves to Test → Prod with approvals and gates in between.
9⃣ How do you optimize build and release times for large .NET solutions?
Optimizing pipelines saves time and cost — especially for large solutions.
Tips:
Use pipeline caching for NuGet packages:
inputs:
key: 'nuget | "$(Agent.OS)" | packages.lock.json'
path: '~/.nuget/packages'
Scenario:
By caching NuGet packages and running tests in parallel, a 20-minute build drops to under
8 minutes.
🔟 How do you migrate existing CI/CD pipelines from Jenkins or
TeamCity to Azure DevOps?
Migration usually involves:
Follow:
Azure DevOps Microsoft Azure Tutorial · DevOps
Azure DevOps includes built-in Analytics and Reporting tools to help track performance,
quality, and productivity.
Follow:
Common reports:
Example scenario:
You might create a dashboard showing:
This helps identify slow or unstable pipelines early.
Advanced:
You can connect Azure DevOps Analytics to Power BI for custom reports (like “number of
deployments per team per sprint”).
4⃣ How can you integrate Application Insights for monitoring
post-deployment?
Application Insights (App Insights) is an Azure service that helps monitor your
application’s health and usage after deployment — it collects metrics, logs, traces, and user
data.
Integration steps:
Add the Application Insights SDK to your .NET or web project:
dotnet add package Microsoft.ApplicationInsights.AspNetCore
Azure DevOps Microsoft Azure Tutorial · DevOps
Review the concept and prepare a concise verbal explanation with a real project example.
Azure DevOps Microsoft Azure Tutorial · DevOps
A project in Azure DevOps is like a container for everything related to a specific application
or product.
It can include:
Example:
You might have a project named “ShoppingCartApp” that includes its code repo, CI/CD
pipeline, and all user stories related to that app.
6⃣ How do you organize repositories and teams in Azure DevOps for large
applications?
For large systems, you can:
Follow:
Example:
An e-commerce platform might have separate repos for PaymentService,
CatalogService, and OrderService. Each has its own team and pipelines but shares
the same Azure DevOps project for visibility.
7⃣ What are service connections in Azure DevOps?
A service connection is a secure link between Azure DevOps and external systems (like
Azure, AWS, GitHub, or Docker Hub).
Example:
If your pipeline needs to deploy code to Azure App Service, you create an Azure Resource
Manager service connection. It stores credentials securely so the pipeline can deploy
automatically.
8⃣ What is the difference between an organization, project, and repository
in Azure DevOps?
Example:
Organization: ContosoTech
→ Project: MobileApp
→ Repository: ContosoApp-Frontend
9⃣ How do you manage permissions and access control in Azure
DevOps?
Follow:
You manage access using security groups and permissions at different levels
(Organization, Project, Repo, or Pipeline).
Example:
Developers may have Contribute rights on code, testers may have Edit Test Cases, and
managers may have View Only access to dashboards.
You can even integrate with Azure AD to sync user roles automatically.
🔟 How does Azure DevOps integrate with Active Directory or Azure
AD?
Azure DevOps integrates directly with Azure Active Directory for user authentication and
access control.
Example:
When a new developer joins your company, you add them to the “Developers” group in
Azure AD — they automatically get access to the right projects in Azure DevOps.
Source Control (Azure Repos / Git)
1⃣ How do you create and manage branches in Azure Repos?
In Azure Repos, you create branches to work on features or fixes without disturbing the
main codebase.
You can create branches in multiple ways:
Follow:
Using Git commands:
git checkout -b feature/add-login
git push origin feature/add-login
Managing branches means keeping them clean — deleting old ones after merges, naming
them properly (like feature/, bugfix/, release/), and ensuring they stay up to date
with main or develop.
Example:
When adding a “Dark Mode” feature, you create a branch called feature/dark-mode,
work there, and merge it back after review.
2⃣ What branching strategies have you used (e.g., Git Flow, trunk-based)?
There’s no one-size-fits-all strategy — it depends on team size and release frequency.
Common ones:
Uses main, develop, and feature branches. Ideal for structured release cycles.
Example: A large enterprise team doing monthly releases.
Everyone commits to main frequently with short-lived branches. Faster delivery.
Example: A DevOps team deploying multiple times a day.
Simple approach — create a new branch per feature, merge when ready.
Example:
In my last project, we used Git Flow — developers worked off develop, created
feature/* branches, and merged through pull requests.
3⃣ How do you set up branch policies in Azure Repos?
Follow:
Branch policies ensure quality and control before merging code.
Steps:
Azure DevOps Microsoft Azure Tutorial · DevOps
Zero-downtime means your API stays live while deploying new versions.
Ways to achieve it:
Example:
inputs:
Action: 'Swap Slots'
WebAppName: 'myapi-prod'
SourceSlot: 'staging'
TargetSlot: 'production'
Follow:
Scenario:
You deploy the new API version to the staging slot.
Once tests confirm it’s healthy, you swap slots — users never see downtime, and rollback is
instant if something goes wrong.
✅ Pro Tip (for interviews):
If asked about real-world Azure DevOps experience, tie your answers to process +
reliability:
“We used multi-stage YAML pipelines with Azure Key Vault integration for secret
management, Bicep for infrastructure, and App Insights for monitoring —
ensuring secure, automated, and zero-downtime releases.”
Follow:
Azure DevOps Microsoft Azure Tutorial · DevOps
Azure Artifacts is a service in Azure DevOps that lets you store, share, and manage
packages like NuGet, npm, Maven, or Python packages — all in one secure place.
It’s basically your private package feed, just like NuGet.org, but private to your
organization.
Example:
Imagine your company has multiple .NET teams.
Each team builds shared libraries (like logging, authentication, or email helpers).
Instead of everyone copying DLLs, they publish them to Azure Artifacts — and others
can easily consume them as NuGet packages.
2⃣ How do you host and consume NuGet packages in Azure DevOps?
You can host and consume packages in Azure Artifacts with just a few steps.
🏗 To host (publish) a package:
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Trigger)
Scenario: When a customer places an order, the backend pushes a message to Azure
Storage Queue.
Azure Function processes it asynchronously.
Trigger: QueueTrigger
Use Case: Payment processing, inventory updates, email notifications.
Code Example (C#)
public class OrderProcessor
[FunctionName("ProcessOrder")]
public void Run(
[QueueTrigger("orders", Connection = "StorageConn")] string
orderJson,
ILogger log)
var order = JsonSerializer.Deserialize<Order>(orderJson);
log.LogInformation($"Processing order #{order.Id}");
// Call payment gateway
// Update inventory
// Send confirmation email
public record Order(int Id, string Product, int Qty);
✅ 2. Schedule Daily Database Backup
(Timer Trigger)
Scenario: Run SQL backup, archive logs, or clean old data every night.
Trigger: TimerTrigger
Use Case: Automation jobs, scheduled cleanups, maintenance tasks.
Code Example
public static class DailyBackup
[FunctionName("DailyDatabaseBackup")]
public static async Task Run(
[TimerTrigger("0 0 2 * * *")] TimerInfo timer,
ILogger log)
log.LogInformation("Starting daily database backup...");
// Call SQL API / storage account to create backup
await BackupService.RunBackupAsync();
log.LogInformation("Backup completed.");
⏰ "0 0 2 * * *" → runs daily at 2 AM
✅ 3. Generate Thumbnails for Uploaded
Images (Blob Trigger)
Scenario: When a user uploads an image, automatically create a thumbnail and store it.
Trigger: BlobTrigger
Use Case: Photo apps, e-commerce product images, document
workflows.
Code Example
[FunctionName("GenerateThumbnail")]
public static async Task Run(
[BlobTrigger("uploads/{name}", Connection = "StorageConn")]
Stream input,
string name,
[Blob("thumbnails/{name}", FileAccess.Write, Connection =
"StorageConn")] Stream output,
ILogger log)
log.LogInformation($"Creating thumbnail for {name}");
using var image = Image.Load(input);
image.Mutate(x => x.Resize(200, 200)); // resize
image.SaveAsJpeg(output);
✅ 4. Send Email Notifications from
Event Grid (Event Grid Trigger)
Scenario: A new user signs up → Event Grid sends event → Function triggers email.
Trigger: EventGridTrigger
Use Case: User signup, audit logs, subscription events.
Code Example
[FunctionName("UserSignupEmail")]
public static async Task Run(
[EventGridTrigger] EventGridEvent eventGridEvent,
ILogger log)
var data = eventGridEvent.Data.ToObjectFromJson<UserEvent>();
log.LogInformation($"New user signup: {data.Email}");
await EmailService.SendWelcomeEmail(data.Email);
✅ 5. Serverless REST API (HTTP
Trigger)
Scenario: Build lightweight APIs without using App Services.
Trigger: HttpTrigger
Use Case: Microservices, webhooks, backend-for-frontend APIs.
Code Example
[FunctionName("GetUserById")]
public static IActionResult Run(
[HttpTrigger(AuthorizationLevel.Function, "get", Route =
"users/{id}")] HttpRequest req,
string id,
ILogger log)
var user = UserDb.GetUser(id);
if (user == null)
return new NotFoundResult();
return new OkObjectResult(user);
✅ 6. Process Messages from Service
Bus (Service Bus Trigger)
Scenario: Enterprise integration between microservices.
Trigger: ServiceBusTrigger
Use Case: Order processing, billing, messaging between systems.
Code Example
[FunctionName("ProcessPayment")]
public static async Task Run(
[ServiceBusTrigger("payments", Connection = "ServiceBusConn")]
string message,
ILogger log)
var payment = JsonSerializer.Deserialize<Payment>(message);
log.LogInformation($"Processing payment {payment.Id}");
await PaymentService.CompleteAsync(payment);
✅ 7. Auto-Delete Expired Files (Blob +
Timer + Logic)
Scenario: Remove files older than 30 days to reduce storage costs.
Trigger: TimerTrigger
Use Case: Data lifecycle automation.
Code Example
[FunctionName("DeleteOldFiles")]
public static async Task Run(
[TimerTrigger("0 */30 * * * *")] TimerInfo timer,
ILogger log)
var client = new BlobContainerClient(
Environment.GetEnvironmentVariable("StorageConn"), "logs");
await foreach (var blob in client.GetBlobsAsync())
if (blob.Properties.CreatedOn <
DateTimeOffset.UtcNow.AddDays(-30))
await client.DeleteBlobAsync(blob.Name);
log.LogInformation($"Deleted old file: {blob.Name}");
🔹 Section 1: Azure for .NET Developers – General
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Example: Deploying an ASP.NET Core app to App Service via Visual Studio:
public class Startup
public void ConfigureServices(IServiceCollection services)
services.AddControllers();
services.AddDbContext<MyDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConne
ction")));
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Model Description Example for .NET
IaaS
(Infrastructure)
Provides virtual machines,
networking, storage
Azure VM running Windows + IIS
hosting ASP.NET app
PaaS (Platform) Managed hosting environment
for apps
Azure App Service, Azure Functions
SaaS (Software) Fully managed software
accessible via browser
Office 365, Dynamics 365
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
using Azure.Storage.Blobs;
var blobServiceClient = new
BlobServiceClient("<connection_string>");
var containerClient =
blobServiceClient.GetBlobContainerClient("mycontainer");
await containerClient.UploadBlobAsync("sample.txt", new
BinaryData("Hello Azure!"));
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Interactive Login.
Example using DefaultAzureCredential:
using Azure.Identity;
using Azure.Storage.Blobs;
var credential = new DefaultAzureCredential();
var blobServiceClient = new BlobServiceClient(new
Uri("
credential);
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
environment variables.
Example:
// appsettings.Production.json
"ConnectionStrings": {
"DefaultConnection":
"Server=tcp:myserver.database.windows.net;Database=prodDB;..."
var connectionString =
Configuration.GetConnectionString("DefaultConnection");
🔹 Section 2: Azure App Services – .NET Developer
Q&A
Microsoft Azure Microsoft Azure Tutorial · Azure
APIs, and mobile backends.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
select existing → Publish.
az webapp up --name myapp --resource-group myResourceGroup --runtime
"DOTNET:6.0"
Microsoft Azure Microsoft Azure Tutorial · Azure
authentication features.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
same App Service.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Redeploy.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Update DNS.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
public class Program
public static void Main(string[] args)
var host = CreateHostBuilder(args).Build();
// Custom startup logic here
host.Run();
Microsoft Azure Microsoft Azure Tutorial · Azure
🔹 Section 3: Deploying ASP.NET Core Web Apps –
Azure Q&A
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Method Description Use Case
Zip Deploy Upload a zip file; replaces app
content
Quick automated
deployments
FTP/FTPS Manual file upload via FTP client Small apps or manual
updates
WebDeploy
(MSDeploy)
Incremental deployment with config
& db sync
Complex apps with
dependencies
Microsoft Azure Microsoft Azure Tutorial · Azure
name: Build and Deploy ASP.NET Core
on:
push:
branches: [ main ]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
uses: actions/setup-dotnet@v3
with:
dotnet-version: '6.0.x'
run: dotnet publish -c Release -o publish
uses: azure/webapps-deploy@v2
with:
app-name: 'my-azure-app'
publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
package: ./publish
Microsoft Azure Microsoft Azure Tutorial · Azure
builder.Configuration.AddAzureKeyVault(
new Uri("
new
DefaultAzureCredential());
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
dotnet ef database update
using (var scope = app.Services.CreateScope())
var db =
scope.ServiceProvider.GetRequiredService<MyDbContext>();
db.Database.Migrate();
Microsoft Azure Microsoft Azure Tutorial · Azure
key-value pairs.
environment-specific configs.
Microsoft Azure Microsoft Azure Tutorial · Azure
var builder = WebApplication.CreateBuilder(args);
builder.Configuration
.AddJsonFile("appsettings.json")
.AddJsonFile($"appsettings.{builder.Environment.EnvironmentName}.jso
n", optional: true);
🔹 Section 4: Slot Deployment – Azure App Service
Q&A
Microsoft Azure Microsoft Azure Tutorial · Azure
testing, QA, or production.
and settings.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Example using Azure CLI:
az webapp deployment slot swap \
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
correct.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
tier:
Microsoft Azure Microsoft Azure Tutorial · Azure
🔹 Section 5: Azure Functions / Serverless Computing
Microsoft Azure Microsoft Azure Tutorial · Azure
event-driven code without managing infrastructure.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
6/7
[FunctionName("HelloFunction")]
public static IActionResult Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post")]
HttpRequest req,
ILogger log)
log.LogInformation("C# HTTP trigger function processed a
request.");
string name = req.Query["name"];
return new OkObjectResult($"Hello, {name ?? "World"}!");
Microsoft Azure Microsoft Azure Tutorial · Azure
to runtime APIs.
isolation and .NET version flexibility.
Microsoft Azure Microsoft Azure Tutorial · Azure
message).
Cosmos DB).
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
[FunctionName("QueueProcessor")]
public static void Run(
[QueueTrigger("myqueue", Connection = "AzureWebJobsStorage")]
string message,
ILogger log)
log.LogInformation($"Queue message received: {message}");
Microsoft Azure Microsoft Azure Tutorial · Azure
manually.
Example:
[FunctionName("OrchestratorFunction")]
public static async Task RunOrchestrator(
[OrchestrationTrigger] IDurableOrchestrationContext context)
await context.CallActivityAsync("HelloActivity", "Tokyo");
await context.CallActivityAsync("HelloActivity", "Seattle");
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
[FunctionName("QueueRetryFunction")]
[FixedDelayRetry(3, "00:00:10")]
public static void Run([QueueTrigger("retryqueue")] string message,
ILogger log)
log.LogInformation($"Processing message: {message}");
Microsoft Azure Microsoft Azure Tutorial · Azure
Publish
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
func start
Microsoft Azure Microsoft Azure Tutorial · Azure
🔹 Section 6: Triggers and Bindings in Azure Functions
Microsoft Azure Microsoft Azure Tutorial · Azure
Example (HTTP trigger):
[FunctionName("HttpTriggerFunction")]
public static IActionResult Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post")]
HttpRequest req,
ILogger log)
log.LogInformation("HTTP trigger executed.");
return new OkObjectResult("Hello from Azure Function!");
Microsoft Azure Microsoft Azure Tutorial · Azure
message, blob content).
DB, Storage Queue).
Example:
[FunctionName("QueueToBlobFunction")]
public static void Run(
[QueueTrigger("myqueue")] string queueMessage,
[Blob("output-container/{rand-guid}.txt", FileAccess.Write)] out
string blobContent,
ILogger log)
log.LogInformation($"Processing queue message: {queueMessage}");
blobContent = queueMessage; // Write to blob
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Example (input blob):
[FunctionName("BlobProcessor")]
public static void Run(
[BlobTrigger("input-container/{name}")] Stream blobStream,
string name,
ILogger log)
log.LogInformation($"Processing blob: {name}");
Example (output blob):
[Blob("output-container/output.txt", FileAccess.Write)] out string
outputBlob
Microsoft Azure Microsoft Azure Tutorial · Azure
Example (input Cosmos DB trigger):
[FunctionName("CosmosDBTriggerFunction")]
public static void Run(
[CosmosDBTrigger(
databaseName: "MyDatabase",
collectionName: "MyCollection",
ConnectionStringSetting = "CosmosDBConnection",
LeaseCollectionName = "leases")] IReadOnlyList<Document>
input,
ILogger log)
foreach (var doc in input)
log.LogInformation($"Document received: {doc.Id}");
Example (output Cosmos DB binding):
[CosmosDB(
databaseName: "MyDatabase",
collectionName: "MyCollection",
ConnectionStringSetting = "CosmosDBConnection")] out dynamic
outputDoc
outputDoc = new { id = Guid.NewGuid(), Name = "New Item" };
Microsoft Azure Microsoft Azure Tutorial · Azure
multiple.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
"type": "queueTrigger",
"direction": "in",
"name": "myQueueItem",
"queueName": "myqueue",
"connection": "AzureWebJobsStorage"
Microsoft Azure Microsoft Azure Tutorial · Azure
[QueueTrigger("myqueue", Connection = "AzureWebJobsStorage")]
Microsoft Azure Microsoft Azure Tutorial · Azure
Example (dynamic blob output):
[Blob("container/{name}-{datetime}.txt", FileAccess.Write)] out
string outputBlob
🔹 Section 7: Azure SQL / Cosmos DB – Q&A
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Feature Azure SQL Cosmos DB
Type Relational NoSQL, multi-model
Schema Fixed Schema-less
Scaling Vertical/Horizontal Horizontal, automatic
Consistenc
ACID Multiple consistency levels (Strong, Eventual, etc.)
Use Case OLTP, structured
data
Global apps, unstructured data, IoT
Microsoft Azure Microsoft Azure Tutorial · Azure
"ConnectionStrings": {
"DefaultConnection":
"Server=tcp:myserver.database.windows.net,1433;Initial
Catalog=MyDb;Persist Security Info=False;User
ID=myuser;Password=mypassword;MultipleActiveResultSets=False;Encrypt
=True;TrustServerCertificate=False;Connection Timeout=30;"
builder.Services.AddDbContext<MyDbContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("Defa
ultConnection")));
Microsoft Azure Microsoft Azure Tutorial · Azure
credentials.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
services.AddDbContext<MyDbContext>(options =>
options.UseSqlServer(connectionString));
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
var cosmosClient = new CosmosClient(endpointUri, primaryKey);
var container = cosmosClient.GetContainer("DatabaseId",
"ContainerId");
Microsoft Azure Microsoft Azure Tutorial · Azure
var query = new QueryDefinition("SELECT * FROM c");
var iterator = container.GetItemQueryIterator<MyItem>(query,
requestOptions: new QueryRequestOptions { MaxItemCount = 10 });
while (iterator.HasMoreResults)
foreach (var item in await iterator.ReadNextAsync())
Console.WriteLine(item.Id);
Microsoft Azure Microsoft Azure Tutorial · Azure
Eventual.
var clientOptions = new CosmosClientOptions
ConsistencyLevel = ConsistencyLevel.Session
var cosmosClient = new CosmosClient(endpointUri, primaryKey,
clientOptions);
Microsoft Azure Microsoft Azure Tutorial · Azure
"indexingMode": "consistent",
"includedPaths": [
{"path": "/name/?"},
{"path": "/age/?"}
Microsoft Azure Microsoft Azure Tutorial · Azure
🔹 Section 8: Azure Key Vault – Q&A
Microsoft Azure Microsoft Azure Tutorial · Azure
keys, and certificates.
and encryption keys.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
secrets into IConfiguration.
var builder = new ConfigurationBuilder()
.AddAzureKeyVault(new Uri("
new DefaultAzureCredential());
var configuration = builder.Build();
var secretValue = configuration["MySecret"];
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Feature Secret Key Certificate
Data type Any string Cryptographic key X.509 certificate
Use case Passwords, connection
strings
Encryption, signing SSL/TLS or client auth
Managed
Secret store Key store Certificate store
Microsoft Azure Microsoft Azure Tutorial · Azure
var client = new SecretClient(new
Uri("
new
DefaultAzureCredential());
KeyVaultSecret secret = client.GetSecret("MySecret");
string value = secret.Value;
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Example using SDK:
var client = new SecretClient(new
Uri("
new
DefaultAzureCredential());
client.SetSecret("MySecret", "NewValue");
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
integration.
Microsoft Azure Microsoft Azure Tutorial · Azure
🔹 Section 9: Azure Storage – Q&A
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Upload example:
var blobServiceClient = new BlobServiceClient(connectionString);
var containerClient =
blobServiceClient.GetBlobContainerClient("mycontainer");
var blobClient = containerClient.GetBlobClient("file.txt");
using var fileStream = File.OpenRead("localfile.txt");
await blobClient.UploadAsync(fileStream, overwrite: true);
Download example:
var downloadPath = "downloaded.txt";
await blobClient.DownloadToAsync(downloadPath);
Microsoft Azure Microsoft Azure Tutorial · Azure
await blobClient.SetAccessTierAsync(AccessTier.Cool);
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Send message:
var queueClient = new QueueClient(connectionString, "myqueue");
await queueClient.CreateIfNotExistsAsync();
await queueClient.SendMessageAsync("Hello, Azure Queue!");
Receive message:
var message = await queueClient.ReceiveMessageAsync();
Console.WriteLine(message.Value.MessageText);
await queueClient.DeleteMessageAsync(message.Value.MessageId,
message.Value.PopReceipt);
Microsoft Azure Microsoft Azure Tutorial · Azure
Feature Azure Queue Service Bus Queue
Protocol HTTP/REST AMQP
Features Simple FIFO Advanced (sessions, transactions,
dead-letter)
Scalability High High but more complex
Use Case Simple decoupling Enterprise messaging with reliability
Microsoft Azure Microsoft Azure Tutorial · Azure
Example:
var tableClient = new TableClient(connectionString, "MyTable");
await tableClient.CreateIfNotExistsAsync();
var entity = new TableEntity("partition1", "row1")
{ "Name", "John" },
{ "Age", 30 }
await tableClient.AddEntityAsync(entity);
Microsoft Azure Microsoft Azure Tutorial · Azure
Azure.Storage.Files.Shares.
Microsoft Azure Microsoft Azure Tutorial · Azure
Example:
var shareClient = new ShareClient(connectionString, "myfileshare");
await shareClient.CreateIfNotExistsAsync();
Microsoft Azure Microsoft Azure Tutorial · Azure
az storage cors add --methods GET POST --origins
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Example:
var sasToken = blobClient.GenerateSasUri(BlobSasPermissions.Read,
DateTimeOffset.UtcNow.AddHours(1));
Console.WriteLine(sasToken);
Microsoft Azure Microsoft Azure Tutorial · Azure
🔹 Section 10: Azure DevOps – Q&A
Microsoft Azure Microsoft Azure Tutorial · Azure
test, and deploy applications.
management in one platform.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
trigger:
pool:
vmImage: 'windows-latest'
steps:
inputs:
packageType: 'sdk'
version: '7.x'
displayName: 'Build project'
displayName: 'Run tests'
Microsoft Azure Microsoft Azure Tutorial · Azure
Feature Classic
Pipeline
YAML Pipeline
Definition GUI-based Code-based (in repo)
Versioning Manual Versioned with code
CI/CD Supported Supported,
recommended
Reusability Limited High
Microsoft Azure Microsoft Azure Tutorial · Azure
inputs:
azureSubscription: 'MyAzureConnection'
appName: 'my-webapp'
package: '$(System.DefaultWorkingDirectory)/drop/*.zip'
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
variables:
value: $(MySecretFromVault)
isSecret: true
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
inputs:
command: push
packagesToPush: '**/*.nupkg'
publishVstsFeed: 'MyFeed'
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
stages:
jobs:
steps:
dependsOn: Build
jobs:
environment: 'Production'
strategy:
runOnce:
deploy:
steps:
Microsoft Azure Microsoft Azure Tutorial · Azure
🔹 Section 11: Azure Active Directory & Identity – Q&A
Microsoft Azure Microsoft Azure Tutorial · Azure
management service.
(MFA), and identity protection for apps and services.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Feature Azure AD Azure AD B2C
Target Employees/internal Customers/external
Features SSO, MFA, RBAC Customizable login, social logins
Protocol
OAuth, SAML, OpenID OAuth, OpenID, social authentication
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationS
cheme)
.AddMicrosoftIdentityWebApi(builder.Configuration.GetSection("AzureA
d"));
app.UseAuthentication();
app.UseAuthorization();
Microsoft Azure Microsoft Azure Tutorial · Azure
acquire tokens.
Example: acquiring token in .NET:
var app = ConfidentialClientApplicationBuilder.Create(clientId)
.WithClientSecret(clientSecret)
.WithAuthority(new
Uri($"
.Build();
string[] scopes = { "
var result = await app.AcquireTokenForClient(scopes).ExecuteAsync();
Console.WriteLine(result.AccessToken);
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
credentials.
Vault or SQL Database.
Microsoft Azure Microsoft Azure Tutorial · Azure
Feature System-assigne
User-assigned
Lifecycle Tied to resource Independent
Reusabl
No Yes
Example App Service Shared across multiple
resources
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationS
cheme)
.AddJwtBearer(options =>
options.Authority =
options.Audience = clientId;
});
Microsoft Azure Microsoft Azure Tutorial · Azure
🔹 Section 12: Azure API Management – Q&A
Microsoft Azure Microsoft Azure Tutorial · Azure
analyzing APIs.
developers.
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
parameters.
Example – API key header:
GET
Header: Ocp-Apim-Subscription-Key: <your-subscription-key>
Microsoft Azure Microsoft Azure Tutorial · Azure
Example – Rate limit policy:
<rate-limit calls="10" renewal-period="60" />
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
<set-header name="X-Custom-Header" exists-action="override">
<value>API Managed</value>
</set-header>
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
🔹 Section 13: Monitoring, Logging, and
Troubleshooting – Q&A
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
apps.
Example – Integrating with ASP.NET Core:
builder.Services.AddApplicationInsightsTelemetry(builder.Configurati
on["APPINSIGHTS_INSTRUMENTATIONKEY"]);
Microsoft Azure Microsoft Azure Tutorial · Azure
builder.Services.AddApplicationInsightsTelemetry(options =>
options.EnableDependencyTrackingTelemetryModule = true;
});
Microsoft Azure Microsoft Azure Tutorial · Azure
Services, Functions, SQL, etc.
Example query:
requests
| where success == false
| summarize count() by operation_Name
Microsoft Azure Microsoft Azure Tutorial · Azure
var telemetry = new TelemetryClient();
telemetry.TrackMetric("ItemsProcessed", 100);
Microsoft Azure Microsoft Azure Tutorial · Azure
telemetry across Azure resources.
Microsoft Azure Microsoft Azure Tutorial · Azure
Metric: ServerResponseTime
Condition: > 1000ms
Action: Email, Webhook, Logic App
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
streaming
🔹 Section 14: Best Practices & Real-World Scenarios –
Q&A
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Example – Azure DevOps pipeline:
inputs:
azureSubscription: 'MyServiceConnection'
KeyVaultName: 'MyKeyVault'
SecretsFilter: '*'
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Example in .NET:
if (_featureManager.IsEnabledAsync("NewCheckout"))
// Execute new feature code
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
cost-effective for sporadic workloads
Microsoft Azure Microsoft Azure Tutorial · Azure
var container = cosmosClient.GetContainer("db", "container");
var query = new QueryDefinition("SELECT * FROM c WHERE c.status =
@status")
.WithParameter("@status", "Active");
var iterator = container.GetItemQueryIterator<MyItem>(query);
Microsoft Azure Microsoft Azure Tutorial · Azure
Example in ASP.NET Core:
services.AddStackExchangeRedisCache(options =>
options.Configuration = Configuration["Redis:ConnectionString"];
});
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
🔹 Bonus Section: Advanced Azure Topics – Q&A
Microsoft Azure Microsoft Azure Tutorial · Azure
Azure resources.
Example – Deploy an Azure Storage Account:
resource storageAccount
'Microsoft.Storage/storageAccounts@2022-09-01' = {
name: 'mystorageacct'
location: resourceGroup().location
sku: {
name: 'Standard_LRS'
kind: 'StorageV2'
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
communication.
Example – Azure CLI login:
az login --service-principal -u <appId> -p <password> --tenant
<tenantId>
Microsoft Azure Microsoft Azure Tutorial · Azure
Administrator, Global Admin)
Owner)
🔹 Final Questions for Interviews – Q&A
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
production logs.
Microsoft Azure Microsoft Azure Tutorial · Azure
access policies.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
uploads.
workflow.
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Microsoft Azure Microsoft Azure Tutorial · Azure
Review the concept and prepare a concise verbal explanation with a real project example.