Skip to content

Azure Engineer interview questions

100 real questions with model answers and explanations for Azure Engineer candidates.

See a Azure Engineer resume example

Practice with flashcards

Spaced repetition · Hunter Pass

Questions

design

I would centralize shared connectivity and inspection in a hub VNet and peer each workload VNet as a nontransitive spoke.

  • Spoke route tables send approved prefixes or 0.0.0.0/0 to Azure Firewall in the hub, while NSGs still enforce subnet and workload boundaries.
  • Gateway transit lets spokes use the hub VPN or ExpressRoute gateway, with Allow gateway transit on the hub peering and Use remote gateways on each spoke.
  • Because VNet peering is not transitive, spoke-to-spoke traffic needs explicit peering or a routed path through the hub appliance.

Why interviewers ask this: The interviewer is checking whether you understand Azure peering flags, nontransitivity, and centralized traffic inspection.

system-designrouting

Azure chooses the longest matching prefix first, then uses route source precedence when equally specific routes compete.

  • A 10.20.4.0/24 route wins over 10.20.0.0/16 regardless of whether the next hop came from BGP or a route table.
  • For equal prefixes, a user-defined route normally wins over a BGP route, and BGP normally wins over a system route.
  • I inspect effective routes on the NIC and verify the return path because a stateful firewall still needs symmetric routing.

Why interviewers ask this: A strong answer separates longest-prefix matching from source precedence and accounts for bidirectional flow.

designnetworkingfirewalls

I would deploy Azure Firewall in its dedicated AzureFirewallSubnet and route inspected spoke traffic through its private IP.

  • A Firewall Policy separates network, application, and DNAT rule collections, with explicit priorities and threat-intelligence mode managed centrally.
  • Standard covers stateful L3 to L7 filtering, while Premium adds features such as TLS inspection and IDPS when their certificate and performance costs are justified.
  • UDRs on every participating subnet preserve symmetric paths, and diagnostic logs go to Log Analytics for rule and flow evidence.

Why interviewers ask this: The interviewer is evaluating whether you can integrate Azure Firewall routing, policy, and observability rather than merely name the service.

gatewaynetworking

I use NAT Gateway when private workloads need scalable, predictable outbound internet addresses without accepting unsolicited inbound connections.

  • Associating it with a subnet makes it the preferred internet egress path and provides 64,512 SNAT ports per attached public IP address.
  • Up to 16 public IP addresses or a public IP prefix can expand port capacity and provide an allow-listable egress range.
  • NAT Gateway does not inspect traffic or replace inbound load balancing, so NSGs and Azure Firewall remain separate controls.

Why interviewers ask this: A strong answer connects NAT Gateway to outbound SNAT capacity and clearly states what it does not provide.

private-connectivitycloud

I would create a private endpoint in a consumer VNet, approve the connection, and disable public network access where the service supports it.

  • The endpoint receives a private IP from the selected subnet, while the service remains provider-managed and does not require broad VNet peering.
  • A service-specific private DNS zone, such as privatelink.database.windows.net, is linked to the VNets that must resolve the normal service name privately.
  • NSGs, endpoint approval, Azure RBAC on the PaaS resource, and data-plane authorization solve different layers and must all be designed.

Why interviewers ask this: The interviewer checks whether you distinguish private reachability, DNS, connection approval, and service authorization.

designdns

I would deploy redundant inbound and outbound endpoints in dedicated subnets and connect them with a DNS forwarding ruleset.

  • On-premises DNS forwards Azure private-zone queries to inbound endpoint IPs over ExpressRoute or VPN.
  • Outbound rules conditionally forward corporate suffixes to on-premises DNS servers, and the ruleset is linked to every VNet that needs those rules.
  • Private DNS zone links remain responsible for Azure records, so I avoid forwarding loops and test both UDP and TCP port 53 paths.

Why interviewers ask this: A strong answer covers both query directions and the distinct roles of resolver endpoints, rulesets, and private zones.

gatewayload-balancingedge-routing

I choose by scope and protocol: global HTTP at the edge, DNS routing, regional HTTP, or regional layer-four traffic.

  • Front Door is a global anycast L7 proxy with edge TLS, WAF, path routing, and origin health checks, while Traffic Manager returns DNS answers and never proxies traffic.
  • Application Gateway is a regional L7 reverse proxy with WAF and private or public frontends for web workloads inside VNets.
  • Azure Load Balancer distributes TCP or UDP flows at L4 and fits high-performance public or internal regional services.

Why interviewers ask this: The interviewer is looking for accurate scope, protocol, proxy, and WAF distinctions among Azure traffic services.

hybrid-networking

I would use ExpressRoute as the primary private circuit and an active-active VPN gateway as an independently routed backup.

  • ExpressRoute provides provider-backed private connectivity and BGP but does not encrypt traffic by default, while IPsec VPN encrypts traffic across the public internet.
  • Route advertisements and BGP weights must make the intended primary path deterministic without creating asymmetric return traffic through stateful appliances.
  • Regular failover tests must prove that the VPN has enough throughput and that DNS, firewalls, and on-premises routes still work on the backup path.

Why interviewers ask this: A strong answer treats the VPN as a tested independent recovery path and understands ExpressRoute encryption and routing behavior.

identity

I prefer a managed identity for an Azure-hosted workload and use a service principal when the identity lifecycle must exist independently of an Azure resource.

  • A system-assigned identity follows one resource, while a user-assigned managed identity can be shared by approved workloads and survives their replacement.
  • Entra manages managed-identity credentials, eliminating client-secret storage and rotation in the application.
  • A service principal still suits external automation or products that cannot use managed identity, but it should use a certificate or federation instead of a long-lived secret.

Why interviewers ask this: The interviewer checks whether you choose identity by workload location and lifecycle rather than using service principals by default.

secretsidentitykubernetes

Workload Identity Federation exchanges a trusted external OIDC token for an Entra access token without storing an Azure client secret.

  • The federated credential pins issuer, subject, and audience, such as one GitHub environment or one Kubernetes service account.
  • CI requests an ID token at runtime, or AKS projects a service-account token, then Azure Identity performs the token exchange for the target application or managed identity.
  • Azure RBAC still limits the resulting identity, and narrow subject claims prevent another branch, repository, or service account from reusing the trust.

Why interviewers ask this: A strong answer explains the OIDC trust binding, token exchange, and continued need for least-privilege authorization.

rbacdesign

I start from the smallest required control-plane and data-plane operations and create a custom role only when no built-in role fits.

  • Actions and DataActions grant management and resource-data operations separately, while NotActions subtract from a wildcard grant but do not create an explicit deny.
  • AssignableScopes controls where the role definition may be assigned, so I keep it to the required management group or subscriptions.
  • I test the role with a representative identity and avoid Owner-like permissions such as roleAssignments/write unless delegation is an explicit requirement.

Why interviewers ask this: The interviewer evaluates whether you understand custom-role semantics and can avoid accidental privilege escalation.

I would make high-impact Azure roles eligible and require time-bounded activation instead of leaving administrators permanently active.

  • Activation can require MFA, justification, approval, and a short duration for roles such as Owner or User Access Administrator.
  • Access reviews remove stale eligibility, while PIM alerts expose risky permanent assignments or activations outside the expected process.
  • Emergency accounts remain tightly monitored and excluded only from controls that could block recovery, with their use tested and audited.

Why interviewers ask this: A strong answer turns PIM into a complete just-in-time access process rather than only enabling an approval prompt.

I use management groups to place Azure Policy and Azure RBAC controls above subscriptions, but I treat their inheritance and exceptions separately.

  • A hierarchy can separate platform, production, sandbox, and regulated workloads beneath the tenant root without mirroring a frequently changing org chart.
  • Azure RBAC role assignments inherit through child management groups, subscriptions, resource groups, and resources, and an Azure Policy exemption cannot remove or weaken that access.
  • Azure Policy assignments also inherit downward, but a Policy exemption only waives evaluation for specified assignments or initiative references at its approved scope and does not affect RBAC.

Why interviewers ask this: The interviewer checks whether you understand inheritance and the distinct purposes of management groups and subscriptions.

guardrails

I choose the least disruptive effect that reliably enforces the requirement and stage new policy from visibility to enforcement.

  • Audit and AuditIfNotExists report noncompliance, while Deny blocks a matching create or update request before it reaches the resource provider.
  • Modify can add or change supported properties, and DeployIfNotExists can deploy related resources such as diagnostic settings after evaluating existence conditions.
  • Modify and DeployIfNotExists need a managed identity plus remediation tasks for existing resources, and an initiative groups related definitions with shared parameters.

Why interviewers ask this: A strong answer distinguishes request-time effects from remediation-based effects and describes a safe rollout path.

secrets

I would use Key Vault RBAC, private network access, and identity-based retrieval, then automate rotation according to the secret owner.

  • Data-plane roles are assigned to managed identities at the narrowest vault or secret scope, avoiding legacy access policies and broad Contributor grants.
  • A private endpoint plus private DNS permits application access while public network access or firewall rules block unapproved paths.
  • Key rotation policies handle supported keys, while generic secrets usually need an Event Grid expiry event and a Function that updates the source system before publishing the new version.

Why interviewers ask this: The interviewer evaluates authorization, network isolation, and the application-safe mechanics of rotation as separate concerns.

autoscaling

I choose Manual, Automatic, or Rolling upgrade mode according to how much control the release requires.

  • Manual mode updates the model but leaves existing instances unchanged until automation upgrades them, which gives maximum control but can create version drift.
  • Automatic mode can propagate model changes without application-aware batching, so it suits replaceable fleets with tolerance for broad updates.
  • Rolling mode replaces batches while honoring health probes, pause time, and minimum healthy percentages, making it the normal choice for controlled application releases.

Why interviewers ask this: A strong answer connects each VMSS upgrade mode to rollout control, health evidence, and fleet consistency.

capacityavailabilityautoscaling

I use a VM Scale Set with Flexible orchestration because both Spot Priority Mix and multiple VM sizes through Instance Mix require it.

  • I select supported availability zones for the scale set and keep application state external so regular capacity remains healthy when one datacenter zone fails.
  • Spot Priority Mix defines a base count and percentage of regular instances, with Spot instances supplying only interruptible excess capacity and using the Delete eviction policy.
  • Instance Mix ranks several compatible VM sizes to improve capacity access, while autoscale headroom, Scheduled Events, and short drain logic absorb Spot evictions.

Why interviewers ask this: The interviewer checks whether you combine zonal resilience and Spot savings without placing required capacity on interruptible VMs.

deployment

I size the App Service plan as the shared compute boundary and use a staging slot to validate the exact build before a controlled swap.

  • Apps and slots in one plan compete for its CPU and memory, so scale-out affects the plan rather than allocating isolated workers per app.
  • Slot swap warms the destination and exchanges routing, while slot-sticky settings keep environment-specific secrets and endpoints in the intended slot.
  • Database changes must remain backward compatible because a swap can be reversed but cannot undo an incompatible schema migration.

Why interviewers ask this: A strong answer understands shared plan capacity, slot configuration, warm-up, and rollback limitations.

containers

I choose Container Apps for containerized HTTP, event-driven, or job workloads that need managed scaling without direct Kubernetes cluster operations.

  • Revisions support immutable releases, traffic splitting, and single-revision mode, while KEDA-based rules can scale workloads from HTTP or queue demand to zero where supported.
  • A Container Apps environment supplies ingress, logging, networking, and optional workload profiles for dedicated compute or special sizing.
  • I choose AKS instead when workloads require Kubernetes APIs, privileged host access, custom operators, or deeper network and scheduling control.

Why interviewers ask this: The interviewer evaluates whether you can place Container Apps correctly between App Service, Functions, and AKS.

designkubernetes

Azure manages the Kubernetes control plane, while I remain responsible for cluster access, workloads, add-ons, networking, and node capacity.

  • The managed API server and etcd remove control-plane host operations, but version support, upgrade scheduling, RBAC, and API exposure still need deliberate configuration.
  • A small system node pool runs critical add-ons, while user pools separate workloads by VM size, zones, taints, labels, autoscaling, or Spot priority.
  • Pod disruption budgets, topology spread, and surge settings let node-image and Kubernetes upgrades preserve application capacity.

Why interviewers ask this: A strong answer states the AKS responsibility boundary and turns node pools into explicit reliability and workload-isolation units.

Locked questions

  • 21

    When would you use Azure CNI Overlay in AKS?

    kubernetes
  • 22

    How would you configure AKS Workload Identity for one application?

    configkubernetesidentity
  • 23

    How would you govern container images in Azure Container Registry?

    containersregistries
  • 24

    When should Azure SQL Database use zone redundancy?

    sqldatabase
  • 25

    How do active geo-replication and failover groups differ in Azure SQL?

    sqlreplication
  • 26

    When is an Azure SQL elastic pool a good fit?

    sql
  • 27

    How would you manage connection pooling for Azure SQL under autoscaling application load?

    sqlpoolingscaling
  • 28

    A multi-tenant Cosmos DB container is approaching the 20 GB limit because tenantId is its partition key, while its main queries filter by tenantId, userId, and sessionId. How would you migrate to hierarchical partition keys?

    queriespartitioningcosmos-db
  • 29

    How would you size Cosmos DB RU/s and use autoscale?

    cosmos-dbscaling
  • 30

    How would you tune an Azure Cosmos DB indexing policy?

    indexescosmos-db
  • 31

    How would you design Cosmos DB consistency, multi-region writes, conflicts, and change processing?

    designconsistencyconcurrency
  • 32

    Which caching patterns would you use with Azure Managed Redis?

    rediscaching
  • 33

    A Flex Consumption HTTP function receives bursts of 600 RPS, calls a private VNet dependency for 200 ms, and must keep p95 below one second. Load tests show one instance is healthy at 20 concurrent requests, and the dependency permits 240 concurrent calls. How would you configure scaling?

    load-testingconfigdependencies
  • 34

    How would you control Azure Functions concurrency and cold starts?

    serverlessconcurrency
  • 35

    When would you use Durable Functions?

  • 36

    How would you use Service Bus locks, sessions, and the dead-letter queue?

    sessionsdata-structuresmessaging
  • 37

    How do Event Hubs partitions and checkpoints affect consumer design?

    designstreamingpartitioning
  • 38

    What delivery guarantees should an Azure Event Grid subscriber expect?

    gridevents
  • 39

    How would you structure Azure API Management policies?

    api
  • 40

    How would you store Terraform AzureRM state for a team?

    terraform
  • 41

    How would you structure reusable Terraform modules for Azure?

    terraform
  • 42

    Six teams need to consume approved Bicep modules from a private ACR-backed registry. How would you configure aliases, immutable versions, and CI promotion?

    configregistriesiac
  • 43

    How do Bicep deployment scopes and what-if shape a deployment review?

    deploymentiac
  • 44

    When would you use ARM deployment stacks, and do they eliminate drift?

    deploymentiac
  • 45

    How would you gate Azure infrastructure deployments in CI using policy and OIDC?

    deployment
  • 46

    How would you combine Azure Monitor, Application Insights, and OpenTelemetry?

    monitoringobservability
  • 47

    How do you turn an SLO into useful Azure Monitor alerts?

    monitoringalertingslo
  • 48

    How would you combine Azure Backup and Azure Site Recovery in a recovery design?

    designbackups
  • 49

    How would you combine rightsizing, reservations, and Azure savings plans?

    finops
  • 50

    How would you use the Azure Well-Architected Framework to review a proposed workload?

  • 51

    Two VNets both use 10.40.0.0/16, and six applications must communicate privately before a merger cutover in four weeks. How would you connect them?

    communication
  • 52

    After a UDR change, 12% of TCP sessions from a spoke reset, and Network Watcher shows replies bypassing Azure Firewall. What do you inspect?

    sessionsfirewallsnetworking
  • 53

    An Azure SQL private endpoint connects by IP, but app-db.database.windows.net resolves publicly from one spoke VNet. How do you fix it?

    sqldatabaseendpoints
  • 54

    Queries for payroll.corp.internal from 14 linked VNets start reaching the wrong DNS servers after a second forwarding ruleset is linked. How do you diagnose Azure DNS Private Resolver?

    queriesdns
  • 55

    Azure Front Door marks every origin unhealthy after a release, although direct requests to the application return 200 in 90 ms. What do you check?

    edge-routing
  • 56

    Application Gateway begins returning 502 for 7% of requests after a backend deployment, while the pods themselves report almost no 5xx responses. How do you investigate?

    gatewayload-balancingdeployment
  • 57

    ExpressRoute drops during a maintenance test, but the configured site-to-site VPN does not carry the 10.80.0.0/16 routes for nine minutes. How would you repair fallback?

    hybrid-networkingconfig
  • 58

    A NAT Gateway with one public IP shows SNAT connection failures when 220 workers open 70,000 concurrent connections to external APIs. What would you change?

    gatewaynetworkingapi
  • 59

    A VM Scale Set using Flexible orchestration must grow from 80 to 120 instances, but 27 allocations fail with OverconstrainedAllocationRequest while CPU remains above 85%. What do you do?

    orchestrationautoscalingzero-to-one
  • 60

    Spot VMs reduce batch cost by 68%, but eviction events cause 11% of six-hour jobs to restart from zero. How would you keep the savings safely?

    batch
  • 61

    A VMSS rollout leaves 34 of 100 instances in ProvisioningState Failed because the Custom Script Extension cannot download a package. How do you recover?

  • 62

    After an App Service slot swap, production connects to the staging database for four minutes. Which configuration would you inspect and change?

    databaseconfig
  • 63

    An Azure Container Apps worker has 50,000 Service Bus messages queued, but it stays at one replica even though the maximum is 30. What do you inspect?

    messagingcontainersreplication
  • 64

    After an AKS deployment, 18 pods remain Pending and 7 others enter CrashLoopBackOff within 45 seconds. How do you separate the two failures?

    deploymentkubernetes
  • 65

    A 60-node AKS cluster cannot schedule new pods even though CPU is 42%, and subnet free addresses fell from 900 to 12 during an upgrade. What happened?

    zero-to-onenetworkingkubernetes
  • 66

    AKS has 24 unschedulable pods for 15 minutes, but cluster autoscaler does not add nodes and the pool is at 8 of its 20-node maximum. What do you check?

    scalingkubernetes
  • 67

    Thirty AKS pods switch to ImagePullBackOff after ACR public access is disabled, while pulls from a developer laptop still work. How do you debug it?

    kubernetes
  • 68

    Azure SQL reaches 300 sessions during a peak, CPU is only 31%, and APIs fail with connection pool timeouts. What would you change?

    sqlpoolingapi
  • 69

    A failover group moves Azure SQL to the secondary region in 70 seconds, but 20% of clients keep calling the old server for 12 minutes. Why?

    sql
  • 70

    A 200-DTU Azure SQL database sits at 96% DTU and 94% storage, while a team proposes an immediate move to 8 vCores. How do you decide?

    sqldatabase
  • 71

    One Azure SQL query rises from 180 ms to 9 seconds after a release, but overall CPU stays below 45%. How do you investigate?

    sqlqueries
  • 72

    A 30,000 RU/s Cosmos DB container returns 429 responses while one physical partition stays near 10,000 RU/s because 64% of writes use tenantId premium. How would you fix it?

    partitioningcosmos-dbcontainers
  • 73

    After a release, reads from a West Europe service to a three-region Cosmos DB account cross to East US, p95 rises from 35 to 210 ms, and egress grows 42%. What do you inspect?

    cosmos-db
  • 74

    A Cosmos DB indexing policy change pushes write RU from 14 to 31 per item and p95 latency doubles for 40 minutes. How do you respond?

    indexescosmos-dblatency
  • 75

    Azure Cache for Redis evicts 35,000 keys per minute, and Azure SQL QPS triples whenever a popular key expires. How do you stop the cycle?

    sqlrediscaching
  • 76

    A .NET Azure Function on Consumption takes 6 to 11 seconds on the first request after 20 idle minutes, but warm requests finish in 180 ms. What would you change?

    serverless
  • 77

    An Azure Function scales to 180 concurrent executions and drives Azure SQL to its 250-connection ceiling, producing 8% failures. How do you stabilize it?

    sqlconcurrencyserverless
  • 78

    An HTTP-triggered Azure Function needs 7 minutes to generate a report, but clients receive a gateway timeout near 230 seconds. How would you redesign it?

    gatewayresilienceserverless
  • 79

    After changed Durable Functions orchestrator code is deployed, 320 in-flight instances begin failing with nondeterministic workflow errors. How do you recover and release safely?

    orchestrationdeployment
  • 80

    A Service Bus queue has a 10-minute duplicate-detection window, but recurring events every five minutes reuse the customer ID as MessageId and 4% disappear without handler errors. What is wrong?

    messagingdata-structures
  • 81

    One poison message in a session-enabled Service Bus queue blocks 4,000 later messages for the same customer. How do you recover?

    sessionsdata-structuresmessaging
  • 82

    An Event Hubs consumer falls 18 million events behind after a deployment, and several instances repeatedly take ownership of the same partitions. What do you inspect?

    ownershipdeploymentpartitioning
  • 83

    Event Grid deliveries pass through APIM, which returns 429 during a burst, and the subscriber later processes 3% of events twice. How would you fix the flow?

    gridconcurrencyevents
  • 84

    An engineer has Contributor through an Entra group but receives AuthorizationFailed on one resource group; effective access shows a deny assignment. How do you debug it?

    auth
  • 85

    A responder activates Global Reader in PIM for two hours but still cannot restart a production VM during an incident. What is missing?

    incidents
  • 86

    An App Service slot using a managed identity gets 403 from Key Vault after recreation, although the old slot worked. What do you inspect?

    secretsidentity
  • 87

    Key Vault rotates a database secret every 30 days, but half the application instances keep the expired version for six hours. How would you repair rotation?

    secretsdatabase
  • 88

    A scan finds a Storage account with public network access enabled and anonymous read access on a container holding 2.4 million invoices. What do you do first?

    containers
  • 89

    Defender for Cloud flags a production SQL server as high severity because public network access is enabled and firewall rules cover 0.0.0.0 to 255.255.255.255. How do you remediate it?

    networkingsqlseverity-priority
  • 90

    Terraform plans to recreate an NSG after an operator changed three rules in the portal during an incident. How do you reconcile the drift safely?

    terraformiacincidents
  • 91

    A Terraform apply runner crashed and left the Azure Storage backend lock in place for 43 minutes while a production fix is waiting. What do you do?

    terraform
  • 92

    A shared Terraform module upgrade changes 46 resources across four environments and replaces two private endpoints. How would you roll it out?

    terraformendpointsprivate-connectivity
  • 93

    Bicep what-if shows 28 modifications, then the deployment reports subnet-in-use for the resource labeled 19. What is your recovery approach?

    deploymentiacnetworking
  • 94

    A pipeline deployment fails with RequestDisallowedByPolicy when creating a public IP, but the same template worked last week. How do you debug it?

    deploymentci-cd
  • 95

    A GitHub Actions job using workload identity federation starts returning AADSTS700213 after the branch changes from master to main. What do you inspect?

    identityci-cd
  • 96

    An API has 13% errors for 16 minutes, but Azure Monitor sends no alert and Application Insights shows only two of six service hops. How do you repair observability?

    observabilitymonitoringalerting
  • 97

    Cost Management reports a $2,300 daily increase in bandwidth charges beginning at 03:00 after a release. How would you investigate and contain it?

  • 98

    During an Azure Site Recovery drill, 9 of 60 VMs boot in the recovery VNet but cannot reach DNS or the database. How do you run and fix the test?

    databasedns
  • 99

    You must migrate 60 on-premises VMs to Azure in eight weeks with no more than 20 minutes of downtime per application. How would you phase it?

  • 100

    A junior proposes adding an NSG rule allowing 0.0.0.0/0 to port 1433 for two hours because a release cannot reach Azure SQL. How do you respond?

    sqlnetworking