View Full Cisco CCNP Automation 350-901 Exam Dumps and Practice Test Dumps.
Q1. A Python application consumes a REST API that limits clients to 100 requests per minute. The API returns HTTP 429 when the limit is exceeded. What should the application do?
- Immediately repeat requests in a tight loop
2. Respect rate-limit information and retry after an appropriate delay
3. Treat HTTP 429 as a successful response
4. Disable error handling
Correct Answer: 2. Respect rate-limit information and retry after an appropriate delay
Explanation: HTTP 429 indicates that the client has exceeded an API’s permitted request rate. Robust consumer code should detect this status and delay subsequent requests according to the API’s documented rate-limit behavior, including a Retry-After header when provided. Exponential backoff can also be useful when explicit timing information is unavailable. Repeated immediate requests can worsen throttling and create unnecessary load. The application should also place an upper bound on retries and report persistent failures appropriately. Handling API rate limits and timeouts is explicitly included in the current DEVCOR Using APIs domain.
Q2. A development team needs a database for highly connected data in which relationships between users, devices, applications, and locations are frequently traversed. Which database type is most appropriate?
- Time-series database
2. Columnar database
3. Key-value cache only
4. Graph database
Correct Answer: 4. Graph database
Explanation: Graph databases are designed around entities and the relationships connecting them. They are particularly useful when application queries frequently traverse relationships, such as determining which users access which devices, which applications depend on other services, or how objects are connected through multiple hops. Relational databases can model relationships but may require complex joins for highly connected datasets. Time-series databases specialize in timestamped observations, while columnar stores are optimized for particular analytical workloads. The current DEVCOR blueprint expects candidates to evaluate relational, document, graph, columnar, and time-series databases according to application requirements.
Q3. A developer needs to undo a specific Git commit that has already been pushed to a shared repository without rewriting project history. Which Git command should be used?
- git revert
2. git reset –hard
3. git checkout — .
4. git init
Correct Answer: 1. git revert
Explanation: git revert creates a new commit that reverses the changes introduced by a previous commit. This makes it appropriate for shared repositories because existing commit history remains intact and collaborators do not need to reconcile rewritten history. git reset –hard moves a branch pointer and changes the local working state; using it to rewrite already shared history can disrupt other developers. git checkout — . affects working files rather than safely reversing a published commit. Advanced Git operations including merge, conflict resolution, reset, checkout, and revert are explicitly included in the DEVCOR blueprint.
Q4. A web service must continue serving clients if one application instance fails. Which design provides the strongest improvement in availability?
- Deploy one larger application server
2. Disable health checks to reduce traffic
3. Run multiple application instances behind a load balancer with health monitoring
4. Store all application state only in local memory on one instance
Correct Answer: 3. Run multiple application instances behind a load balancer with health monitoring
Explanation: Multiple application instances remove the dependency on a single process or host, while a load balancer distributes requests and avoids unhealthy instances based on health monitoring. For effective resiliency, shared or persistent state should also be externalized so a client can be served by another instance when one fails. A single larger server remains a single point of failure. Disabling health monitoring can direct clients to failed instances. The DEVCOR software design domain expects candidates to evaluate applications for high availability and resiliency across on-premises, hybrid, and cloud environments.
Q5. An application retrieves a resource through an HTTP API. The server returns a strong ETag. How can the client reduce unnecessary data transfer on later requests?
- Always request the full object again
2. Replace GET with POST
3. Disable caching headers
4. Send a conditional request using the ETag value
Correct Answer: 4. Send a conditional request using the ETag value
Explanation: ETags allow HTTP clients to make conditional requests and avoid downloading unchanged content. The client can store the ETag returned with the previous representation and later send it with an If-None-Match header. If the resource has not changed, the server can respond with HTTP 304 Not Modified rather than returning the entire representation again. This reduces bandwidth consumption and API-processing overhead. Replacing GET with POST is not an appropriate caching strategy. HTTP cache controls and ways to optimize API usage are specifically included in the current DEVCOR API objectives.
Q6. A REST API returns only 50 objects per response and includes a link to the next result page. What should a consumer application do to obtain every object?
- Assume the first 50 results represent the complete dataset
2. Follow the API’s pagination mechanism until no additional page remains
3. Repeat the first request indefinitely
4. Increase the HTTP timeout and ignore pagination
Correct Answer: 2. Follow the API’s pagination mechanism until no additional page remains
Explanation: APIs commonly paginate large result sets to protect server performance and limit response size. Consumer code must process the current page and follow the documented continuation mechanism, which might use page numbers, cursors, tokens, offsets, or links. The workflow should stop only when the API indicates that no additional results remain. Failing to process pagination can silently produce incomplete data and incorrect automation decisions. The current DEVCOR blueprint explicitly requires candidates to construct applications that consume REST APIs supporting pagination.
Q7. Which architectural pattern is most appropriate when independently deployable business capabilities must scale separately and communicate through well-defined interfaces?
- Microservices architecture
2. One tightly coupled monolithic executable only
3. Single shared global state without APIs
4. Client-side application with no backend services
Correct Answer: 1. Microservices architecture
Explanation: Microservices separate an application into smaller independently deployable services aligned to distinct capabilities. Each service can be scaled, updated, and operated separately, provided interfaces and data ownership are designed carefully. The architecture can improve modularity and deployment flexibility but introduces complexity around networking, observability, data consistency, service discovery, and failure handling. A monolith can be appropriate for simpler applications but does not inherently provide independent service deployment. DEVCOR expects candidates to understand monolithic, service-oriented, microservices, and event-driven architecture patterns.
Q8. A developer is documenting how a client, API gateway, application service, and database interact during a login request. Which diagram best shows messages exchanged over time between these components?
- Pie chart
2. Entity inventory
3. Sequence diagram
4. VLAN table
Correct Answer: 3. Sequence diagram
Explanation: A sequence diagram represents participants and the order in which messages pass among them over time. It is well suited to application and API design because developers can show a client request, API gateway validation, backend service calls, database queries, and responses in chronological order. Sequence diagrams help teams identify dependencies, failure points, and expected control flow before implementation. They can also make API interactions easier to discuss across development and operations teams. Constructing a sequence diagram that includes API calls is explicitly listed in the current DEVCOR exam topics.
Q9. During the OAuth 2.0 authorization code flow, what does the client application receive after the resource owner approves access and the authorization server redirects the browser back to the client?
- The user’s permanent password
2. An authorization code that can be exchanged for tokens
3. The API server’s private key
4. An unlimited administrator token
Correct Answer: 2. An authorization code that can be exchanged for tokens
Explanation: In the three-legged OAuth authorization code flow, the user authenticates to the authorization server and approves the requested permissions. The authorization server then redirects the user agent back to the client application with an authorization code. The client exchanges this short-lived code at the token endpoint for an access token and, depending on the design, possibly a refresh token. The client should not receive the user’s password. DEVCOR explicitly requires knowledge of the OAuth 2.0 three-legged authorization code grant flow as part of the Using APIs domain.
Q10. A backend application records request latency, errors, dependency calls, and trace identifiers so operators can understand why a transaction failed across several services. Which design quality is primarily being improved?
- Observability
2. Database normalization only
3. Source-code compression
4. Packet fragmentation
Correct Answer: 1. Observability
Explanation: Observability is the ability to understand a system’s internal state from the telemetry it produces. Logs, metrics, traces, correlation IDs, and contextual application events help operators determine what happened across distributed services and why. Good observability is especially important in microservice environments where one user request can cross many application components. It supports troubleshooting, performance tuning, incident response, and reliability engineering. Merely collecting large volumes of unrelated logs is not enough; telemetry should be designed so it answers operational questions. Application observability is an explicit DEVCOR software design objective.
Q11. A Cisco Webex integration needs to post a message automatically into a collaboration space when an infrastructure event occurs. Which concept does this demonstrate?
- Database sharding
2. Static route configuration
3. Local-only logging
4. ChatOps using the Webex API
Correct Answer: 4. ChatOps using the Webex API
Explanation: ChatOps integrates operational workflows with collaboration platforms so applications and automation can post alerts, request approvals, trigger workflows, or provide operational information directly in team messaging spaces. An infrastructure event can cause an automation service to call the Webex API and post a message to the appropriate room. The current DEVCOR v1.1 blueprint explicitly includes constructing API requests to implement ChatOps with the Webex API. Cisco updated the terminology from the older Webex Teams naming while keeping the domain itself unchanged.
Q12. A network automation application must represent Cisco device configuration using a structured data model that can be used with NETCONF or RESTCONF. Which modeling language is most appropriate?
- HTML
2. SQL
3. YANG
4. CSS
Correct Answer: 3. YANG
Explanation: YANG is a data modeling language designed to describe configuration and operational data, RPCs, and notifications for network management. Model-driven interfaces such as NETCONF and RESTCONF use YANG models to define the structure and semantics of the data being manipulated. This provides a predictable machine-readable alternative to screen scraping or CLI parsing. Cisco’s DEVCOR course and exam content include data modeling with YANG and model-driven programmability as part of infrastructure automation and Cisco platform development. HTML, SQL, and CSS serve unrelated presentation or database functions.
Q13. Which protocol encodes network configuration operations through RPC-style messages and commonly runs over SSH?
- NETCONF
2. SNMP trap only
3. TFTP
4. CDP
Correct Answer: 1. NETCONF
Explanation: NETCONF is a model-driven network management protocol used to retrieve and modify configuration and operational data. It commonly uses SSH as a secure transport and represents operations using structured XML-based RPC messages. When combined with YANG data models, NETCONF provides consistent programmatic access to network devices without depending on CLI parsing. It supports configuration-oriented operations and datastore concepts that are useful for infrastructure automation. The current DEVCOR training content includes NETCONF, RESTCONF, YANG modeling, and automation of Cisco IOS XE infrastructure.
Q14. A development team wants every new application change automatically built, tested, scanned, and packaged after a commit is merged. Which practice best describes this workflow?
- Manual change control only
2. Static networking
3. One-time compilation
4. Continuous Integration
Correct Answer: 4. Continuous Integration
Explanation: Continuous Integration automatically integrates software changes into a shared development workflow and commonly triggers builds, unit tests, security scans, packaging, and other validation steps. The goal is to detect problems quickly after changes are introduced rather than waiting for large manual integration events. CI often feeds into continuous delivery or deployment processes that promote validated artifacts into later environments. DEVCOR includes integrating applications into existing CI/CD environments and automating application releases as core preparation topics. A reliable pipeline should be repeatable, version-controlled, and able to report failures clearly.
Q15. A Dockerized application should expose TCP port 8080 inside the container and map it to TCP port 80 on the host. Which concept is being used?
- Git branch merging
2. Container port publishing or mapping
3. Database indexing
4. OAuth authorization
Correct Answer: 2. Container port publishing or mapping
Explanation: Container port publishing maps a port on the host system to a listening port inside the container. This allows clients to reach a containerized application through a host address even when the application itself listens on a different internal port. Docker commonly expresses this mapping with host and container port values. Port mapping is separate from application authentication and source control. DEVCOR training includes containerizing applications with Docker and deploying applications, so candidates should understand container behavior, packaging, and connectivity concepts in addition to writing application code.
Q16. A software package depends on a specific version of an external Python library. What is the main benefit of explicitly defining and managing that dependency?
- It guarantees the application never contains vulnerabilities
2. It eliminates the need for testing
3. It improves reproducibility and reduces unexpected version incompatibilities
4. It makes Git unnecessary
Correct Answer: 3. It improves reproducibility and reduces unexpected version incompatibilities
Explanation: Dependency management records which external packages and versions an application requires. Pinning or constraining versions helps different developers, CI systems, and deployment environments install consistent dependency sets and reduces unexpected behavior caused by incompatible releases. Dependency management also supports vulnerability analysis and controlled upgrades, although it cannot guarantee that dependencies are vulnerability-free. Testing remains necessary, and Git still manages source history. DEVCOR explicitly includes release packaging and dependency-management concepts because reliable software delivery depends on reproducible build inputs and controlled dependency lifecycles.
Q17. An Ansible automation task must configure many network devices repeatedly and should leave devices unchanged when they already match the intended state. Which automation property is most desirable?
- Idempotency
2. Random configuration changes
3. Permanent manual intervention
4. Uncontrolled side effects
Correct Answer: 4. Idempotency
Explanation: Idempotent automation converges infrastructure toward the desired state without making unnecessary changes when that state is already satisfied. If an Ansible playbook is run several times against a correctly configured device, later runs should ideally report little or no change. This improves safety, predictability, and repeatability and makes recovery from partial failures easier. Configuration-management and Infrastructure as Code workflows rely heavily on this concept. DEVCOR’s infrastructure and automation domain includes orchestration, Ansible-related network configuration, Terraform, and Cisco infrastructure automation topics.
Q18. A Terraform configuration manages network infrastructure. An engineer changes the desired configuration and wants to preview the proposed modifications before applying them. Which Terraform operation is most appropriate?
- terraform destroy
2. terraform plan
3. git init
4. docker run
Correct Answer: 1. terraform plan
Explanation: terraform plan evaluates the current state, desired configuration, and provider information and produces a proposed execution plan showing which resources Terraform expects to create, modify, or destroy. Reviewing the plan before terraform apply can identify unexpected or risky changes. This is especially important for network and security infrastructure, where one incorrect change can cause widespread impact. Terraform replaced Puppet manifest content in the updated DEVCOR v1.1 infrastructure-and-automation blueprint, reflecting Cisco’s current exam focus.
Q19. An application writes events such as request_id, user_id, service, severity, and duration_ms as consistently named JSON fields. What is the primary operational benefit?
- It eliminates application failures
2. It removes the need for tracing
3. Structured logs are easier to parse, search, correlate, and automate
4. It prevents every security vulnerability
Correct Answer: 3. Structured logs are easier to parse, search, correlate, and automate
Explanation: Structured logging places event attributes into predictable machine-readable fields rather than embedding all information in arbitrary free-form text. This makes logs easier for observability platforms to index, filter, correlate, aggregate, and analyze programmatically. Correlation identifiers such as request_id are particularly useful in distributed applications where one transaction crosses many services. Structured logging does not eliminate failures or replace traces and metrics, but it greatly improves troubleshooting. Diagnosing application problems from logs and evaluating observability are explicitly included in the current DEVCOR software-development domain.
Q20. A REST API returns HTTP 404 when an application requests a resource that does not exist. The missing resource is required for the workflow to continue. What should robust consumer code do?
- Retry the same request forever
2. Treat the error as unrecoverable for that workflow and handle it explicitly
3. Convert the status code to HTTP 200
4. Ignore the response body and continue as if the resource existed
Correct Answer: 2. Treat the error as unrecoverable for that workflow and handle it explicitly
Explanation: Robust API consumers distinguish between transient errors and unrecoverable conditions. A timeout or rate-limit response may justify retrying, but a confirmed 404 for a required resource usually means repeating the identical request will not solve the problem. The application should enter an appropriate error path, such as reporting that the resource is missing, aborting the dependent workflow, or requesting corrected input. Infinite retries waste resources and can hide the actual failure. The current DEVCOR API domain specifically requires candidates to implement control flow for unrecoverable REST API errors.