SaveMyCert
Log in
5 of 5 free questions left today·for 10 a day
AI-200 practice

Free AI-200 practice questions

Drill exam-realistic Microsoft Certified: Azure AI Cloud Developer Associate questions by domain, with an explanation on every option — not just the right one. 5 fully worked examples are further down this page, answers included.

Question bank
400
across 4 domains
Free, no account
5/day
a free account allows 10 a day
Real exam
50 Qs
120 min · pass 700 / 1000
Explanations
Every option
right and wrong

Build a practice session

5 free questions left today.

Domains

How many?

Mode

Ready when you are

10 fresh questions drawn across all domains, in Learn mode.

Review what you missed

Every question you answer incorrectly, and every question you flag while practising, is saved here automatically. Finish a session and you can come back to re-drill just those.

5 sample AI-200 questions, fully explained

Real questions from the AI-200 bank, with the answer key and the reasoning behind every option. Read them, then go back up the page and try the rest.

Question 1Develop containerized solutions on Azure

A company runs container workloads in West Europe and East US. Both clusters must pull images from a nearby copy, and the deployment manifests must keep using one registry login server name. The images are pushed once by a single pipeline. What should the developer set up?

Choose one.

  • a
    A Standard registry with a replica in each of the two regions

    Standard registries don't support geo-replication; replicas can be added only to a Premium registry.

  • b
    A Standard registry in each region, kept in sync with az acr import

    Two registries would work for nearby pulls, but each has its own login server, so the manifests would need different names per region.

  • c
    A Premium registry with a replica in each of the two regions Correct

    Geo-replication keeps one registry, one login server and one push, and serves pulls from the closest replica. It is a Premium-only feature.

  • d
    A Premium registry in one region with a private endpoint in each region

    Private endpoints control network access, not data location; every pull would still cross regions to the one registry.

The concept

Geo-replication turns one Premium registry into a multi-region registry with a single login server.

Why that’s the answer

The two deciding requirements are a nearby copy for each region and one login server name. Geo-replication satisfies both: the pipeline pushes once, Azure replicates the content, and DNS routes each pull to the closest replica. Separate registries also give nearby copies but break the single-name requirement, and Standard registries cannot hold replicas at all.

How to reason it out
  1. Identify the need: regional copies of the same images.
  2. Note the constraint: one login server and one push.
  3. Recall that geo-replication provides both and requires the Premium tier.

Exam tip: One login server, many regions: Premium tier with geo-replication.

AI-200 Container Hosting: Azure Container Registry, ACR Tasks and App Service Containers — the lesson that teaches this.

Question 2Develop AI solutions by using Azure data management services

A Python API that runs in Azure Container Apps with a user-assigned managed identity must read and write items in an Azure Cosmos DB for NoSQL container. Security policy forbids account keys and connection strings in the app or its configuration. Which two actions should the developer take? (Select TWO.)

Choose TWO.

  • a
    Create the CosmosClient with the endpoint URL and a DefaultAzureCredential object Correct

    DefaultAzureCredential picks up the managed identity in Azure and requests a Microsoft Entra token, so no key is stored anywhere.

  • b
    Assign Cosmos DB Built-in Data Contributor to the identity with a Cosmos DB SQL role assignment Correct

    Item reads and writes are data-plane operations. The built-in data contributor role, assigned through the Cosmos DB data-plane role assignment, grants them.

  • c
    Assign DocumentDB Account Contributor to the identity with an Azure RBAC role assignment

    This Azure RBAC role manages the account resource (control plane). It does not authorise item reads and writes made with an Entra token.

  • d
    Assign Cosmos DB Built-in Data Reader to the identity with a Cosmos DB SQL role assignment

    The data reader role allows reads and queries only. The API also writes items, so its writes would be rejected.

  • e
    Store the account primary key in Azure Key Vault and read it with the managed identity

    Fetching the key from Key Vault still authenticates with an account key, which the policy forbids.

The concept

Keyless access to Cosmos DB for NoSQL needs two things: a token credential in the SDK and a data-plane role for the identity.

Why that’s the answer

The SDK authenticates with Microsoft Entra ID when you pass a token credential such as DefaultAzureCredential to CosmosClient. Cosmos DB then authorises each data operation against its own data-plane role assignments, so the identity needs Cosmos DB Built-in Data Contributor to read and write. Azure RBAC roles such as DocumentDB Account Contributor cover management operations only. The Data Reader role would block writes, and reading the key from Key Vault is still key-based authentication.

How to reason it out
  1. Split the requirement into authentication (how the app gets a token) and authorisation (what the identity may do).
  2. Authentication: pass a token credential to CosmosClient instead of a key.
  3. Authorisation: item operations are data plane, so use a Cosmos DB data-plane role assignment with write rights.

Exam tip: Entra ID for Cosmos DB data = token credential in the client + a Cosmos DB data-plane role (not an Azure RBAC control-plane role).

AI-200 Azure Cosmos DB for NoSQL: SDK Queries, RUs, Vector Search and Change Feed — the lesson that teaches this.

Question 3Connect to and consume Azure services

A document-intelligence app accepts uploads in a web API and hands each OCR-and-summarise job to a pool of back-end workers. Each job must be processed by exactly one worker, and jobs must wait safely when the workers are stopped for up to two days of maintenance. What should the API send each job to?

Choose one.

  • a
    An Azure Service Bus queue that the worker pool reads from Correct

    A queue holds each job durably until a worker takes it, and only one competing consumer receives each message, so two days offline is fine.

  • b
    An Azure Event Grid custom topic that pushes to the workers

    Event Grid retries delivery for at most 24 hours (event TTL up to 1,440 minutes), so jobs would be dropped or dead-lettered during a two-day outage.

  • c
    An Azure Event Hubs event hub that the worker pool reads from

    Event Hubs is a partitioned telemetry stream; it has no per-message settlement, so it does not hand each job to exactly one worker the way a queue does.

  • d
    An Azure Event Grid system topic on the API's storage account

    A system topic publishes events raised by an Azure service; the API cannot publish its own jobs to it, and push retries still stop after 24 hours.

The concept

Service Bus queues are the durable work-queue choice: messages wait until a consumer pulls them, and each one goes to a single receiver.

Why that’s the answer

The two requirements are single-consumer processing and storage while consumers are offline for days. A Service Bus queue gives competing consumers (each message to one receiver under peek-lock) and keeps messages until their time-to-live expires. Event Grid is a push router whose retry window ends after 24 hours, so a two-day outage loses events, and a system topic only carries events raised by Azure services. Event Hubs streams telemetry to readers that track offsets rather than settling individual jobs.

How to reason it out
  1. Identify the payload: a job (a command to do work), not a notification that something happened.
  2. Check retention: consumers may be offline for two days, which exceeds Event Grid's 24-hour retry window.
  3. Check delivery: one worker per job means competing consumers on a queue.

Exam tip: Jobs that must wait for a consumer and go to exactly one worker belong in a Service Bus queue; Event Grid stops retrying after 24 hours.

AI-200 Service Bus and Event Grid: Messaging and Event-Driven AI Solutions — the lesson that teaches this.

Question 4Secure, monitor, and troubleshoot Azure solutions

A Python service on Azure Container Apps uses a managed identity that holds Key Vault Secrets User on the vault kv-orders. At startup it must read the current value of the secret openai-api-key, and the code must keep working unchanged after security adds new versions of that secret. Which call should the service make?

Choose one.

  • a
    Call get_secret("openai-api-key", version=v1) with the version ID saved at deployment

    A pinned version keeps returning that one value forever, so the service never sees the versions security adds later.

  • b
    Call list_properties_of_secrets() and read the value from the entry that matches

    Listing returns secret properties only. Values are never included, so there is nothing to read.

  • c
    Call get_secret("openai-api-key") and read the value of the returned secret Correct

    Without a version argument, get_secret returns the latest enabled version, so new versions are picked up with no code change.

  • d
    Call list_properties_of_secret_versions("openai-api-key") and read the newest value

    Version listing also returns properties without values, so the service would still need a get_secret call.

The concept

SecretClient.get_secret(name) returns the latest version of a secret; pass a version only to pin one.

Why that’s the answer

Key Vault keeps every version of a secret. Calling get_secret with just the name returns the current (latest) version, which is what an app that must follow rotation wants. Pinning a version freezes the value, and both list operations return SecretProperties objects that carry metadata but never the secret value.

How to reason it out
  1. The requirement is the current value, even after new versions are added.
  2. get_secret(name) with no version always resolves to the latest version.
  3. List calls return properties only, so they can't supply a value.

Exam tip: To follow rotation, read secrets by name without a version; list calls never return values.

AI-200 Azure Key Vault and App Configuration: Secret Retrieval, Rotation and Dynamic Settings — the lesson that teaches this.

Question 5Develop containerized solutions on Azure

A Standard-tier Azure container registry is reachable from the internet. Security now requires that the registry accept traffic only from workloads in a virtual network named vnet-apps, and that pulls from that network use private IP addresses. What should the developer do? (Select TWO.)

Choose TWO.

  • a
    Add a virtual network rule for vnet-apps on the Standard registry

    Virtual network rules aren't available on Standard, and service endpoints don't give the registry a private IP address.

  • b
    Change the registry's pricing tier to Premium Correct

    Private endpoints and network rules are Premium features, so the tier must change first. Changing tier causes no downtime.

  • c
    Add IP access rules for the private address range of vnet-apps on the registry

    IP access rules are also Premium-only, and they filter public traffic rather than providing a private address.

  • d
    Add a private endpoint in vnet-apps and disable public network access Correct

    A private endpoint gives the registry a private IP in vnet-apps; disabling public access then blocks every other source.

  • e
    Disable the admin user and assign AcrPull to the workload identities

    This tightens authentication but leaves the public endpoint open, so it doesn't meet the network requirement.

The concept

Network isolation of a registry (private endpoints, IP rules, VNet rules) is a Premium-tier capability.

Why that’s the answer

Private connectivity requires a private endpoint, and private endpoints exist only on Premium registries. So the developer upgrades the tier, then adds the private endpoint (with private DNS for privatelink.azurecr.io) and turns off public network access. Rules added to a Standard registry fail because the tier doesn't offer them, and authentication changes don't restrict the network path.

How to reason it out
  1. Separate the network requirement from the identity requirement.
  2. Recall which ACR features are Premium-only: private endpoints, IP and VNet rules, geo-replication.
  3. Upgrade the tier, then add the private endpoint and disable public access.

Exam tip: Private IP pulls from a VNet: Premium tier plus a private endpoint, with public access disabled.

AI-200 Container Hosting: Azure Container Registry, ACR Tasks and App Service Containers — the lesson that teaches this.

The AI-200 question bank, by domain

The bank is built to the exam's own weighting, so the practice you get reflects the marks that are actually on offer — not whichever domain was easiest to write questions for.

Published AI-200 practice questions per exam domain
DomainExam weightTopicsQuestions
Develop containerized solutions on Azure24%296
Develop AI solutions by using Azure data management services28%4112
Connect to and consume Azure services24%296
Secure, monitor, and troubleshoot Azure solutions24%296
Total100%10400

Practise AI-200 one domain at a time

How AI-200 questions are worded

Most AI-200 questions are not asking whether you can recall a definition. They describe a situation and ask which option satisfies it — so the skill being tested is reading the requirement precisely and eliminating options that fail it.

Single-response vs multiple-response

A single-response question has exactly one right answer. A multiple-response question tells you how many to pick ("Choose TWO") and there is no partial credit — getting one of the two right scores nothing. Read that instruction before you read the options.

Read the last line first

The final sentence is the actual question; everything before it is scenario. Read it first, then read the scenario knowing what you are looking for. It stops you from building an answer in your head that the question never asked for.

Hunt for the qualifier

Most scenarios turn on one word — MOST cost-effective, LEAST operational overhead, with the LEAST latency, without changing application code. Two options are frequently both technically correct, and the qualifier is the only thing separating them.

Eliminate, then choose

Distractors are almost always real Microsoft Azure services doing a real job — just not this job. Rule out the ones that break a stated constraint before you compare what's left. On a question you truly don't know, eliminating two options turns a guess into a coin flip.

Practise AI-200 from your browser

The SaveMyCert Chrome extension opens a daily drill of 5 AI-200 questions in the side panel, with the full explanation behind every answer. No account needed.

Get the Chrome extension (opens in a new tab)

Beyond AI-200 practice

AI-200 practice questions: your questions

Yes. You can answer 5 questions a day with no account at all, and a free account raises that to 10 a day across the full 400-question AI-200 bank, with an explanation on every option. Pro removes the daily cap entirely.

Source

Exam structure, domain weights and scoring on this page come from the official AI-200 exam guide.