Cisco · Free Practice Questions · Last reviewed May 2026
36real exam-style questions organised by domain, each with the correct answer highlighted and a plain-English explanation of why it's right — and why the others are wrong.
15% of exam · 6 sample questions below
A developer creates a Dockerfile for a Python web application. Which instruction should be used to copy the application source code into the container image?
CMD
COPY
COPY is the correct instruction to copy files into the image.
RUN
EXPOSE
A Docker container needs to be started in detached mode with port mapping from host port 8080 to container port 80. Which command accomplishes this?
docker start -d -p 8080:80 myapp
docker run -d -p 8080:80 myapp
Correct detached mode and port mapping.
docker run -it -p 8080:80 myapp
docker run -d -p 80:8080 myapp
In a docker-compose.yaml file, which key is used to define the container image to be built from a Dockerfile in the current directory?
dockerfile
image
context
build
'build' specifies the build context for creating an image.
A company deploys a microservice using Kubernetes. The service must be accessible externally via a stable IP address and load-balanced across pods. Which Service type should be used?
NodePort
ClusterIP
LoadBalancer
LoadBalancer provides an external IP and load balancing.
ExternalName
A CI/CD pipeline has a stage that runs security vulnerability scans on dependencies. Which tool is specifically designed to scan Python packages for known vulnerabilities?
pip audit
pip audit scans Python packages for vulnerabilities.
Snyk
Dependabot
npm audit
A developer is writing a Dockerfile for a Node.js application. They want to set a build-time variable for the application version that can be changed without modifying the Dockerfile. Which instruction should be used?
RUN
ARG
ARG defines build-time variables that can be overridden.
ENV
CMD
Want more Application Deployment and Security practice?
Practice this domain15% of exam · 6 sample questions below
A developer writes a Python script to read a configuration file. Which code snippet correctly opens the file 'config.json' for reading and ensures the file is closed after use?
with open('config.json', 'r') as f:\n data = f.read()
Using with ensures proper acquisition and release of resources.
open('config.json', 'r') as f:\n data = f.read()
with open('config.json', 'r') as f, data = f.read()
file = open('config.json', 'r')\ndata = file.read()\nfile.close()
A network automation script uses the requests library to retrieve device information from a REST API. The API requires authentication via a bearer token. Which code example correctly sets the Authorization header?
headers = {'Authorization': 'Token ' + token}\nresponse = requests.get(url, headers=headers)
response = requests.get(url, headers={'Authorization': token})
headers = {'Authorization': 'Bearer ' + token}\nresponse = requests.get(url, headers=headers)
Correct usage of Bearer token authentication.
response = requests.get(url, auth=('Bearer', token))
A developer is using Git for version control. After creating a new feature branch 'feature-login' from 'main', they make several commits. Meanwhile, another developer has merged changes into 'main'. The developer wants to incorporate the latest main changes into 'feature-login' without creating a merge commit. Which Git command should they use?
git rebase main
git merge main
git pull --rebase origin main
This fetches and rebases the current branch onto main, incorporating changes without a merge commit.
git checkout main && git pull && git checkout feature-login && git merge main
Which HTTP status code indicates that a POST request successfully created a new resource?
204 No Content
301 Moved Permanently
201 Created
Correct: 201 Created indicates successful resource creation.
200 OK
In Python, which data type is used to represent an unordered collection of unique elements?
set
Set is unordered and contains only unique elements.
tuple
list
dict
A Python function needs to accept a variable number of keyword arguments. Which parameter syntax should be used?
*kwargs
**kwargs
**kwargs collects keyword arguments into a dict.
*args
&kwargs
Want more Software Development and Design practice?
Practice this domain20% of exam · 6 sample questions below
What HTTP method should be used to update only the description field of a network device resource via a REST API?
DELETE
PUT
POST
PATCH
PATCH is designed for partial updates to a resource.
A developer is building a script to retrieve a list of network devices from Cisco DNA Center. The API response includes a 'nextToken' field in the body to indicate more results. What pagination method is being used?
Cursor-based pagination
A token like 'nextToken' indicates cursor-based pagination.
Page-based pagination
Offset/Limit pagination
Link header pagination
Which HTTP header is used to specify the format of the request body (e.g., application/json) when sending a POST request to a REST API?
Accept
Content-Type
Content-Type specifies the media type of the request body.
Authorization
X-Requested-With
A developer is using the Meraki Dashboard API and receives a 429 Too Many Requests error. The API documentation states a rate limit of 5 calls per second. What is the best practice to handle this?
Ignore the error and retry immediately.
Use a different API key to bypass the limit.
Increase the number of concurrent requests to exhaust the rate limit quickly.
Implement exponential backoff and honor the Retry-After header.
Exponential backoff with retry headers is the standard rate-limiting handling technique.
Which OAuth 2.0 grant type is most appropriate for a server-to-server integration where no user interaction is required, such as a backend service calling Cisco API?
Authorization code grant
Password grant
Device code grant
Client credentials grant
Allows a client to act on its own behalf without user involvement.
A developer wants to use Postman to test a REST API that requires a Bearer token. Where should the token be placed in the request?
In the Authorization header
Bearer tokens are sent in the Authorization header.
As a query parameter
In a custom header like X-Auth-Token
In the request body
Want more Understanding and Using APIs practice?
Practice this domain15% of exam · 6 sample questions below
A developer needs to retrieve a list of all network devices from Cisco DNA Center. Which API endpoint and HTTP method should be used?
POST /dna/intent/api/v1/issues
POST /dna/system/api/v1/auth/token
GET /dna/intent/api/v1/network-device
The `GET /dna/intent/api/v1/network-device` endpoint retrieves all network devices from Cisco DNA Center, satisfying the stem’s requirement to “retrieve a list” by using the HTTP GET method, which is idempotent and safe for read-only operations. This contrasts with POST, which would create a new resource, and DELETE, which would remove devices. The path’s `/network-device` resource collection directly maps to the requested data set.
GET /dna/intent/api/v1/topology/l2/{vlanID}
An application uses the Meraki Dashboard API to fetch the list of networks for an organization. The API response includes a Link header with rel='next' pointing to the next page. Which pagination method is the API using?
Cursor-based pagination using startingAfter/endingBefore parameters
Offset-based pagination using page and perPage parameters
LinkHeader-based pagination
Correct. Meraki uses LinkHeader-based pagination where the next page URL is provided in the Link header.
Token-based pagination using a nextPageToken parameter
A developer wants to send a message to a specific room in Webex using the API. The developer already has the room ID. Which API call is correct?
POST /v1/messages with body { 'roomId': 'Y2lzY29zcGFyazovL3VzL1JPT00v...', 'text': 'Hello' }
Correct. This sends a message to the specified room.
PUT /v1/messages with body { 'roomId': '...', 'text': 'Hello' }
POST /v1/rooms with body { 'title': 'New Room' }
GET /v1/messages with query parameter roomId='...'
A network engineer is using Cisco IOS XE RESTCONF to retrieve the hostname of a device. The YANG module used is 'Cisco-IOS-XE-native'. Which URL path is correct?
GET /restconf/data/Cisco-IOS-XE-native:native/hostname
Correct. This retrieves the hostname using the native model.
GET /restconf/data/Cisco-IOS-XE-native:hostname
GET /restconf/api/data/Cisco-IOS-XE-native:native/hostname
GET /restconf/operational/Cisco-IOS-XE-native:native/hostname
When using the Meraki Dashboard API, what HTTP header is used to pass the API key?
API-Key: <key>
X-Cisco-Meraki-API-Key: <key>
Correct. This is the required header.
Authorization: Bearer <key>
Meraki-API-Key: <key>
A developer is automating network configuration using Cisco DNA Center. They want to deploy a configuration template to multiple devices. Which API category should they use?
Change your network
Correct. Template deployment, plug and play are part of 'change your network'.
Platform
Run your network
Know your network
Want more Cisco Platforms and Development practice?
Practice this domain15% of exam · 6 sample questions below
In the OSI model, which layer is responsible for logical addressing and routing of packets between networks?
Layer 1 (Physical)
Layer 3 (Network)
Correct. Layer 3 uses IP addresses and routers.
Layer 4 (Transport)
Layer 2 (Data Link)
Which transport protocol is connection-oriented and ensures reliable delivery through acknowledgments and retransmissions?
IP
HTTP
TCP
Correct. TCP uses three-way handshake and retransmission.
UDP
A DNS AAAA record is used to resolve a hostname to what type of address?
Mail exchange server
IPv4 address
Canonical name alias
IPv6 address
Correct. AAAA stands for quad-A and maps to IPv6.
A network engineer is designing a subnet that needs to support 30 usable hosts. Which subnet mask should be used?
255.255.255.240 (/28)
255.255.255.0 (/24)
255.255.255.224 (/27)
Correct. /27 provides 32 addresses, 30 usable.
255.255.255.192 (/26)
Which HTTP method is idempotent and used to update a resource by sending the full representation?
PUT
Correct. PUT is idempotent and updates the entire resource.
DELETE
POST
GET
In the context of SDN, which API is used between the SDN controller and the network devices to configure forwarding behavior?
Northbound API
Eastbound API
Southbound API
Correct. Southbound APIs communicate with network devices.
REST API
Want more Network Fundamentals practice?
Practice this domain20% of exam · 6 sample questions below
An engineer needs to automate the deployment of a new VLAN across multiple switches. Which tool is best suited for this task?
NetFlow
Syslog
Ansible
Ansible is designed for configuration management and automation.
SNMP
A DevOps team wants to version control their network configurations. Which tool should they use?
Puppet
Jenkins
Git
Git is the standard for version control.
Docker
During an automation script run, a network device returns HTTP 429. What does this indicate?
Internal server error
Rate limiting
429 means rate limit exceeded.
Authentication failure
Resource not found
A network automation engineer is writing a Python script to configure multiple devices. Which library is most appropriate for SSH-based interactions?
requests
socket
Netmiko
Netmiko is the standard library for network device SSH automation.
paramiko
In a CI/CD pipeline for network changes, which practice best ensures that a configuration push does not disrupt production traffic?
Disable rollback
Canary deployment
Canary deployment limits blast radius.
Push all changes at once
Skip validation
An engineer uses Ansible to push a configuration change to 100 switches. The playbook fails on 5 switches. What is the most efficient way to apply the change only to those 5?
Use Ansible's --limit with the retry file
This targets only the failed hosts.
Use --skip-tags on successful hosts
Re-run the playbook on all switches
Manually configure the 5 switches
Want more Infrastructure and Automation practice?
Practice this domainThe 200-901 exam has 95 questions and must be completed in 120 minutes. Cisco passing scores vary by exam version and are not always publicly listed. Check the official Cisco exam page before booking.
CLI output interpretation, network topology analysis, routing behaviour, switching concepts, troubleshooting, and configuration questions.
The exam covers 6 domains: Application Deployment and Security, Software Development and Design, Understanding and Using APIs, Cisco Platforms and Development, Network Fundamentals, Infrastructure and Automation. Questions are weighted by domain — higher-weight domains appear more on your actual exam.
No. These are original exam-style practice questions written against the official Cisco 200-901 exam objectives. They are not copied from the real exam. Courseiva focuses on genuine understanding, not memorisation of braindumps.
Courseiva tracks your accuracy per domain and routes you toward weak areas automatically. Free, no account required.