Text preview & study summary
Cisco CCNP DevNet DEVCOR 350-901 and DevNet Associate 200-901 - All Domains APIs Automation Infrastructure
A free sample of 5 questions from this quiz, shown in full with answer choices and explanations. No interactivity — everything is visible on this page for study and review.
Want to test your knowledge? Launch the Interactive Exam Simulator
Question 1
A DevOps engineer is containerizing a Python Flask microservice. The service needs to maintain state between container restarts. Which Docker/container approach achieves this?
Explanation
Container filesystems are ephemeral — any data written inside a container is lost when the container stops or is replaced. Docker volumes (managed by Docker daemon) or bind mounts (map host filesystem paths into the container) persist data outside the container lifecycle. This is the standard approach for stateful applications (databases, file uploads, logs). Environment variables store configuration, not application state. Memory allocation doesn't address persistence. Multi-stage builds reduce image size; build stages don't share runtime state.
Question 2
What is the key difference between NETCONF and RESTCONF?
Explanation
NETCONF (RFC 6241): Uses XML encoding, runs over SSH (port 830), supports YANG models, has RPC-based operations (get-config, edit-config, commit), and supports candidate/running/startup datastores with two-phase commit. RESTCONF (RFC 8040): Uses JSON or XML, runs over HTTPS (port 443), maps YANG models to REST resources with HTTP methods, but has a limited datastore model (only supports running, not candidate directly). Both use YANG data models. NETCONF actually has richer datastore support. RESTCONF supports GET, PUT, POST, PATCH, DELETE.
Question 3
What does the HTTP status code `201 Created` indicate in a REST API response?
Explanation
HTTP status codes: 200 OK (success), 201 Created (resource successfully created via POST/PUT), 204 No Content (success with no body), 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests, 500 Internal Server Error. In REST APIs, POST operations that create resources typically return 201 with the Location header pointing to the new resource, or the new resource in the response body. 202 Accepted means the request was accepted but processing is asynchronous.
Question 4
An engineer needs to create a new tenant in Cisco ACI using Python. The script should use the APIC REST API. Which authentication flow should be used?
Explanation
Cisco APIC REST API authentication: POST to `/api/aaaLogin.json` (or `.xml`) with JSON body containing `aaaUser` credentials. The response includes an authentication cookie (`APIC-cookie`) that must be included in all subsequent requests. The Cisco acitoolkit and Cobra SDK handle this automatically. APIC does not use OAuth2 for its native API. There's no X-API-Key mechanism. SAML 2.0 is supported for SSO but not for programmatic API access.
Question 5
A developer is using the Cisco Meraki Dashboard API. The API uses rate limiting at 5 requests/second. A script needs to retrieve data for 200 networks. Which pattern prevents hitting rate limits?
Explanation
When an API returns HTTP 429 (Too Many Requests), the client should back off: wait, then retry. Exponential backoff increases the wait time with each retry (1s, 2s, 4s, 8s...) to reduce load. For the 200-network case, spacing requests with `time.sleep(0.2)` between calls stays within the 5/sec limit. Multithreading would amplify the rate limit violation. Pagination handles large result sets but doesn't help when each network requires a separate call. Token caching improves authentication but doesn't affect per-endpoint rate limits.
