Cisco Certified DevNet Professional (DEVCOR)

Question bank

Cisco logo

Cisco Certified DevNet Professional (DEVCOR)

350-901

40 Cisco Certified DevNet Professional (DEVCOR) questions with the correct answer and a written explanation, organised across 5 exam domains.

40 questions
5 domains
Foundation level

Question index

Jump straight to any question. Answers and explanations are inline.

Application Deployment and Security

8 questions in this domain

  1. Question 1Single Choice

    In Python development, which tool is used to create an isolated environment for managing project-specific dependencies?

    • AvenvCorrect answer
    • Bpip
    • Csetuptools
    • Deasy_install

    Why this is the answer

    The venv module creates isolated Python environments, preventing global package pollution and version conflicts across automation projects.

  2. Question 2Multiple Select

    Which of the following files are commonly used in Python projects to manage dependencies, lock versions, and define packaging metadata?

    • ADockerfile
    • Brequirements.txtCorrect answer
    • Cpyproject.tomlCorrect answer
    • Dpoetry.lockCorrect answer

    Why this is the answer

    These files track dependencies, metadata, and locked versions. A Dockerfile packages containers, not Python dependencies.

  3. Question 3Interactive

    What is the immediate outcome of executing the Python command shown in the provided code block?

    • ACreates a virtual environment named devnet-envCorrect answer
    • BInstalls all project dependencies
    • CFreezes packages into a requirements file
    • DActivates an existing virtual environment

    Why this is the answer

    The python -m venv command creates a new virtual environment directory, isolating dependencies for a project. This is the first step in managing dependencies safely.

  4. Question 4Single Choice

    According to PEP 518 and PEP 621, which file standardizes build system requirements and project metadata in modern Python projects?

    • Apyproject.tomlCorrect answer
    • Bsetup.py
    • Crequirements.txt
    • DPipfile

    Why this is the answer

    pyproject.toml is the modern standard for build systems and metadata, replacing legacy setup.py in modern Python projects.

  5. Question 5Multiple Select

    Which of the following are common secrets management traps that application developers should avoid in production environments?

    • AAssuming Base64 encoding is encryptionCorrect answer
    • BHardcoding fallback credentials in source codeCorrect answer
    • CRotating secrets dynamically
    • DUsing AppRole authentication

    Why this is the answer

    Base64 is not encryption, and fallback credentials create backdoors. Dynamic rotation and AppRole authentication are secure practices.

  6. Question 6Interactive

    What is the effect of the flag used in the pip install command displayed in the code block?

    • AInstalls the package in editable modeCorrect answer
    • BUpgrades the package to the latest version
    • CExports dependencies to a file
    • DInstalls the package globally

    Why this is the answer

    The -e flag installs the package in editable mode, so source changes are immediately reflected without reinstalling.

  7. Question 7Single Choice

    In a Kubernetes cluster, what is the smallest deployable computing unit that can be created and managed?

    • APodCorrect answer
    • BDeployment
    • CNode
    • DService

    Why this is the answer

    A Pod is the smallest deployable Kubernetes unit and can contain one or more tightly coupled containers.

  8. Question 8Multiple Select

    Which Kubernetes workload resources are used to manage the lifecycle of containerized applications in a cluster?

    • ADeploymentCorrect answer
    • BStatefulSetCorrect answer
    • CDaemonSetCorrect answer
    • DIngress

    Why this is the answer

    Deployments, StatefulSets, and DaemonSets manage application workloads; Ingress controls external HTTP traffic. These resources are central to Kubernetes orchestration.

Cisco Platforms and Development

8 questions in this domain

  1. Question 9Single Choice

    What DevNet resource is the central hub for accessing learning labs, code exchanges, sandboxes, and platform-specific developer centers?

    • ADevNet Developer PortalCorrect answer
    • BCisco DNA Center GUI
    • CMeraki Dashboard
    • DvManage /developers page

    Why this is the answer

    The DevNet Developer Portal is the central hub that provides access to learning labs, code exchanges, sandboxes, and platform-specific developer centers.

  2. Question 10Multiple Select

    Which statements correctly describe Always-On sandboxes? Select all that apply.

    • AAvailable instantly and 24/7Correct answer
    • BShared state that resets frequentlyCorrect answer
    • CDedicated isolated topology with full administrative control
    • DRead-only or restricted read-write accessCorrect answer

    Why this is the answer

    Always-On sandboxes are shared public resources with instant access, frequent resets, and restricted access. Full administrative control applies to Reserved Sandboxes.

  3. Question 11Interactive

    Refer to the code snippet. Which authentication mechanism is required by the Meraki Dashboard API call?

    • AAPI key in the X-Cisco-Meraki-API-Key headerCorrect answer
    • BHTTP Basic Authentication
    • COAuth 2.0 bearer token in Authorization header
    • DAPI key as a query parameter

    Why this is the answer

    The Meraki Dashboard API requires an API key sent in the X-Cisco-Meraki-API-Key header, not as Basic Auth or a query parameter.

  4. Question 12Single Choice

    Which HTTP method should be used to create a new resource through the Meraki Dashboard API?

    • AGET
    • BPOSTCorrect answer
    • CPUT
    • DDELETE

    Why this is the answer

    Creating new Meraki resources uses POST. GET retrieves data, PUT updates, and DELETE removes resources.

  5. Question 13Multiple Select

    Which statements about Meraki Dashboard API rate limiting are correct? Select all that apply.

    • ALimits are typically 5 requests per second per organizationCorrect answer
    • BA 429 response should be retried immediately
    • CRotating API keys removes all rate limits
    • DAutomation should implement exponential backoffCorrect answer

    Why this is the answer

    Meraki enforces around 5 requests per second per organization. Clients should handle 429 responses with exponential backoff rather than immediate retries.

  6. Question 14Interactive

    Refer to the code snippet. What operation is being performed with the Webex API?

    • ACreates a Webex roomCorrect answer
    • BDeletes a Webex room
    • CAdds a membership
    • DSends a message

    Why this is the answer

    The code uses rooms.create to create a new Webex room and prints the room ID.

  7. Question 15Single Choice

    Which header should be validated to verify the authenticity of an incoming Webex webhook payload?

    • AX-Spark-SignatureCorrect answer
    • BX-Cisco-Meraki-API-Key
    • CX-Auth-Token
    • DAuthorization: Basic

    Why this is the answer

    Webex webhooks include the X-Spark-Signature header, which must be validated to prevent forged requests.

  8. Question 16Multiple Select

    Which statements about Cisco Webex bots are correct? Select all that apply.

    • ABots require a dedicated bot account and unique access tokenCorrect answer
    • BProduction bots should use a personal access token
    • CWebhook signature validation should be implementedCorrect answer
    • DEfficient bots poll endpoints instead of using webhooks

    Why this is the answer

    Webex bots need dedicated accounts and tokens, and webhooks should be signature-validated. Personal access tokens and polling are not recommended for production bots.

Infrastructure and Automation

8 questions in this domain

  1. Question 17Single Choice

    In Cisco model-driven programmability, which statement correctly describes the role of YANG?

    • AA data modeling language that defines configuration and operational data structure.Correct answer
    • BA transport protocol that streams telemetry over HTTP/2.
    • CA scripting language for automating Cisco IOS CLI commands.
    • DA network management protocol that replaces SNMP.

    Why this is the answer

    YANG is the schema language used to model configuration and operational data for NETCONF and RESTCONF. It does not transport, script, or replace management protocols.

  2. Question 18Multiple Select

    Which two statements correctly describe NETCONF characteristics?

    • AIt runs over SSH on TCP port 830.Correct answer
    • BIt requires XML as its data encoding.Correct answer
    • CIt natively supports JSON payloads.
    • DIt is a stateless, resource-oriented protocol.

    Why this is the answer

    NETCONF is a stateful, session-based protocol over SSH port 830 and mandates XML encoding. JSON is not native to NETCONF; RESTCONF supports JSON.

  3. Question 19Interactive

    Based on the provided command snippet, which protocol is being invoked to query the device?

    • ARESTCONFCorrect answer
    • BNETCONF
    • CSNMP
    • DgRPC

    Why this is the answer

    The URL path contains /restconf and uses HTTPS plus a YANG data format, so the command invokes RESTCONF.

  4. Question 20Single Choice

    On which standard transport and port does RESTCONF typically communicate with Cisco devices?

    • AHTTP/HTTPS over TCP port 443Correct answer
    • BSSH over TCP port 830
    • CgRPC over HTTP/2
    • DUDP over port 161

    Why this is the answer

    RESTCONF uses HTTP or HTTPS, typically TCP port 443, and supports both JSON and XML payloads.

  5. Question 21Multiple Select

    Which two statements about NETCONF datastores are correct?

    • AThe candidate datastore allows configuration changes to be staged before commit.Correct answer
    • BThe startup datastore holds the configuration that will be applied when the device boots.Correct answer
    • CThe operational datastore is directly writable through NETCONF.
    • DThe running datastore cannot be changed after initial startup.

    Why this is the answer

    NETCONF explicitly supports running, candidate, and startup datastores. Candidate staging and startup boot-time configuration are key features, while operational state is not writable.

  6. Question 22Interactive

    What is the purpose of the connection: network_cli directive in the provided Ansible playbook snippet?

    • AIt selects the network connection plugin used to reach managed switches.Correct answer
    • BIt installs an agent on the target Cisco device.
    • CIt encrypts sensitive variables inside the playbook.
    • DIt sets the Python interpreter path on the control node.

    Why this is the answer

    network_cli is an Ansible connection plugin for network devices. It allows Ansible to communicate over SSH without requiring an agent on the device.

  7. Question 23Single Choice

    In Ansible network automation, what does idempotency guarantee?

    • ARepeated runs converge to the same desired state without unnecessary changes.Correct answer
    • BEvery run forces a complete device reboot.
    • COnly the first task in each playbook is executed.
    • DThe playbook generates a random configuration on each run.

    Why this is the answer

    Idempotency means rerunning a playbook does not produce redundant modifications; it brings the system to the desired state and leaves it there.

  8. Question 24Multiple Select

    Which two types of reusable content can be packaged inside an Ansible collection?

    • AModulesCorrect answer
    • BRolesCorrect answer
    • CYANG containers
    • DNETCONF datastores

    Why this is the answer

    Ansible collections package automation content such as modules, roles, playbooks, and plugins. YANG containers and NETCONF datastores are protocol or data modeling concepts, not collection components.

Software Development and Design

8 questions in this domain

  1. Question 25Single Choice

    What best describes a monolithic application architecture?

    • AAll business logic, data access, and user interface layers are combined into a single deployable unit.Correct answer
    • BThe application is broken into independently deployable, loosely coupled services.
    • CEach service owns its own private database and communicates through message brokers.
    • DThe application is made up of multiple containers orchestrated by Kubernetes.

    Why this is the answer

    A monolithic architecture couples all business logic, data access, and user interface layers into one unified codebase and deployable artifact.

  2. Question 26Multiple Select

    Which two statements are characteristics of microservices architectures?

    • AServices are independently deployable and loosely coupled.Correct answer
    • BA failure in one microservice usually brings down the entire application.
    • CServices communicate over lightweight protocols such as HTTP/REST or asynchronous messaging brokers.Correct answer
    • DAll microservices must share one centralized database to keep data consistent.

    Why this is the answer

    Microservices are independently deployable, loosely coupled services that communicate over lightweight protocols. Sharing a single database recreates monolithic coupling and is an anti-pattern.

  3. Question 27Interactive

    The structure shown in the code block is written in which data serialization format?

    • AJSON
    • BYAMLCorrect answer
    • CXML
    • DgRPC

    Why this is the answer

    YAML uses indentation-based structure to define hierarchical data, as shown by the indented list of employees.

  4. Question 28Single Choice

    What is idempotency in API design?

    • AMaking multiple identical requests produces the same result as a single request.Correct answer
    • BEach request can produce a different state depending on network conditions.
    • CThe API returns cached responses without processing the request.
    • DThe server stores session state to guarantee consistency.

    Why this is the answer

    Idempotency ensures repeated identical requests produce the same result as a single request, preventing duplicate resources or conflicting state changes.

  5. Question 29Multiple Select

    Which two patterns are explicitly associated with preventing cascading failures or overload when integrating with downstream APIs?

    • ACircuit BreakersCorrect answer
    • BExponential Backoff with jitterCorrect answer
    • CSynchronous polling
    • DShared database anti-pattern

    Why this is the answer

    Circuit breakers isolate failing services, and exponential backoff with jitter prevents retry storms against downstream APIs.

  6. Question 30Interactive

    The code block illustrates the central behavior of which distributed design pattern?

    • ACircuit BreakerCorrect answer
    • BLoad Balancer
    • CDatabase sharding
    • DREST API gateway

    Why this is the answer

    The code detects repeated failures, opens a circuit, and returns a fallback response, which is the core behavior of a circuit breaker.

  7. Question 31Single Choice

    What does horizontal scaling mean?

    • AAdding more instances or containers behind a load balancer to distribute demand.Correct answer
    • BIncreasing the CPU and memory of a single server.
    • CMoving the application to a larger virtual machine.
    • DReplacing synchronous API calls with asynchronous messages.

    Why this is the answer

    Horizontal scaling adds more instances behind a load balancer, while vertical scaling increases the resources of a single node.

  8. Question 32Multiple Select

    Which two Kubernetes probe types are mentioned in the playbook?

    • ALiveness probesCorrect answer
    • BReadiness probesCorrect answer
    • CStartup probes
    • DCircuit probes

    Why this is the answer

    The playbook explains that liveness probes restart dead containers, while readiness probes ensure traffic is only routed to ready instances.

Understanding and Using APIs

8 questions in this domain

  1. Question 33Single Choice

    Which HTTP method is classified as non-idempotent in RESTful API design?

    • AGET
    • BPOSTCorrect answer
    • CPUT
    • DDELETE

    Why this is the answer

    POST is non-idempotent because repeated identical requests can create multiple resources. GET, PUT, and DELETE remain idempotent.

  2. Question 34Multiple Select

    Which statements about HTTP status code classes are correct? (Choose two)

    • A2xx codes indicate successful request handling.Correct answer
    • B3xx codes indicate internal server failures.
    • C4xx codes generally indicate client-side errors.Correct answer
    • D5xx codes require the client to change the payload before retrying.

    Why this is the answer

    2xx indicates success, 4xx indicates client errors, 5xx indicates server errors. 3xx is redirection, not a server failure.

  3. Question 35Interactive

    Analyze the following Python script that calls a Cisco API. What is the most likely cause of the failure?

    • AThe payload is incorrectly sent as query parameters; use json=payload.Correct answer
    • BThe Authorization header should be omitted.
    • CPOST cannot be used with headers.
    • DThe device name should be in the URL path.

    Why this is the answer

    Using params= sends the payload in the query string. The API expects a JSON body, so the request should use json=payload.

  4. Question 36Single Choice

    Which authentication mechanism uses a Base64-encoded username and password in the Authorization header?

    • AOAuth 2.0 Bearer Token
    • BHTTP Basic AuthenticationCorrect answer
    • CAPI Key
    • DMutual TLS

    Why this is the answer

    HTTP Basic Authentication encodes username and password with Base64 and places the result in the Authorization header using the Basic scheme.

  5. Question 37Multiple Select

    Which HTTP methods are considered idempotent? (Choose three)

    • AGETCorrect answer
    • BPOST
    • CPUTCorrect answer
    • DDELETECorrect answer

    Why this is the answer

    GET, PUT, and DELETE are idempotent. POST is non-idempotent because repeated calls can create multiple resources.

  6. Question 38Interactive

    Given the following JSON response object, which Python expression extracts the task ID?

    • Aresponse['response']['taskId']Correct answer
    • Bresponse['taskId']
    • Cresponse['response']['id']
    • Dresponse.taskId

    Why this is the answer

    The JSON hierarchy nests taskId under response. The expression response['response']['taskId'] reaches the correct value.

  7. Question 39Single Choice

    Which HTTP header should be sent to indicate that a client wants a JSON response?

    • AAuthorization
    • BAcceptCorrect answer
    • CContent-Type
    • DRetry-After

    Why this is the answer

    The Accept header declares the desired response media type. Content-Type describes the request body format.

  8. Question 40Multiple Select

    Which two statements about webhooks are true?

    • AWebhooks send HTTP POST payloads to consumer endpoints when events occur.Correct answer
    • BWebhooks use HTTP GET to continuously poll for changes.
    • CWebhook receivers should validate signatures or secret tokens.Correct answer
    • DWebhook processing is synchronous and blocks the event source.

    Why this is the answer

    Webhooks are asynchronous push callbacks using HTTP POST. Receivers should verify signatures to prevent spoofed or malicious requests.

Frequently asked questions

Everything about the Cisco Certified DevNet Professional (DEVCOR) question bank and how to use it.