InterviewLesson 16 of 16

Interview Preparation

Comprehensive interview Q&A covering all Azure Core Services — organized by difficulty from beginner to senior engineer scenarios.

How to Use This Page

Read each question, draft your answer mentally (or out loud), then expand to check the model answer. Focus on scenario questions — they appear most in senior cloud/DevOps interviews.

Interview Strategy

For architecture questions, always explain your reasoning: "I chose X because Y, and over Z because of [trade-off]. The main consideration was [cost / simplicity / scale / compliance]." Interviewers care more about your reasoning than the exact service name.

Beginner Questions

Fundamentals

What is the difference between IaaS, PaaS, and SaaS?

IaaS (VMs, VMSS): You manage OS, runtime, app. Azure manages hardware. PaaS (App Service, Azure SQL): You manage only the app/data. Azure manages OS, patching, scaling. SaaS: You configure only. Example: Microsoft 365.

What is a Resource Group in Azure?

A logical container grouping related Azure resources for a solution. Resources in a group share lifecycle — you can deploy, update, or delete them together. Also the unit for access control and billing tracking.

What can you store in Azure Blob Storage?

Any unstructured data: images, videos, documents, backups, log files, static web assets. Blob Storage is object storage — no filesystem semantics, just container → blob hierarchy.

What is Azure App Service?

A fully managed PaaS for hosting web apps and REST APIs. Supports Node.js, .NET, Python, PHP, Java, Ruby. Azure manages infrastructure, OS patching, scaling. You deploy code and configure settings.

What is a SAS token?

A Shared Access Signature — a time-limited, permission-scoped signed URL for accessing Azure Storage resources without sharing account keys. You can scope to read, write, delete; and set an expiry time.

Name three Azure database services.

Azure SQL Database (managed relational SQL), Cosmos DB (globally distributed NoSQL), Azure Database for PostgreSQL (managed open-source relational). Also: SQL Managed Instance, Azure DB for MySQL.

Intermediate Questions

Service Knowledge

When would you choose a VM over App Service?

When the app has OS-level requirements that PaaS can't satisfy: specific OS version, custom kernel modules, COM components, software that needs system daemons or registry access. Otherwise, App Service is almost always better — no OS patching, built-in scaling, lower TCO.

What is the difference between Hot, Cool, and Archive blob tiers?

Hot: frequently accessed, highest storage cost, lowest retrieval cost. Cool: infrequently accessed (30+ days), lower storage, higher retrieval. Archive: long-term retention (180+ days), cheapest storage, highest retrieval (several hours to rehydrate). Use lifecycle policies to automate tier transitions.

What is a deployment slot in App Service?

A live environment (e.g., staging) alongside production. Deploy new code to staging, test, then swap to production with zero downtime. The old production becomes staging for instant rollback.

DTU vs vCore pricing in Azure SQL Database — key differences?

DTU: blended CPU/memory/IO unit, simpler to choose but less transparent. vCore: individual CPU cores + RAM, more predictable, eligible for Azure Hybrid Benefit (bring your own SQL Server license, save up to 55%). Use vCore for production with existing MS licensing; DTU for simple new apps.

What is Azure Storage redundancy, and what are the options?

How many copies Azure keeps and where. LRS: 3 copies, 1 datacenter. ZRS: 3 zones in one region. GRS: LRS + async replica to paired region. RA-GRS: GRS + read access to secondary. GZRS: ZRS + geo-replication. Production: minimum ZRS; critical data: GRS or RA-GRS.

What is the cold start problem in Azure Functions?

On Consumption plan, if a function hasn't run recently, Azure provisions a new container from scratch — adding 1-3 seconds to the first invocation. Solved by: Premium plan (pre-warmed instances), App Service plan, or a Timer trigger pinging the function to keep it warm.

Explain Cosmos DB partition keys and why they matter.

The partition key determines how data is physically distributed across partitions. Good partition key: high cardinality, even distribution of reads/writes. Bad key: "hot partition" — all traffic hits 1 partition, throttling everything else even if total provisioned RU/s is sufficient. userId, deviceId, and orderId are usually good choices; status codes (active/inactive) are terrible.

Scenario-based Questions

Architecture Design

Design an architecture for a public e-commerce site with 100,000 daily users. You need zero-downtime deploys and the product catalog may spike during flash sales.

Frontend: React SPA on Azure Static Web Apps / Blob Storage + CDN for global edge caching.

API: App Service (Premium P2v3) with auto-scale. Deployment slots for zero-downtime deploys.

Database: Azure SQL Database (Business Critical) for orders/users. Cosmos DB for product catalog (schema flexibility, global reads, scales to flash-sale burst without DTU limits).

Cache: Azure Cache for Redis in front of the product catalog.

Background jobs: Azure Functions for order confirmations, inventory updates.

Assets: Blob Storage (Hot tier) + CDN for product images.

Your company is moving from an on-prem SQL Server 2019 with SQL Agent jobs and linked servers. Which Azure database service do you recommend?

SQL Managed Instance. It's the only Azure managed SQL service with near-100% feature compatibility including SQL Agent, CLR, linked servers, and cross-database queries. Azure SQL Database would require removing all those features, which is a large migration effort. SQL MI is deployed inside a VNet, so network path from app servers is also secure.

Users upload images that need thumbnail generation. The API should return a 202 immediately while processing happens in the background.

1. API generates a SAS write URL for the user to upload directly to Blob Storage (bypasses API server).

2. Blob Storage triggers an Azure Function on new blob creation in the uploads container.

3. Function generates thumbnail, stores it in thumbnails container, writes a Queue message with the result.

4. API polls the queue or client uses WebSocket/SSE for real-time notification.

API response: 202 Accepted with a job ID. Client polls GET /jobs/{id} to check completion status stored in Azure SQL or Cosmos DB.

Cost is too high on your Azure environment. What are three quick wins to reduce spend?

1. Deallocate unused VMs — stopped VMs still bill for compute. Deallocate dev/test VMs outside working hours with Azure Automation or auto-shutdown.

2. Blob lifecycle policies — move old blobs to Cool/Archive. Archive is ~95% cheaper than Hot.

3. Right-size databases — check DTU/vCore utilization in Monitor. A database at 5% average can drop 2 tiers immediately.

Bonus: Use Reserved Instances for stable VMs (save 30-72%). Use Azure Hybrid Benefit for Windows/SQL licenses.

App Service is returning 503 during peak hours. What do you check first?

1. Check App Service Plan CPU and Memory metrics — plan may be hitting limits.

2. Check if auto-scale is configured and if it triggered. If not, is the plan tier low (Basic has no autoscale)?

3. Check application logs (log stream) for exceptions — could be a downstream timeout (DB, cache) causing requests to pile up.

4. Check the database connection pool — a saturated DB under load causes the API to queue requests until timeout.

Fix: Scale up the App Service Plan to Standard/Premium; enable autoscale; investigate DB bottleneck (DTU exhaustion, missing indexes).

Your team is building a new microservices app (8 services). They know Docker but not Kubernetes. What compute do you recommend?

Start with Azure Container Apps — it runs containers, provides KEDA-based auto-scale, Dapr for service-to-service communication, and handles ingress routing — all without Kubernetes knowledge. If the team later needs full Kubernetes control (custom CRDs, stateful workloads, service mesh), migrate to AKS. Don't start with AKS complexity unless you have a specific requirement that Container Apps can't fulfill.

A Cosmos DB container is getting throttled (429 errors) even though you increased total RU/s.

This is a hot partition problem. Even if total RU/s is 10,000, if 80% of requests hit partition key value "active", that partition can only serve its share of the RUs. The fix: redesign the partition key to distribute traffic more evenly. For example, instead of /status (2 values), use /userId (millions of unique values). Each partition gets an equal slice of throughput.

Decision Frameworks

Memorize these patterns — they come up constantly in interviews:

Storage Cheat Sheet

NeedAnswer
Store files from users or appBlob Storage
Share files between VMsAzure Files (SMB/NFS)
Decouple services asynchronouslyQueue Storage (simple) or Service Bus (enterprise)
Simple key-value, no SLA neededTable Storage
Fast in-memory cache, TTL supportAzure Cache for Redis

Database Cheat Sheet

ScenarioAnswer
New relational app, no DBAAzure SQL Database
SQL Server migration (full features)SQL Managed Instance
MySQL / PHP / WordPressAzure DB for MySQL Flexible Server
PostgreSQL / Django / GISAzure DB for PostgreSQL Flexible Server
Global NoSQL, schema flexibleCosmos DB

Compute Cheat Sheet

ScenarioAnswer
Web app / REST API, PaaSApp Service
Event-driven, short functionsAzure Functions
Container, short-lived batchACI
Microservices, no K8s expertiseContainer Apps
Microservices, full K8s controlAKS
Legacy app, OS-level controlVM (Windows/Linux)

Course Complete

You've covered all 16 lessons of Azure Core Services. You now have:

Suggested next steps: Practice each service hands-on in a free Azure subscription. Then explore the AKS, Azure DevOps, or Terraform modules for the next layer of your cloud engineering skills.