Courseiva

Cisco DevNet Associate 200-901 (200-901) — Questions 175

989 questions total · 14pages · All types, answers revealed

Page 1 of 14

Page 2
1
MCQmedium

A developer is creating a Python script to retrieve interface statistics from a Cisco IOS XE device using RESTCONF. Which HTTP method should be used to get the data?

A.GET
B.POST
C.PUT
D.DELETE
AnswerA

GET retrieves data from the specified endpoint.

Why this answer

RESTCONF uses standard HTTP methods to perform CRUD operations on YANG-defined data. To retrieve interface statistics without modifying any resource, the GET method is correct, as it maps directly to the NETCONF <get> or <get-config> operation for reading data.

Exam trap

Cisco often tests the distinction between HTTP methods in RESTCONF, and the trap here is that candidates may confuse POST (used for creating resources) with GET, especially when thinking of sending a 'request' for data.

How to eliminate wrong answers

Option B is wrong because POST is used to create a new data resource or invoke an operation, not to retrieve existing data. Option C is wrong because PUT is used to replace or update an entire resource, not to read data. Option D is wrong because DELETE is used to remove a resource, which is the opposite of retrieving statistics.

2
MCQmedium

An application uses Cisco DNA Center APIs and needs to receive notifications when a new device is added. Which DNA Center API category should be used to set up event-driven notifications?

A.Platform
B.Change your network
C.Know your network
D.Run your network
AnswerA

Correct. Platform APIs provide event notifications and task management.

Why this answer

The Platform API category includes event notifications and task management features.

3
MCQmedium

An application sends many requests to the Meraki API and receives HTTP 429 errors. The response includes a 'Retry-After' header. What does this status code indicate?

A.The requested resource was not found
B.The server encountered an internal error
C.The API key is invalid
D.The client has exceeded the rate limit
AnswerD

Correct. 429 indicates rate limiting, and Retry-After tells when to retry.

Why this answer

HTTP 429 means too many requests; rate limiting is in effect. Retry-After indicates the wait time.

4
MCQmedium

A company uses Ansible to automate configuration of its Cisco IOS XE routers. The network team recently upgraded the routers' software from IOS 15.x to IOS XE 17.x. Since the upgrade, the Ansible playbook fails intermittently with the message: 'Failed to connect to the host via ssh: timed out'. However, the team can SSH manually to the routers from the Ansible control node without issues. The playbook uses the 'cisco.ios.ios_config' module with default SSH options. The routers have been configured with SSH version 2 and local authentication. The Ansible control node runs Red Hat Enterprise Linux 8. Which action should the network engineer take to resolve the issue?

A.Increase the SSH timeout in the Ansible configuration file (ansible.cfg) to 60 seconds.
B.Configure the routers to use SSH version 1 only.
C.Set the 'host_key_checking' option to False in ansible.cfg.
D.Use the 'ios_command' module instead of 'ios_config' to perform the tasks.
AnswerA

Increasing the SSH timeout accommodates the slower handshake caused by new key exchange algorithms in IOS XE 17.x, preventing the timeout error.

Why this answer

The intermittent SSH timeout after upgrading to IOS XE 17.x is likely due to slower key exchange algorithms (e.g., diffie-hellman-group-exchange-sha256) that increase connection setup time. Increasing the SSH timeout in ansible.cfg (e.g., setting timeout=60) gives the SSH handshake enough time to complete, avoiding the timeout. Forcing SSHv1 is not recommended as it is deprecated and may not be supported.

Host key checking (option C) does not affect timeout, and using a different module (option D) does not solve the underlying connectivity issue.

Exam trap

Candidates may think SSH timeout is always due to network latency or firewall drops, but it can be caused by slower cryptographic handshakes in newer IOS XE versions. Increasing SSH timeout is a simple fix.

How to eliminate wrong answers

Option A is wrong because increasing the SSH timeout in ansible.cfg would only mask the symptom; the underlying cause is the slow SSH key exchange negotiation, not a general timeout setting. Option C is wrong because disabling host_key_checking only skips the verification of the remote host's SSH key fingerprint; it does not affect the SSH transport layer timeout or the speed of the cryptographic handshake. Option D is wrong because the ios_command module also uses the same SSH transport and would experience the identical timeout issue; the problem is not specific to the ios_config module.

5
Multi-Selectmedium

Which TWO practices help prevent hardcoded credentials in application code? (Choose TWO.)

Select 2 answers
A.Use a secrets management tool like HashiCorp Vault to retrieve credentials at runtime
B.Share secrets via email and paste them into the code during deployment
C.Store secrets in environment variables from a .env file that is not committed to version control
D.Commit a .env file with placeholder values to the repository
E.Embed secrets directly in the source code with comments
AnswersA, C

Vault dynamically provides secrets without hardcoding.

Why this answer

Using environment variables (from .env or secret managers) and using a dedicated secrets management tool like Vault are best practices. Committing .env files exposes secrets.

6
MCQeasy

A Python script uses the Cisco Webex API to list all rooms. The response includes pagination via the 'Link' header with 'rel="next"'. What is the correct way to retrieve the next page of rooms?

A.Parse the 'Link' header for the URL with 'rel="next"' and send a GET request to that URL.
B.Increment a page counter and append '?page=2' to the original URL.
C.Use the total count returned in the response to calculate the offset.
D.Send a POST request to the same endpoint with the 'cursor' parameter.
AnswerA

This is the correct method for cursor-based pagination.

Why this answer

The Webex API uses HTTP Link headers for pagination, as specified in RFC 5988. The 'Link' header contains a URL with 'rel="next"' that points directly to the next page of results. To retrieve the next page, you must parse this header, extract the URL, and send a GET request to that URL.

This is the standard approach for cursor-based or token-based pagination, which is common in RESTful APIs that avoid offset-based pagination for consistency.

Exam trap

Cisco often tests the misconception that pagination always uses simple page numbers or offsets, but the trap here is that the Webex API uses the Link header with 'rel="next"' for cursor-based pagination, and candidates may incorrectly assume a traditional page counter or offset approach.

How to eliminate wrong answers

Option B is wrong because the Webex API does not use simple page counters; incrementing a page number and appending '?page=2' assumes a fixed page-based pagination scheme that is not supported by the API. Option C is wrong because the Webex API does not return a total count in the response for pagination; even if it did, calculating an offset would be unreliable due to potential data changes between requests. Option D is wrong because the Webex API uses GET requests for pagination, not POST requests, and the 'cursor' parameter is not part of the standard pagination mechanism; the correct mechanism uses the 'Link' header with 'rel="next"'.

7
MCQhard

A network engineer attempts to modify the IP address of GigabitEthernet1/0/1 using the Cisco IOS-XE RESTCONF API. They send a PUT request with a modified JSON body but receive a 400 Bad Request error. What is the most likely cause?

A.The Accept header should be application/json.
B.The Content-Type header is missing or set incorrectly.
C.The API is not enabled on the device.
D.The request body does not include the full resource hierarchy.
AnswerD

RESTCONF PUT requires the entire data tree for the resource. Omitting parent containers leads to 400.

Why this answer

D is correct because RESTCONF requires the request body to contain the full resource hierarchy (e.g., the entire YANG data tree for the interface) when using PUT, as PUT is a full replacement operation. A 400 Bad Request error typically indicates a malformed request, and omitting mandatory parent or sibling nodes in the JSON body violates the YANG schema, causing the server to reject the request.

Exam trap

Cisco often tests the distinction between PUT (full replacement) and PATCH (partial update) in RESTCONF, and the trap here is that candidates mistakenly think a 400 error is due to missing headers or API availability, rather than recognizing that PUT requires the complete resource hierarchy in the request body.

How to eliminate wrong answers

Option A is wrong because the Accept header specifies the desired response format, not the request body format; a missing or incorrect Accept header would cause a 406 Not Acceptable error, not a 400. Option B is wrong because a missing or incorrect Content-Type header (e.g., not application/yang-data+json) would also result in a 415 Unsupported Media Type error, not a 400. Option C is wrong because if the API were not enabled, the device would return a 404 Not Found or a connection refusal, not a 400 Bad Request.

8
MCQmedium

A Webex bot needs to send a message to a room. The bot has the room ID. Which API endpoint should be used, and what is the correct HTTP method?

A.POST /v1/messages
B.PUT /v1/messages/{messageId}
C.GET /v1/messages
D.POST /v1/rooms
AnswerA

Correct. Use POST /v1/messages with roomId and text fields.

Why this answer

To send a message to a Webex room, use POST /v1/messages with the roomId parameter.

9
MCQmedium

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?

A.pip audit
B.Snyk
C.Dependabot
D.npm audit
AnswerA

pip audit scans Python packages for vulnerabilities.

Why this answer

pip audit checks Python packages for vulnerabilities. npm audit is for Node.js, Snyk is a third-party tool, Dependabot automates dependency updates.

10
MCQmedium

In a microservices architecture, which communication pattern is typically asynchronous and decoupled?

A.REST over HTTP
B.SOAP
C.gRPC
D.Event-driven architecture
AnswerD

Asynchronous and decoupled.

Why this answer

Event-driven architecture (D) is the correct answer because it is inherently asynchronous and decoupled: services communicate by publishing events to a message broker (e.g., Kafka, RabbitMQ) without needing to know about the consumers. This pattern allows the producer to emit an event and continue processing immediately, while consumers react to events at their own pace, achieving loose coupling and high scalability.

Exam trap

Cisco often tests the misconception that any HTTP-based communication (like REST) is inherently asynchronous, but REST over HTTP is synchronous by default unless combined with additional patterns like webhooks or message queues.

How to eliminate wrong answers

Option A is wrong because REST over HTTP is typically synchronous and tightly coupled: the client sends a request and waits for a response, creating a direct dependency between services. Option B is wrong because SOAP is a synchronous, tightly coupled protocol that relies on XML messaging over HTTP or other transports, often with strict contract definitions (WSDL) that create strong coupling. Option C is wrong because gRPC, while efficient with HTTP/2 and protobufs, is primarily designed for synchronous request-response communication (though it supports streaming, the default pattern is still coupled and blocking).

11
MCQeasy

Which tool can be used to explore YANG models locally?

A.yangcatalog.org
B.Cisco DevNet sandbox
C.Postman
D.pyang
AnswerD

Correct. pyang is used to parse and explore YANG models.

Why this answer

pyang is a tool for validating and converting YANG models.

12
MCQhard

A DevOps team manages network infrastructure using Infrastructure as Code (IaC). They store configuration files in a Git repository and use CI/CD to deploy changes. What is the best practice to ensure that only validated configurations are applied to production devices?

A.Require a pull request with at least one approval before merging to the main branch
B.Allow any team member to push directly to the main branch after testing locally
C.Use a manual approval gate in the CI/CD pipeline that requires manager sign-off
D.Automate the deployment of every commit directly to production
AnswerA

Code review ensures quality and catches errors before deployment.

Why this answer

Requiring a pull request with at least one approval before merging to the main branch enforces peer review and validation of configuration changes. This ensures that only code that has been reviewed for correctness, syntax, and adherence to standards is merged, preventing erroneous or malicious configurations from reaching production via the CI/CD pipeline.

Exam trap

The trap here is that candidates may confuse a manual approval gate (Option C) with a technical validation step, but Cisco tests the understanding that peer code review (via pull requests) is the best practice for ensuring configuration correctness in IaC, not managerial sign-off.

How to eliminate wrong answers

Option B is wrong because allowing direct pushes to the main branch bypasses any review or validation, risking the deployment of untested or erroneous configurations. Option C is wrong because a manual approval gate by a manager does not guarantee technical validation of the configuration; it adds a non-technical bottleneck without ensuring code correctness. Option D is wrong because automating deployment of every commit directly to production eliminates all validation gates, making it impossible to catch errors before they impact production devices.

13
MCQeasy

Which Cisco platform uses NX-API to allow programmatic access to CLI commands via JSON?

A.Cisco Meraki
B.Cisco NX-OS
C.Cisco DNA Center
D.Cisco IOS XE
AnswerB

NX-OS uses NX-API.

Why this answer

NX-OS devices support NX-API for programmatic access.

14
MCQhard

In an SDN architecture, which API is used by the controller to communicate with network devices to install forwarding rules?

A.Southbound API
B.REST API
C.East-West API
D.Northbound API
AnswerA

Correct. Southbound APIs push rules to devices.

Why this answer

In SDN, the southbound API is the interface between the controller and the network devices (switches, routers). It allows the controller to install forwarding rules, such as flow entries in OpenFlow switches, enabling centralized control of the data plane.

Exam trap

Cisco often tests the distinction between northbound and southbound APIs; the trap here is confusing the REST API (commonly northbound) with the southbound API that directly programs device forwarding tables.

How to eliminate wrong answers

Option B (REST API) is wrong because REST APIs are typically used as northbound APIs for applications to communicate with the SDN controller, not for the controller to program network devices. Option C (East-West API) is wrong because east-west APIs are used for communication between multiple SDN controllers in a distributed control plane, not for device rule installation. Option D (Northbound API) is wrong because northbound APIs allow applications and orchestration tools to interact with the controller, abstracting the underlying network; they do not directly install forwarding rules on devices.

15
MCQmedium

A network engineer is using the Cisco Meraki API to retrieve a list of SSIDs for a specific network. The API returns an HTTP 200 status but an empty array for the SSIDs. Which of the following is the most likely cause?

A.The network exists but has no SSIDs configured.
B.The network ID is incorrect.
C.The API key is invalid.
D.The request body is malformed.
AnswerA

Empty array indicates no SSIDs, which is valid.

Why this answer

An HTTP 200 status indicates the request was successfully processed by the Meraki API, meaning the API key, network ID, and request format were all valid. An empty array for SSIDs specifically means the network exists and the API queried it correctly, but no SSIDs have been configured on that network. This is the expected behavior when a network has no wireless profiles defined.

Exam trap

Cisco often tests the misconception that an HTTP 200 always means data exists, but the trap here is that a successful API response can legitimately return an empty array when the resource has no configured items.

How to eliminate wrong answers

Option B is wrong because an incorrect network ID would result in an HTTP 404 (Not Found) or HTTP 400 (Bad Request) error, not a 200 with an empty array. Option C is wrong because an invalid API key would return an HTTP 401 (Unauthorized) status, not a successful 200 response. Option D is wrong because a malformed request body would typically cause an HTTP 400 (Bad Request) error, as the Meraki API validates the request structure before processing.

16
MCQmedium

A network administrator is configuring DNS for a corporate domain. An MX record is required to specify the mail server responsible for handling email. Which of the following is a correct example of an MX record?

A.mail.example.com. A 192.0.2.1
B.example.com. MX 10 mail.example.com.
C.example.com. CNAME mail.example.com.
D.example.com. TXT "v=spf1 include:_spf.google.com ~all"
AnswerB

This is the standard format with priority and server.

Why this answer

An MX record specifies the mail server responsible for handling email for a domain, using the format: domain. MX priority mailserver. The priority value (10) indicates preference, with lower values being higher priority.

This record directs email delivery to mail.example.com for the example.com domain.

Exam trap

Cisco often tests the distinction between record types by presenting an A or CNAME record as a distractor, exploiting the common misconception that any record pointing to a mail server is sufficient for email routing.

How to eliminate wrong answers

Option A is wrong because it uses an 'A' record type, which maps a hostname to an IPv4 address, not a mail exchanger; MX records require the 'MX' type and a priority value. Option C is wrong because a CNAME record creates an alias for a hostname, but MX records cannot point to a CNAME per RFC 2181; they must point directly to an A or AAAA record. Option D is wrong because a TXT record stores text data like SPF policies, not mail server routing information; MX records are specifically for mail exchange.

17
MCQmedium

A network automation engineer uses Terraform to manage Cisco Catalyst Center (formerly DNA Center) resources. What is the purpose of the Cisco Catalyst Center Terraform provider?

A.To execute a series of CLI commands on network devices in sequence
B.To write imperative scripts that configure network devices via SSH
C.To directly manage routers and switches without using Catalyst Center
D.To define and manage network infrastructure resources in a declarative state file
AnswerD

Terraform providers allow managing resources (e.g., sites, devices) as code, maintaining desired state.

Why this answer

The Cisco Catalyst Center Terraform provider allows network automation engineers to define and manage network infrastructure resources in a declarative state file. Terraform uses a desired-state approach where the configuration file describes the intended end state of resources, and the provider communicates with Catalyst Center's REST API to enforce that state, enabling idempotent and version-controlled infrastructure management.

Exam trap

The trap here is that candidates often confuse Terraform's declarative, API-driven model with imperative scripting or CLI-based automation, leading them to select options that describe procedural SSH or CLI workflows instead of recognizing the provider's role as an abstraction layer over Catalyst Center's REST API.

How to eliminate wrong answers

Option A is wrong because executing a series of CLI commands on network devices in sequence describes a procedural automation approach (e.g., using Ansible or a Python script with Netmiko), not the declarative, API-driven model of Terraform. Option B is wrong because writing imperative scripts that configure network devices via SSH is a traditional, non-declarative method that lacks Terraform's state management and idempotency; Terraform does not use SSH for device configuration. Option C is wrong because the Terraform provider for Catalyst Center does not directly manage routers and switches; it manages resources through Catalyst Center's northbound REST API, which in turn orchestrates device configurations via protocols like NETCONF or CLI.

18
MCQhard

Based on the NAT translation table, what type of NAT is being used?

A.Dynamic NAT
B.Static PAT
C.Static NAT
D.PAT (overload)
AnswerD

PAT uses port numbers to distinguish between multiple internal hosts sharing a single public IP.

Why this answer

The NAT translation table shows multiple internal IP addresses (e.g., 10.1.1.1, 10.1.1.2) being translated to the same public IP address (e.g., 203.0.113.1) but with different source ports. This is the defining characteristic of Port Address Translation (PAT), also known as NAT overload, where a single public IP is shared among many internal hosts by multiplexing on layer-4 port numbers.

Exam trap

Cisco often tests the distinction between Dynamic NAT (which uses a pool of public IPs) and PAT (which overloads a single public IP with port numbers), and the trap here is that candidates see multiple translations and assume Dynamic NAT, missing the key clue that the public IP is identical across entries.

How to eliminate wrong answers

Option A is wrong because Dynamic NAT translates internal addresses to a pool of public IPs, one-to-one, and does not reuse a single public IP with different ports. Option B is wrong because Static PAT is not a standard term; static NAT with port forwarding is sometimes mislabeled, but the table shows dynamic port assignments, not a fixed mapping. Option C is wrong because Static NAT maps a single internal IP to a single external IP permanently, which would not show multiple internal IPs sharing the same public IP.

19
MCQmedium

A network engineer needs to automate the deployment of QoS policies across multiple campus switches using Cisco DNA Center. The engineer decides to use the Cisco DNA Center Intent API to create a policy tag and bind it to a group of devices. After sending the PUT request to /dna/intent/api/v1/policy-tag, the API returns a 202 Accepted status. However, the engineer notices that the policy is not being applied consistently across all devices. What is the most likely reason?

A.The payload was not in JSON format, causing a silent failure.
B.The API token expired before the request was processed.
C.The request was asynchronous, and the engineer did not check the task status for completion.
D.The engineer used an incorrect API endpoint for policy tags.
AnswerC

202 Accepted means the request is being processed asynchronously; the task ID must be monitored.

Why this answer

The 202 Accepted status indicates that the request was accepted for asynchronous processing, not that it has completed. Cisco DNA Center Intent API uses asynchronous tasks for operations like policy tag binding, and the engineer must poll the task status endpoint to verify completion and success. Without checking the task status, the engineer cannot know if the policy was applied consistently across all devices, as some tasks may have failed or are still in progress.

Exam trap

Cisco often tests the distinction between synchronous (2xx success) and asynchronous (202 Accepted) responses, and the trap here is that candidates assume a 202 Accepted means the operation completed successfully, when in fact it only means the request was accepted for processing.

How to eliminate wrong answers

Option A is wrong because if the payload were not in JSON format, the API would typically return a 400 Bad Request error, not a 202 Accepted, and the failure would be explicit, not silent. Option B is wrong because an expired API token would cause a 401 Unauthorized error when the request is sent, not a 202 Accepted; the token is validated at request time, not during async processing. Option D is wrong because the endpoint /dna/intent/api/v1/policy-tag is the correct endpoint for creating and updating policy tags in Cisco DNA Center Intent API, as documented in the API reference.

20
MCQhard

In Cisco IOS XE, a network engineer wants to retrieve the hostname of a device using RESTCONF. Which URI and method should be used? Assume RESTCONF is enabled and the base URL is https://device/restconf.

A.GET /restconf/data/hostname
B.GET /restconf/data/Cisco-IOS-XE-native:native/hostname
C.GET /restconf/data/Cisco-IOS-XE-interfaces:interfaces
D.POST /restconf/data/Cisco-IOS-XE-native:native/hostname
AnswerB

The RESTCONF protocol maps directly to NETCONF YANG data models via HTTP methods; here, GET retrieves the native hostname leaf under the Cisco-IOS-XE-native YANG module. This satisfies the stem’s requirement to retrieve the device hostname using RESTCONF, as the URI targets the exact data node in the running configuration datastore.

Why this answer

The hostname is part of the native YANG model. The correct path is /restconf/data/Cisco-IOS-XE-native:native/hostname with GET.

21
Multi-Selectmedium

Which TWO Docker network drivers allow a container to communicate with the host's network stack directly?

Select 2 answers
A.bridge
B.none
C.overlay
D.host
E.macvlan
AnswersD, E

Host mode removes network isolation, allowing the container to use the host's network stack directly.

Why this answer

Host mode shares the host's network stack directly with the container, allowing it to use the host's IP and ports. Macvlan assigns a MAC address to the container, making it appear as a separate device on the host's network, thus enabling direct communication with the host's network stack. Overlay is for multi-host communication, bridge provides isolation, and none disables networking.

22
MCQeasy

A developer is using Cisco Meraki API to retrieve a list of networks. What is the correct HTTP method and endpoint path for listing networks in an organization?

A.DELETE /organizations/{orgId}/networks
B.POST /organizations/{orgId}/networks
C.PUT /organizations/{orgId}/networks
D.GET /organizations/{orgId}/networks
AnswerD

Correct HTTP method and endpoint for listing networks.

Why this answer

The HTTP GET method is used to retrieve or list resources, and the endpoint /organizations/{orgId}/networks is the standard Meraki API path for fetching all networks within a specified organization. This follows RESTful conventions where GET requests are idempotent and safe for data retrieval.

Exam trap

Cisco often tests the fundamental RESTful mapping of HTTP methods to CRUD operations, and the trap here is confusing the GET method with POST or PUT because candidates may think 'listing' requires sending data in the request body, when in fact GET is the correct method for read-only retrieval.

How to eliminate wrong answers

Option A is wrong because DELETE is used to remove a resource, not to list networks; using DELETE on this endpoint would attempt to delete all networks in the organization, which is not the intended operation. Option B is wrong because POST is used to create a new resource, such as adding a network to an organization, not to retrieve an existing list. Option C is wrong because PUT is used to update or replace an existing resource, not to retrieve a list; it would attempt to replace the entire collection of networks, which is incorrect.

23
MCQmedium

A developer writes a Python script using Cisco's pyATS framework to test network reachability after a configuration change. What is a key advantage of using pyATS over a simple script that uses ping?

A.pyATS requires less code than a ping script
B.pyATS can test multiple devices in parallel
C.pyATS allows writing reusable test scripts with built-in test libraries
D.pyATS automatically generates test reports
AnswerC

pyATS is designed for reusable, modular test automation.

Why this answer

PyATS is a test automation framework designed for network engineers, providing built-in test libraries (e.g., `pyats.aetest`) that enable writing reusable, modular test scripts. Unlike a simple ping script, pyATS supports structured test cases, data-driven testing, and integration with Cisco devices via libraries like `Genie`, allowing for comprehensive validation beyond basic reachability.

Exam trap

The trap here is that candidates confuse pyATS's parallel execution capability (which is achievable with other tools) with its core value proposition of providing a structured, reusable test framework with built-in libraries for network-specific validation.

How to eliminate wrong answers

Option A is wrong because pyATS typically requires more code to set up test infrastructure (e.g., testbed files, test cases) compared to a simple ping script, which can be a single line. Option B is wrong because while pyATS can test multiple devices in parallel, this is not a unique advantage—a simple script using threading or asyncio can also achieve parallel pings; the key advantage is the framework's test management and reusability. Option D is wrong because pyATS does not automatically generate test reports; it provides libraries to create custom reports (e.g., via `pyats.log` or integration with tools like `ATS`), but report generation requires explicit implementation.

24
MCQmedium

A development team is implementing a microservices architecture. They need to ensure that services can discover each other dynamically without hardcoding IP addresses. Which technology should they use?

A.A centralized load balancer
B.A service registry like Consul
C.An API gateway
D.DNS-based service discovery
AnswerB

Correct: Service registries enable dynamic discovery and health checks.

Why this answer

A service registry like Consul provides a centralized directory where microservices register their network locations (IP and port) and health status. Other services query the registry to discover available instances dynamically, eliminating the need for hardcoded addresses. Consul supports health checks, multi-datacenter replication, and integrates with tools like Envoy for service mesh functionality.

Exam trap

Cisco often tests the distinction between an API gateway (which handles external traffic) and a service registry (which handles internal service discovery), leading candidates to incorrectly choose the API gateway when the question focuses on inter-service communication.

How to eliminate wrong answers

Option A is wrong because a centralized load balancer distributes traffic but does not inherently provide dynamic service discovery; it typically requires manual configuration or integration with a registry to know backend endpoints. Option C is wrong because an API gateway handles routing, authentication, and rate limiting for external requests, but it is not designed for internal service-to-service discovery and often relies on a registry or DNS for backend resolution. Option D is wrong because DNS-based service discovery (e.g., using SRV records) can resolve service names to IPs but lacks real-time health checking, TTL-based caching can cause stale entries, and it does not support advanced features like weighted routing or metadata-based filtering that a dedicated registry provides.

25
MCQhard

In a CI/CD pipeline for network automation, a change is rolled back using a Git revert commit that triggers a new pipeline. The rollback playbook fails because the 'previous' configuration snapshot is missing. What should be implemented to prevent this?

A.Use a single source of truth like NetBox
B.Store configuration backups in a version-controlled repository before each change
C.Use the 'check mode' only
D.Disable rollback pipelines
AnswerB

This ensures a recoverable snapshot exists for any rollback.

Why this answer

Storing configuration backups in a version-controlled repository before each change ensures that a known good state is available for rollback, even if subsequent changes occur.

26
MCQeasy

A CI/CD pipeline for network automation includes stages for linting, unit testing, and deployment. Which stage typically validates the syntax of Ansible playbooks?

A.Integration testing stage
B.Deployment stage
C.Unit testing stage
D.Linting stage
AnswerD

Linting tools like ansible-lint validate playbook syntax and best practices.

Why this answer

Linting is the stage that validates syntax and style for code or configuration files. In a CI/CD pipeline for network automation, the linting stage uses tools like `ansible-lint` to check Ansible playbooks for syntax errors, best practices, and idempotency issues before any testing or deployment occurs.

Exam trap

Cisco often tests the distinction between linting (syntax/style checks) and unit testing (functional correctness of code), leading candidates to mistakenly choose unit testing for syntax validation.

How to eliminate wrong answers

Option A is wrong because integration testing validates the interaction between components (e.g., network devices and Ansible modules) after deployment, not syntax. Option B is wrong because the deployment stage applies the playbook to production or staging environments, assuming syntax is already correct. Option C is wrong because unit testing validates individual functions or modules in isolation (e.g., Python unit tests for custom modules), not the YAML syntax of Ansible playbooks.

27
MCQhard

A large enterprise uses Cisco SD-Access with fabric automation. The network administrator wants to automate the process of adding a new user device to a specific virtual network (VN) based on its MAC address. Which API or tool should they use?

A.Cisco ISE REST API
B.Ansible playbook with ios_config
C.Cisco DNA Center REST API
D.Cisco APIC-EM REST API
AnswerA

ISE manages endpoint identities and can assign VNs based on MAC.

Why this answer

Cisco ISE REST API is the correct choice because ISE is the policy and authentication engine in SD-Access that manages endpoint identity and virtual network (VN) assignments. When a new user device is added, the administrator can use the ISE REST API to programmatically create an endpoint entry with its MAC address and map it to a specific VN, leveraging ISE's policy sets and authorization profiles. This directly automates the VN assignment without requiring changes to fabric underlay or overlay configurations.

Exam trap

Cisco often tests the distinction between fabric provisioning tools (DNA Center) and policy enforcement tools (ISE), so the trap here is assuming that DNA Center's REST API can directly manage endpoint-to-VN mappings, when in fact ISE is the correct tool for identity-based VN assignment in SD-Access.

How to eliminate wrong answers

Option B is wrong because Ansible with ios_config is used to automate CLI commands on network devices (e.g., switches, routers), but it cannot directly manage endpoint-to-VN mappings in SD-Access, which are handled by ISE's policy engine. Option C is wrong because Cisco DNA Center REST API is used for fabric provisioning, intent-based automation, and assurance, but it does not provide a direct API for mapping a specific MAC address to a VN; that mapping is enforced by ISE via policy. Option D is wrong because Cisco APIC-EM is a deprecated controller (replaced by DNA Center) and its REST API does not support SD-Access VN assignment for endpoints; it was designed for traditional network automation and APIC-EM is no longer a current product.

28
MCQmedium

An application requires reliable, ordered delivery of data with error checking. Which transport protocol should be used, and what is a key characteristic of this protocol?

A.TCP, because it uses a 3-way handshake to establish a connection
B.TCP, because it has lower overhead than UDP
C.UDP, because it is connectionless and low-overhead
D.UDP, because it provides flow control
AnswerA

TCP's 3-way handshake (SYN, SYN-ACK, ACK) establishes a reliable connection.

Why this answer

TCP (Transmission Control Protocol) is the correct choice because it provides reliable, ordered delivery of data with error checking. Its key characteristic is the 3-way handshake (SYN, SYN-ACK, ACK) used to establish a connection before data transfer, ensuring both endpoints are synchronized and ready for reliable communication.

Exam trap

Cisco often tests the misconception that TCP has lower overhead than UDP, or that UDP provides reliability or flow control, leading candidates to confuse the characteristics of connection-oriented vs. connectionless protocols.

How to eliminate wrong answers

Option B is wrong because TCP has higher overhead than UDP due to its connection establishment, acknowledgments, and sequencing mechanisms, not lower overhead. Option C is wrong because UDP is connectionless and low-overhead, but it does not provide reliable, ordered delivery or error checking—it offers no guarantees for delivery or ordering. Option D is wrong because UDP does not provide flow control; flow control is a feature of TCP, implemented via sliding window and advertised window mechanisms.

29
Multi-Selecteasy

Which TWO of the following are examples of application layer protocols?

Select 2 answers
A.HTTP
B.IP
C.FTP
D.TCP
E.ARP
AnswersA, C

HTTP is an application layer protocol used for web traffic.

Why this answer

HTTP (Hypertext Transfer Protocol) operates at the application layer (Layer 7) of the OSI model, enabling web browsers and servers to exchange hypertext documents. It defines how requests and responses are formatted and transmitted, relying on lower-layer protocols like TCP for reliable delivery.

Exam trap

Cisco often tests the distinction between transport layer protocols (TCP/UDP) and application layer protocols, trapping candidates who confuse TCP's role in reliable delivery with application-specific functions like HTTP or FTP.

30
MCQmedium

A DevOps team is using Cisco NSO to manage network devices. They want to ensure that the configuration is compliant with corporate standards. Which NSO feature should they use?

A.Configuration Snapshots
B.NETCONF notifications
C.Configuration Database (CDB) rollback
D.Service reconciliation using FastMap
AnswerD

FastMap reconciles device config with service model to ensure compliance.

Why this answer

Service reconciliation using FastMap is the correct NSO feature for ensuring configuration compliance with corporate standards because it detects and corrects deviations between the intended service model (defined in YANG) and the actual device configuration. FastMap performs a diff and re-applies the service logic to bring the device back into compliance, making it ideal for continuous compliance enforcement.

Exam trap

Cisco often tests the distinction between passive monitoring features (snapshots, notifications, rollback) and active remediation (FastMap), leading candidates to pick a feature that only detects drift rather than one that corrects it.

How to eliminate wrong answers

Option A is wrong because Configuration Snapshots are point-in-time backups of device configurations used for auditing or comparison, not for active compliance enforcement or remediation. Option B is wrong because NETCONF notifications are asynchronous event messages (e.g., YANG-push or syslog) that alert on state changes but do not enforce or correct configuration compliance. Option C is wrong because CDB rollback reverts the NSO configuration database to a previous transaction, which can undo changes but does not proactively ensure ongoing compliance with corporate standards.

31
MCQeasy

A network automation engineer is writing a Python script to interact with the Cisco Meraki Dashboard API. The script currently makes GET requests to retrieve a list of networks and then makes subsequent requests for each network to get device details. However, the script is slow due to network latency. The engineer wants to improve performance without changing the API's functionality. Which approach best addresses the performance issue?

A.Wrap all API calls in a single transaction.
B.Increase the timeout value in each request.
C.Use parallel requests with asyncio for concurrent API calls.
D.Use a POST request instead of GET to combine both operations.
AnswerC

Correct because using asyncio with an async HTTP library (like aiohttp) allows concurrent execution of multiple GET requests, reducing total wall-clock time by overlapping network I/O, without changing API functionality.

Why this answer

Using asyncio with an async HTTP library (like aiohttp) allows the script to send multiple GET requests concurrently rather than sequentially, reducing the total wall-clock time dominated by network latency. This approach improves performance without altering the API's functionality or the data being retrieved.

Exam trap

Cisco often tests the distinction between concurrency (asyncio) and parallelism (multithreading/multiprocessing), and candidates may confuse increasing timeouts or changing HTTP methods as valid performance optimizations when they are not.

How to eliminate wrong answers

Option A is wrong because wrapping API calls in a single transaction is not a concept supported by RESTful APIs like the Meraki Dashboard API; transactions are a database concept and do not apply to independent HTTP requests. Option B is wrong because increasing the timeout value only prevents premature timeouts but does not reduce the latency of each request; it may even make the script slower if requests hang longer. Option D is wrong because using POST instead of GET does not combine multiple operations into one request; the Meraki API does not support combining a list-networks and list-devices call into a single POST, and POST is semantically incorrect for read-only operations.

32
MCQhard

A network administrator notices that a host with IP 192.168.1.10/25 cannot communicate with a host at 192.168.1.200/25. What is the most likely reason?

A.The default gateway is missing.
B.The subnet mask is incorrect; they are on different subnets.
C.The ARP cache is corrupted.
D.The hosts are using different DNS servers.
AnswerB

192.168.1.10 is in subnet 0, 192.168.1.200 is in subnet 128.

Why this answer

With a /25 mask (255.255.255.128), the network is divided into two subnets: 192.168.1.0-127 and 192.168.1.128-255. The two hosts are in different subnets and require a router to communicate.

33
MCQeasy

When designing a REST API client for a Cisco DNA Center deployment, which authentication method should be used to obtain a token for subsequent API calls?

A.OAuth 2.0 client credentials grant.
B.API key in the request header.
C.HTTP Basic authentication to obtain a token.
D.Client certificate in the request.
AnswerC

Correct method: POST with basic auth to get token.

Why this answer

Cisco DNA Center uses HTTP Basic authentication to obtain a token. The client sends a POST request to the /dna/system/api/v1/auth/token endpoint with a Base64-encoded string of the username and password in the Authorization header. The server returns a token that must be included in subsequent API calls via the X-Auth-Token header.

Exam trap

Cisco often tests the specific authentication flow for DNA Center, and the trap here is that candidates confuse the token-based approach with OAuth 2.0 or API keys, which are used by other Cisco platforms like Meraki or Webex.

How to eliminate wrong answers

Option A is wrong because OAuth 2.0 client credentials grant is not supported by Cisco DNA Center; it uses a simpler token-based authentication flow. Option B is wrong because an API key in the request header is not the method used to obtain a token; DNA Center requires username/password authentication to generate a token. Option D is wrong because client certificate authentication is not the standard method for obtaining a token in DNA Center; it relies on HTTP Basic authentication for token generation.

34
Multi-Selectmedium

Which three configuration management tools can be used with Cisco devices for automation? (Choose three.)

Select 3 answers
A.Nagios
B.SaltStack
C.Puppet
D.Chef
E.Ansible
AnswersC, D, E

Puppet supports Cisco devices via agents.

Why this answer

Puppet is a configuration management tool that uses a declarative language to define system state. It can manage Cisco devices via the cisco_ios module, which uses SSH or NX-API to apply configurations, making it suitable for network automation.

Exam trap

Cisco often tests the distinction between monitoring tools (like Nagios) and configuration management tools, and candidates may confuse SaltStack as a primary Cisco automation tool due to its general-purpose nature, but it lacks the dedicated Cisco ecosystem support of Puppet, Chef, and Ansible.

35
MCQhard

Which Python exception would be raised by the following code? my_dict = {'a': 1} value = my_dict['b']

A.KeyError
B.ValueError
C.IndexError
D.AttributeError
AnswerA

Correct.

Why this answer

Accessing a dictionary key that does not exist raises a KeyError in Python. In the code, my_dict['b'] attempts to retrieve the value for key 'b', which is not present in the dictionary {'a': 1}, so Python raises KeyError.

Exam trap

Cisco often tests the distinction between KeyError and IndexError, trapping candidates who confuse dictionary key access with list index access, especially when the code uses square brackets in both contexts.

How to eliminate wrong answers

Option B is wrong because ValueError is raised when a function receives an argument of the correct type but an inappropriate value (e.g., int('abc')), not for missing dictionary keys. Option C is wrong because IndexError is raised when accessing an index out of range in a sequence like a list or tuple, not for dictionary key access. Option D is wrong because AttributeError is raised when an invalid attribute reference or assignment is made (e.g., my_dict.append), not for missing dictionary keys.

36
MCQhard

A Kubernetes pod has two containers: a main application and a sidecar proxy. They need to communicate via localhost. Which pod networking model allows this?

A.Host network
B.Bridge network
C.Overlay network
D.Pod network (containers share the same IP)
AnswerD

All containers in a pod share the same network namespace, allowing localhost communication.

Why this answer

Containers in the same pod share the same network namespace, so they can communicate via localhost.

37
MCQeasy

What is the purpose of the Authorization header in a REST API call?

A.To specify the content type of the request body
B.To specify the format of the response body
C.To indicate the desired language
D.To authenticate the client sending the request
AnswerD

Authorization header carries credentials.

Why this answer

The Authorization header carries credentials (e.g., Bearer token) to authenticate the client.

38
MCQeasy

You are writing a Dockerfile for a Python application. Which instruction should you use to install the dependencies from a requirements.txt file?

A.ENTRYPOINT pip install -r requirements.txt
B.CMD pip install -r requirements.txt
C.RUN pip install -r requirements.txt
AnswerC

This command installs all dependencies listed in requirements.txt.

Why this answer

The RUN instruction executes commands in a new layer on top of the current image and commits the results. Using RUN pip install -r requirements.txt ensures that the Python dependencies are installed during the image build process, making them part of the final image. This is the correct approach because dependencies should be installed at build time, not at container runtime.

Exam trap

Cisco often tests the distinction between build-time instructions (RUN) and runtime instructions (CMD, ENTRYPOINT), and the trap here is that candidates confuse CMD or ENTRYPOINT with RUN, thinking they can install dependencies at container startup instead of during the image build.

How to eliminate wrong answers

Option A is wrong because ENTRYPOINT configures a container to run as an executable, not to execute commands during the build; using ENTRYPOINT for pip install would cause the installation to run every time the container starts, which is inefficient and may fail if the filesystem is read-only. Option B is wrong because CMD provides defaults for an executing container, but it can be overridden; using CMD for pip install would also run the installation at container runtime rather than during the build, leading to unnecessary delays and potential permission issues.

39
MCQhard

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?

A.git rebase main
B.git merge main
C.git pull --rebase origin main
D.git checkout main && git pull && git checkout feature-login && git merge main
AnswerC

This fetches and rebases the current branch onto main, incorporating changes without a merge commit.

Why this answer

`git pull --rebase origin main` fetches the latest changes from the remote `main` branch and then rebases the current `feature-login` branch onto those changes. This incorporates the new commits from `main` without creating a merge commit, resulting in a linear history. The `--rebase` flag ensures that the developer's commits are replayed on top of the updated `main`, avoiding the extra merge commit that `git merge` would create.

Exam trap

Cisco often tests the distinction between `git merge` and `git rebase` in the context of avoiding merge commits, and the trap here is that candidates may choose `git rebase main` (Option A) without realizing it does not fetch remote changes, or they may choose `git merge main` (Option B) thinking it can be done without a merge commit, which is incorrect.

How to eliminate wrong answers

Option A is wrong because `git rebase main` would attempt to rebase the current branch onto the local `main` branch, but it does not first fetch the latest changes from the remote. If the local `main` is outdated, this command would not incorporate the latest remote changes, and it could also fail if the local `main` hasn't been updated. Option B is wrong because `git merge main` would create a merge commit, which the developer explicitly wants to avoid.

Option D is wrong because it uses `git merge main` at the end, which creates a merge commit, and the sequence is unnecessarily complex; it also does not use `--rebase` to avoid the merge commit.

40
MCQmedium

A network administrator is configuring OSPF on a router and wants to ensure that routes from area 0 are propagated to area 1, but area 1 should not see specific inter-area routes. Which OSPF feature should be used?

A.NSSA
B.Totally stubby area
C.Virtual-link
D.Stub area
AnswerB

Correct. As explained, a totally stubby area blocks inter-area and external routes, providing only a default route. This matches the requirement to hide specific inter-area routes.

Why this answer

A totally stubby area (Option B) blocks both Type 5 (external) and Type 3 (inter-area) LSAs, injecting only a default route into the area. This meets the requirement that area 1 should not see specific inter-area routes, while still allowing connectivity to area 0 via the default route. A stub area (Option D) only blocks Type 5 LSAs, not Type 3, so it would not prevent inter-area routes from being seen.

Exam trap

The trap is that candidates may think a stub area is sufficient when the requirement is to block inter-area routes. However, a stub area only blocks external routes (Type 5 LSAs), not inter-area routes (Type 3 LSAs). A totally stubby area blocks both, which is what the scenario calls for.

How to eliminate wrong answers

Option A is wrong because an NSSA (Not-So-Stubby Area) allows Type 7 LSAs for external routes from within the area and translates them to Type 5 LSAs, which does not block inter-area routes; it is designed for areas that need to import external routes while still blocking some Type 5 LSAs. Option B is wrong because a totally stubby area blocks both Type 5 LSAs and Type 3 LSAs (inter-area routes), leaving only a default route, which would prevent area 1 from seeing any inter-area routes, not just specific ones. Option C is wrong because a virtual-link is used to connect a non-backbone area to area 0 through a transit area when a direct physical connection is missing; it does not filter routes.

41
Multi-Selectmedium

Which TWO authentication mechanisms are commonly used with Cisco REST APIs? (Choose two.)

Select 2 answers
A.API key
B.Basic authentication (base64 encoded)
C.Certificate-based authentication
D.Token-based authentication (self-issued)
E.OAuth 2.0
AnswersA, E

Used by Meraki and others.

Why this answer

API key and OAuth 2.0 are the most common. Basic auth is less common now. Token-based is a subset of OAuth.

Certificate-based is not typical for REST APIs.

42
MCQeasy

A developer is writing a Python script that uses the Cisco Catalyst Center (formerly DNA Center) API to get the list of sites. The API returns a response with a 'response' key containing a list of sites. The developer wants to access the 'response' field from the JSON response. Which code snippet correctly extracts the list?

A.sites = list(response)
B.sites = response['response']
C.sites = response[0]
D.sites = response.get('response')
AnswerB, D

Correct. Direct dictionary indexing retrieves the list of sites from the 'response' key.

Why this answer

Uses direct dictionary indexing `response['response']`, which is the most direct way to access the 'response' key. Option D uses the `.get('response')` method, which also retrieves the value for the key 'response' and is safe in case the key is missing (returns None instead of raising KeyError). Both methods are correct in this context because the API is expected to return a dictionary with a 'response' key.

Options A and C are incorrect because they treat the response object as a list or attempt to index it incorrectly.

Exam trap

Candidates may think that only direct indexing is correct, but `.get()` is also a valid Python method for accessing dictionary keys. The trap is to overlook `.get()` as a viable option.

How to eliminate wrong answers

Option A is wrong because `list(response)` would convert the entire dictionary keys into a list, not extract the 'response' field. Option C is wrong because `response[0]` attempts to index the dictionary as if it were a list, which raises a KeyError or TypeError since dictionaries are not sequence types. Option D is wrong because `response.get('response')` would return the value for the 'response' key, but the question specifically asks for the list; while this could work, it is not the correct snippet among the given options because the answer expects the direct indexing approach, and `get()` is a safer alternative but not the one marked correct in the exam context.

43
MCQeasy

A developer is writing a Python script to interact with the Cisco DNA Center REST API. Which HTTP method should be used to retrieve a list of network devices?

A.GET
B.PUT
C.POST
D.DELETE
AnswerA

GET is the standard method for retrieving data from a REST API.

Why this answer

The GET method is the correct HTTP verb for retrieving data from a REST API without modifying server state. In Cisco DNA Center, the endpoint /dna/intent/api/v1/network-device is accessed via GET to fetch a list of network devices, as this operation is idempotent and read-only, aligning with RESTful principles.

Exam trap

Cisco often tests the distinction between safe (GET) and unsafe (PUT, POST, DELETE) HTTP methods, trapping candidates who confuse POST with GET for read operations due to the common misconception that POST can be used for any data-fetching request.

How to eliminate wrong answers

Option B (PUT) is wrong because PUT is used to update or replace an existing resource, not to retrieve data; using it for a read operation would violate REST semantics and likely return a 405 Method Not Allowed error. Option C (POST) is wrong because POST is intended for creating new resources or submitting data to be processed, not for idempotent retrieval; it would incorrectly imply a state change on the server. Option D (DELETE) is wrong because DELETE is used to remove a resource, which is the opposite of retrieving a list; it would result in unintended deletion of network devices.

44
MCQeasy

An application needs to retrieve a list of network devices from Cisco DNA Center. Which HTTP method should be used against the /dna/intent/api/v1/network-device endpoint?

A.PUT
B.DELETE
C.GET
D.POST
AnswerC

GET retrieves data without side effects.

Why this answer

GET is used to retrieve resources in REST APIs.

45
MCQhard

During a TCP three-way handshake, which sequence of flags is sent from the client to initiate the connection?

A.SYN-ACK
B.SYN
C.ACK
D.FIN
AnswerB

Correct. The client sends SYN to initiate.

Why this answer

The client sends a SYN segment to start the handshake.

46
MCQmedium

A developer is using the Meraki Dashboard API to list all organizations. The base URL is https://api.meraki.com/api/v1/. What is the correct endpoint and authentication method?

A.POST /organizations with Bearer token in Authorization header
B.GET /organizations with Basic Auth username and password
C.GET /organizations with X-Cisco-Meraki-API-Key header
D.GET /v1/organizations with Cookie authentication
AnswerC

Correct. The API key is sent in the request header.

Why this answer

The Meraki Dashboard API uses a custom API key for authentication, sent via the `X-Cisco-Meraki-API-Key` header. To list all organizations, the correct HTTP method is GET, and the endpoint is `/organizations` (relative to the base URL `https://api.meraki.com/api/v1/`). This matches option C exactly.

Exam trap

The trap here is that candidates may confuse the Meraki API's custom header authentication with more common methods like Basic Auth or Bearer tokens, or incorrectly assume the endpoint path must include the version number again.

How to eliminate wrong answers

Option A is wrong because listing organizations is a read operation requiring GET, not POST; POST is used for creating resources. Option B is wrong because the Meraki API does not support Basic Auth; it requires a dedicated API key header. Option D is wrong because the endpoint includes `/v1/` redundantly (the base URL already contains the version), and the API uses a custom header, not cookie authentication.

47
MCQeasy

A developer needs to retrieve a list of all networks in a Meraki organization using the Dashboard API. Which API call should be made?

A.GET /organizations/{organizationId}/networks
B.POST /organizations/{organizationId}/networks
C.GET /networks
D.GET /organizations/{organizationId}/networks/{networkId}
AnswerA

Correct: This endpoint returns a list of networks in the specified organization.

Why this answer

The correct API call to retrieve a list of all networks in a Meraki organization is GET /organizations/{organizationId}/networks. Option A shows this endpoint. Option B uses the wrong HTTP method (POST is for creating).

Option C is missing the organization scope, and option D retrieves a single network.

Exam trap

Cisco often tests the distinction between list and single-resource endpoints, so the trap here is confusing GET /organizations/{organizationId}/networks (list all networks) with GET /organizations/{organizationId}/networks/{networkId} (get one network), or assuming a root-level /networks endpoint exists without the required organization scope.

How to eliminate wrong answers

Option A is wrong because it is identical to the correct answer (B) but not marked as correct in the question; however, in practice, both A and B represent the same endpoint, so the distinction is artificial. Option C is wrong because GET /networks is not a valid Meraki Dashboard API endpoint; the API requires the organization ID in the path to identify the scope. Option D is wrong because GET /organizations/{organizationId}/networks/{networkId} retrieves a single specific network, not a list of all networks.

48
MCQmedium

An application needs to discover the MAC address of another device on the same local network. Which protocol does it use?

A.DNS
B.ICMP
C.ARP
D.DHCP
AnswerC

ARP resolves IP to MAC.

Why this answer

ARP (Address Resolution Protocol) is used to map an IP address to a MAC address on a local network.

49
MCQhard

A network engineer uses Ansible to apply a standard ACL to multiple routers. The playbook runs without errors, but the ACL is not applied on some routers. Upon checking, those routers have a different configuration revision due to a previous manual change. What is the best practice to ensure consistent application?

A.Use the 'replace' parameter to overwrite the entire config
B.Use the ansible_network_os variable correctly
C.Use the 'backup' option in ios_config
D.Use the 'ignore_errors' directive
AnswerA

The replace parameter forces the device to replace its running config with the provided config, ensuring consistency.

Why this answer

The 'replace' parameter in Ansible's ios_config module forces a full configuration replacement on the target device, overwriting the entire running configuration with the intended configuration. This ensures that any prior manual changes or configuration revisions are eliminated, guaranteeing consistent ACL application across all routers regardless of their current state.

Exam trap

The trap here is that candidates often confuse 'replace' with 'backup' or think that setting the correct network OS variable is sufficient to handle configuration conflicts, but Cisco tests the understanding that only a full configuration replacement guarantees consistency when devices have divergent configuration revisions.

How to eliminate wrong answers

Option B is wrong because the 'ansible_network_os' variable is used to specify the network OS type (e.g., ios, nxos) for connection and module selection, not to handle configuration revision mismatches or ensure consistent ACL application. Option C is wrong because the 'backup' option in ios_config creates a backup of the current configuration before making changes, but it does not resolve conflicts caused by different configuration revisions; it only provides a rollback point. Option D is wrong because the 'ignore_errors' directive tells Ansible to continue execution even if a task fails, which would mask the failure of ACL application on some routers rather than fixing the underlying revision mismatch.

50
MCQeasy

In the OSI model, which layer is responsible for logical addressing and routing of packets between networks?

A.Layer 1 (Physical)
B.Layer 3 (Network)
C.Layer 4 (Transport)
D.Layer 2 (Data Link)
AnswerB

Correct. Layer 3 uses IP addresses and routers.

Why this answer

Layer 3 (Network layer) handles IP addressing and routing decisions.

51
Multi-Selectmedium

A developer is designing a Python script that needs to make multiple REST API calls to different endpoints sequentially. The script must handle the following requirements: (1) Use a variable timeout for each request, (2) Include an authorization token in every request, (3) Parse JSON responses. Which TWO features of the requests library should be used? (Choose two.)

Select 2 answers
A.Set the `data` parameter to JSON for request body.
B.Use the `timeout` parameter to specify a maximum wait time.
C.Use `verify=False` to speed up requests.
D.Set the `auth` parameter with a tuple (username, token).
E.Use the `headers` parameter to include the authorization token.
AnswersB, E

Prevents indefinite hanging.

Why this answer

The `timeout` parameter in the requests library allows you to specify a maximum wait time (in seconds) for each request, directly addressing requirement (1) for a variable timeout. Option E is correct because the `headers` parameter is the standard way to include an authorization token (e.g., `{'Authorization': 'Bearer <token>'}`) in every request, satisfying requirement (2). Both features are essential for controlling request behavior and authentication in REST API calls.

Exam trap

Cisco often tests the distinction between the `auth` parameter (for Basic Auth) and the `headers` parameter (for bearer tokens), causing candidates to mistakenly choose Option D when they should use Option E.

52
MCQeasy

A developer needs to share a Docker image with a colleague. They decide to push the image to a registry. Which Docker command pushes an image to a registry?

A.docker export my-image:latest
B.docker commit my-image:latest
C.docker push my-image:latest
D.docker pull my-image:latest
AnswerC

Correct command to push.

Why this answer

docker push uploads a local image to a registry. docker pull downloads. docker push requires the image to be tagged with the registry URL.

53
Matchingmedium

Match each HTTP status code to its meaning.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

OK

Created

Unauthorized

Forbidden

Not Found

Why these pairings

The correct matches are: 200 OK = Request succeeded, 201 Created = Resource created successfully, 400 Bad Request = Malformed syntax or invalid request, 404 Not Found = Resource not found. Common confusions include swapping 200 and 201, as well as 400 and 404.

54
Multi-Selectmedium

A developer is using the Meraki Dashboard API to manage networks. Which two statements about pagination are correct?

Select 2 answers
A.Paginated responses include a 'total' field showing the total count.
B.The API returns a maximum of 10 items per page.
C.The perPage parameter is required for all requests.
D.The startingAfter parameter is used for cursor-based pagination.
E.The Link header can provide the URL for the next page.
AnswersD, E

Correct. startingAfter and endingBefore are used for cursor-based pagination.

Why this answer

Meraki supports both LinkHeader and cursor-based pagination via startingAfter/endingBefore parameters.

55
Multi-Selecteasy

Which TWO of the following protocols use UDP as the transport layer protocol? (Choose two.)

Select 2 answers
A.DNS
B.HTTP
C.DHCP
D.SMTP
E.SSH
AnswersA, C

DNS uses UDP for queries (and TCP for zone transfers).

Why this answer

DNS and DHCP use UDP because they are lightweight and can tolerate some loss. HTTP uses TCP, and SMTP uses TCP.

56
MCQmedium

A security team wants to ensure that only signed Docker images are deployed in production. Which CI/CD pipeline step validates the image signature before deployment?

A.Use Docker Content Trust with Notary to verify signatures.
B.Compare the image SHA with a known good hash.
C.Run a vulnerability scan on the image.
D.Check the image size on registry.
AnswerA

Standard mechanism for image signing and verification.

Why this answer

Docker Content Trust (DCT) integrates with Notary to provide a framework for signing and verifying Docker images. When DCT is enabled in the CI/CD pipeline, the Docker client verifies the image's signature against a trusted signing key before allowing the image to be pulled or deployed, ensuring only images signed by authorized parties are used in production.

Exam trap

The trap here is that candidates confuse integrity verification (hash comparison) with authenticity verification (digital signatures), assuming a simple SHA check provides the same security as a full PKI-based signing scheme like Docker Content Trust.

How to eliminate wrong answers

Option B is wrong because comparing the image SHA with a known good hash only verifies integrity (that the image hasn't been tampered with during transit), not authenticity (that the image was signed by a trusted publisher). Option C is wrong because a vulnerability scan checks for known security flaws in the image's packages, but does not validate any cryptographic signature or provenance. Option D is wrong because checking the image size on the registry is a trivial metadata check that provides no security assurance about the image's origin or integrity.

57
MCQmedium

In the TCP three-way handshake, which sequence of flags is exchanged to establish a connection?

A.SYN, ACK, SYN-ACK
B.ACK, SYN, SYN-ACK
C.SYN-ACK, SYN, ACK
D.SYN, SYN-ACK, ACK
AnswerD

Correct sequence.

Why this answer

The TCP three-way handshake consists of SYN, SYN-ACK, ACK.

58
MCQeasy

A developer is trying to access an internal corporate web API at http://api.internal.company.com from their workstation, which has the IP configuration: IP address 192.168.1.100, subnet mask 255.255.255.0, default gateway 192.168.1.1, and DNS server 192.168.1.2. The developer can ping the DNS server (192.168.1.2) successfully, but when they try to curl the API endpoint, the command times out. The developer also confirms that the API server is up and reachable from other devices on the same subnet. Which action should the developer take to resolve this issue?

A.Disable the local firewall on the workstation to allow all outbound traffic.
B.Renew the DHCP lease to obtain a new IP address.
C.Restart the network interface card (NIC) to reset the connection.
D.Check the default gateway configuration. Ensure it is set to 192.168.1.1 and that the gateway can route traffic to the API's subnet.
AnswerD

The default gateway is likely missing or misconfigured, preventing traffic to the API subnet. Verifying its setting and reachability resolves the issue.

Why this answer

The developer can ping the DNS server (192.168.1.2) successfully, which confirms that local network connectivity and DNS resolution are working. However, the curl command to the API endpoint times out, even though the API server is reachable from other devices on the same subnet. This indicates that the workstation can reach local resources but cannot route traffic to the API's subnet, pointing to a default gateway misconfiguration.

Option D is correct because the default gateway (192.168.1.1) must be correctly configured and capable of forwarding traffic to the destination subnet; if it is missing or misconfigured, outbound traffic to non-local networks will fail.

Exam trap

Cisco often tests the distinction between local connectivity (same subnet) and routing (different subnet), leading candidates to mistakenly focus on DNS, firewall, or NIC issues when the real problem is a missing or misconfigured default gateway.

How to eliminate wrong answers

Option A is wrong because disabling the local firewall is a blunt, insecure approach that does not address the routing issue; the firewall is unlikely to block outbound HTTP traffic to an internal IP, and the problem is at Layer 3 (routing), not Layer 4 (firewall filtering). Option B is wrong because renewing the DHCP lease would only change the IP address or refresh DNS settings, but the current IP (192.168.1.100) is valid and the DNS server is reachable; the issue is not with IP allocation but with the default gateway. Option C is wrong because restarting the NIC would reset the link-layer connection but would not fix a misconfigured default gateway; the NIC is functioning correctly since the workstation can ping the DNS server on the same subnet.

59
MCQmedium

Which authentication flow is most appropriate for a native mobile app that needs to access the Webex API on behalf of a user?

A.Client credentials grant
B.Resource owner password grant
C.Authorization code grant
D.Implicit grant
AnswerC

Allows a user to consent and delegate access to the app.

Why this answer

The authorization code grant is designed for apps that can securely store a client secret, but for native apps, PKCE (Proof Key for Code Exchange) is recommended. However, among standard grants, authorization code is the correct choice for user delegation.

60
Multi-Selecthard

Which TWO of the following features are provided by Cisco DNA Center but NOT by Cisco Prime Infrastructure? (Choose two.)

Select 2 answers
A.Configuration compliance auditing
B.Software image management
C.Machine learning-based assurance analytics
D.Policy-based automation for SD-Access
E.Network Hierarchy and Site Management
AnswersC, D

DNA Center uses AI/ML for assurance; Prime does not.

Why this answer

Machine learning-based assurance analytics is a feature exclusive to Cisco DNA Center, which uses advanced telemetry and ML algorithms to proactively detect anomalies, predict network issues, and provide closed-loop assurance. Cisco Prime Infrastructure relies on traditional polling and threshold-based monitoring, lacking the predictive and adaptive analytics capabilities that DNA Center's Assurance engine offers.

Exam trap

Cisco often tests the misconception that Prime Infrastructure and DNA Center share all core management features, but the key differentiator is DNA Center's intent-based networking capabilities, including policy-based automation for SD-Access and ML-driven assurance, which are not present in Prime Infrastructure.

61
Multi-Selecteasy

Which two HTTP methods are considered idempotent? (Choose two.)

Select 2 answers
A.POST
B.PATCH
C.PUT
D.GET
E.DELETE
AnswersC, D

PUT is idempotent.

Why this answer

GET and PUT are both idempotent. Idempotent methods produce the same result when called multiple times. GET is idempotent because it retrieves a resource without side effects.

PUT is idempotent because multiple identical PUT requests result in the same resource state. POST is not idempotent because it creates new resources. PATCH is not idempotent because the same patch may have different effects on different resource states.

DELETE is also idempotent, but the question specifically asks for two methods, and GET and PUT are universally recognized as idempotent.

62
MCQmedium

What is the correct URL path for retrieving the configuration of a network interface using RESTCONF on a Cisco device?

A./restconf/data/ietf-interfaces:interfaces
B./restconf/data/interfaces
C./api/restconf/data/interfaces
D./restconf/operations/get-config
AnswerA

Correct RESTCONF path with YANG module prefix.

Why this answer

RESTCONF uses /restconf/data/ followed by the YANG module path. The standard path for interfaces is /restconf/data/ietf-interfaces:interfaces.

63
MCQeasy

Which Docker network driver allows a container to share the host's network stack, giving it direct access to host interfaces?

A.none
B.overlay
C.bridge
D.host
AnswerD

Host mode shares the host's network stack.

Why this answer

The 'host' network driver in Docker removes network isolation between the container and the host, allowing the container to use the host's network stack directly. This means the container binds to host interfaces and ports without NAT or port mapping, giving it direct access to the host's IP address and network configuration.

Exam trap

Cisco often tests the misconception that 'bridge' is the default and most common driver, leading candidates to choose it when the question specifically asks for sharing the host's network stack, which only the 'host' driver provides.

How to eliminate wrong answers

Option A is wrong because the 'none' driver disables all networking for the container, leaving it with only a loopback interface and no external connectivity. Option B is wrong because the 'overlay' driver creates a distributed network across multiple Docker hosts, enabling multi-host communication but not sharing the host's own network stack. Option C is wrong because the 'bridge' driver creates an isolated, private network on the host using NAT and port forwarding, preventing direct access to host interfaces.

64
MCQhard

You are a network engineer at a financial services company. The network uses OSPF as the IGP, and all routers are in area 0. The core network consists of four routers (R1, R2, R3, R4) connected in a full mesh with GigabitEthernet links. The OSPF cost is set to 1 on all interfaces. Recently, a new application was deployed that requires low jitter and deterministic paths between two servers: Server A connected to R1 and Server B connected to R4. During peak hours, you notice that traffic between the servers is using the path R1->R3->R4 instead of R1->R2->R4, causing higher latency due to congestion on R3. OSPF metrics reflect equal cost to both paths (cost 2 each). You need to enforce that traffic from Server A to Server B always uses the path through R2 without changing the topology or adding additional hardware. Which action should you take?

A.Change the routing protocol from OSPF to EIGRP to have better metric control.
B.Use the 'default-information originate' command on R2 to attract traffic.
C.Configure policy-based routing (PBR) on R1 to send traffic destined to Server B's subnet to the next-hop R2.
D.Increase the OSPF cost on the interface between R1 and R3 to a value higher than the cost of the path through R2.
AnswerD

Increasing cost on R1-R3 makes the R1-R2-R4 path lower total cost (2 vs 1+10=11).

Why this answer

Increasing the OSPF cost on the R1-R3 interface makes the path through R3 less preferred (cost >2), while the R1-R2-R4 path retains a total cost of 2. OSPF uses cost as its metric, and the lowest-cost path is installed in the routing table. By raising the cost on the R1-R3 link, you force traffic from Server A to Server B to take the deterministic path through R2 without changing the topology or adding hardware.

Exam trap

Cisco often tests the misconception that PBR is required for path control when OSPF metrics can be easily tuned, leading candidates to overlook the simpler and more appropriate solution of adjusting interface cost.

How to eliminate wrong answers

Option A is wrong because changing the routing protocol from OSPF to EIGRP is unnecessary and disruptive; OSPF already supports cost manipulation to influence path selection, and the question explicitly requires no topology or hardware changes. Option B is wrong because the 'default-information originate' command injects a default route into OSPF, which does not influence specific host or subnet routing between Server A and Server B; it would only affect traffic destined to networks not in the OSPF database. Option C is wrong because policy-based routing (PBR) can override the routing table, but it adds complexity and administrative overhead; the simpler and more standard approach is to adjust OSPF metrics, which directly influences the SPF calculation and is the intended method for traffic engineering in OSPF.

65
MCQeasy

You are a junior network developer tasked with automating device inventory retrieval using the Cisco Meraki Dashboard API. You have already generated an API key with the appropriate scopes and have tested it successfully with simple GET requests. However, when you attempt to retrieve the list of all devices in your organization via the 'GET /organizations/{organizationId}/devices' endpoint, you receive a 403 Forbidden error. You verify that the API key is correctly included in the request header as 'X-Cisco-Meraki-API-Key'. You also confirm that the organization ID is correct. You are able to reach the Meraki Dashboard API server from your environment, as other endpoints (e.g., 'GET /organizations') work fine. What is the most likely cause of the 403 error, and what should you do to resolve it?

A.The network firewall is blocking the request; check firewall logs and allow outbound traffic to the Meraki API.
B.The API key lacks the required permissions; regenerate the API key with full read access for devices.
C.The request should use POST instead of GET; change the HTTP method to POST to retrieve device data.
D.The API endpoint URL is incorrect; verify the exact path and version in the API documentation.
AnswerB

Correct. The 403 indicates insufficient permissions for the specific endpoint, despite the key being valid for other endpoints.

Why this answer

A 403 Forbidden error specifically indicates that the server understood the request but refuses to authorize it. Since other endpoints like 'GET /organizations' work, network connectivity and API key validity are confirmed. The most likely cause is that the API key lacks the required scope or permission to access the 'GET /organizations/{organizationId}/devices' endpoint.

Regenerating the API key with full read access (including device inventory) resolves this, as Meraki API keys are scoped at creation time and cannot be modified after generation.

Exam trap

Cisco often tests the distinction between authentication (401) and authorization (403) errors, where a 403 means the key is valid but lacks permissions, tricking candidates into blaming network issues or incorrect endpoints.

How to eliminate wrong answers

Option A is wrong because a network firewall blocking the request would typically result in a timeout or connection error (e.g., 0 bytes received), not a 403 Forbidden HTTP response from the server. Option C is wrong because the Meraki Dashboard API uses GET for retrieving data (as per RESTful conventions), and POST is used for creating resources; changing the method would return a 405 Method Not Allowed or 404, not a 403. Option D is wrong because the endpoint URL is verified correct (the organization ID is confirmed, and other endpoints work), and a wrong URL would produce a 404 Not Found, not a 403 Forbidden.

66
MCQeasy

Which transport protocol is connection-oriented and ensures reliable delivery through acknowledgments and retransmissions?

A.IP
B.HTTP
C.TCP
D.UDP
AnswerC

Correct. TCP uses three-way handshake and retransmission.

Why this answer

TCP is connection-oriented and provides reliability.

67
MCQmedium

A Python function needs to accept a variable number of keyword arguments. Which parameter syntax should be used?

A.*kwargs
B.**kwargs
C.*args
D.&kwargs
AnswerB

**kwargs collects keyword arguments into a dict.

Why this answer

In Python, the **kwargs syntax allows a function to accept a variable number of keyword arguments by collecting them into a dictionary. This is the correct parameter syntax for handling arbitrary keyword arguments, as specified in Python's function definition rules.

Exam trap

Cisco often tests the distinction between *args (positional arguments) and **kwargs (keyword arguments), and candidates mistakenly choose *kwargs or confuse the syntax with other operators like &.

How to eliminate wrong answers

Option A is wrong because *kwargs is not valid Python syntax; the correct syntax for variable positional arguments is *args, not *kwargs. Option C is wrong because *args collects extra positional arguments into a tuple, not keyword arguments. Option D is wrong because &kwargs is not a valid Python operator or syntax; Python uses ** for dictionary unpacking and keyword argument collection, not &.

68
MCQeasy

What authentication method is required to obtain a token from Cisco DNA Center's API?

A.Bearer token in Authorization header
B.API key in header X-API-Key
C.Basic Authentication (username:password base64 encoded) in Authorization header
D.OAuth 2.0 client credentials grant
AnswerC

Correct. DNA Center uses Basic Auth to get a token.

Why this answer

Cisco DNA Center uses Basic Authentication over HTTPS to obtain a token via POST /dna/system/api/v1/auth/token.

69
Multi-Selecteasy

A Python function needs to handle both expected and unexpected errors during file I/O. Which THREE constructs are essential for robust exception handling? (Choose three.)

Select 3 answers
A.except
B.else
C.try
D.raise
E.finally
AnswersA, C, E

Catches specific exceptions.

Why this answer

(except) is correct because it is the block that catches exceptions raised during execution of the try block. Without an except clause, any error would propagate unhandled and crash the program. In file I/O, this is essential to catch specific exceptions like FileNotFoundError or PermissionError and respond appropriately.

Exam trap

Cisco often tests the distinction between constructs that handle exceptions (try, except, finally) versus those that control flow (else) or raise exceptions (raise), leading candidates to include optional or non-handling constructs as 'essential'.

70
Multi-Selecthard

A developer is implementing exception handling in Python for a function that makes an HTTP request. Which THREE exception types should be caught to handle common network and HTTP errors? (Choose three.)

Select 3 answers
A.requests.exceptions.ConnectionError
B.requests.exceptions.InvalidURL
C.requests.exceptions.Timeout
D.requests.exceptions.HTTPError
E.requests.exceptions.TooManyRedirects
AnswersA, C, D

Raised when a connection fails (e.g., DNS failure, refused connection).

Why this answer

`requests.exceptions.ConnectionError` is raised when a network connection cannot be established, such as DNS resolution failure or refused TCP connection. This is a fundamental network error that must be handled in any HTTP client to ensure robust error recovery.

Exam trap

Cisco often tests the distinction between exceptions that represent recoverable runtime errors (ConnectionError, Timeout, HTTPError) versus exceptions that indicate programming bugs (InvalidURL) or edge-case behavior (TooManyRedirects), leading candidates to over-select or under-select the correct set.

71
Multi-Selecthard

Which THREE steps are essential in a typical CI/CD pipeline for a containerized application? (Choose THREE.)

Select 3 answers
A.Perform code review
B.Build the Docker image
C.Push the image to a container registry
D.Run unit and integration tests
E.Deploy directly to production without testing
AnswersB, C, D

Building is the first step to create the artifact.

Why this answer

Building the Docker image is essential because it packages the application code, dependencies, and runtime into a portable container. Without this step, there is no deployable artifact for the CI/CD pipeline to promote through stages.

Exam trap

Cisco often tests the distinction between development practices (like code review) and automated pipeline steps, so candidates mistakenly include code review as a CI/CD step when it is actually a prerequisite.

72
MCQmedium

A developer is working on a Python application that automates the configuration of multiple Cisco IOS-XE devices using RESTCONF. The application uses the requests library. The developer notices that sometimes the PUT request to update the interface description returns a 409 Conflict error. Upon investigation, the developer finds that the issue occurs when two instances of the application are running concurrently and attempt to update the same interface. The developer wants to implement a strategy to avoid conflicts. Which approach is most effective?

A.Implement a retry mechanism with exponential backoff and random jitter
B.Use a distributed lock mechanism to ensure exclusive access
C.Change the PUT to PATCH and hope for partial updates
D.Use a timestamp in the request to force overwrite
AnswerB

A lock guarantees that only one instance modifies the resource at a time, eliminating conflicts.

Why this answer

A distributed lock mechanism (Option B) is the most effective approach because it ensures exclusive access to the shared resource (the interface configuration) across multiple application instances. In a concurrent environment, retries (Option A) cannot prevent the fundamental race condition—both instances may still attempt conflicting writes. A distributed lock, such as one based on Redis or ZooKeeper, serializes access, guaranteeing that only one instance modifies the interface at a time, which directly resolves the 409 Conflict error from RESTCONF.

Exam trap

Cisco often tests the misconception that retries or changing HTTP methods (PUT to PATCH) can resolve concurrency conflicts, when in fact they do not address the root cause of simultaneous writes to the same resource.

How to eliminate wrong answers

Option A is wrong because a retry mechanism with exponential backoff and random jitter only handles transient conflicts (e.g., network glitches) but does not prevent the underlying race condition—both instances can still attempt to update the same interface concurrently, leading to repeated 409 errors. Option C is wrong because changing PUT to PATCH does not inherently avoid conflicts; RESTCONF PATCH still requires a consistent base state, and concurrent PATCH requests can still cause 409 Conflict errors if the resource changes between reads and writes. Option D is wrong because using a timestamp to force overwrite ignores the conflict detection mechanism of RESTCONF (which uses ETags or If-Match headers) and can lead to lost updates or data corruption, as the server may still reject the request if the timestamp does not match the expected state.

73
MCQmedium

During a security audit, an engineer discovers that a CI/CD pipeline is storing API keys in plain text in environment variables. Which best practice should be implemented to mitigate this risk?

A.Store secrets in a .env file and add it to the repository with restricted access.
B.Encrypt the environment variables using a tool like openssl and store the key elsewhere.
C.Use a dedicated secrets management service like HashiCorp Vault or AWS Secrets Manager and retrieve secrets at runtime.
D.Remove the API keys from the pipeline and require manual entry each time a build runs.
AnswerC

Secrets managers provide secure storage, rotation, and audit capabilities, preventing exposure in plaintext.

Why this answer

Dedicated secrets management services like HashiCorp Vault or AWS Secrets Manager provide secure storage, access control, and audit logging for sensitive data. They allow the CI/CD pipeline to retrieve API keys at runtime via authenticated API calls, ensuring secrets are never stored in plain text in environment variables or configuration files. This approach aligns with the principle of least privilege and eliminates the risk of exposure through source code or build logs.

Exam trap

Cisco often tests the misconception that encrypting secrets or storing them in a restricted repository is sufficient, when the correct answer is always to use a dedicated secrets management service that retrieves secrets at runtime, avoiding any persistent storage of sensitive data in the pipeline.

How to eliminate wrong answers

Option A is wrong because storing secrets in a .env file and adding it to the repository, even with restricted access, still embeds the secrets in version control history and exposes them to anyone with repository access, violating the principle of never storing secrets in code. Option B is wrong because encrypting environment variables with openssl and storing the key elsewhere introduces key management complexity and does not prevent the encrypted value from being exposed in logs or environment dumps; the decryption key must still be securely managed, which is often mishandled. Option D is wrong because requiring manual entry of API keys each time a build runs is impractical for automated CI/CD pipelines, introduces human error, and defeats the purpose of continuous integration and deployment.

74
Matchingmedium

Match each Python library to its typical use in network automation.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

HTTP library for REST API calls

SSH protocol implementation

NETCONF client for network devices

Validate JSON data structures

Parse and emit YAML files

Why these pairings

Netmiko, NAPALM, Paramiko, and PyEZ are common Python libraries in network automation. Netmiko simplifies SSH, NAPALM provides a vendor-agnostic API, Paramiko is a low-level SSH library, and PyEZ is Juniper-specific. Common confusions include mixing Netmiko with HTTP libraries and NAPALM with vendor-specific tools.

75
MCQhard

A network automation script uses RESTCONF to configure a router. The script receives an HTTP 409 Conflict response. What is the most likely cause?

A.The resource already exists
B.The router is unreachable
C.The request body is malformed
D.Incorrect authentication
AnswerA

A 409 Conflict typically occurs when trying to create a resource that already exists.

Why this answer

RESTCONF uses HTTP status codes to indicate the result of an operation. An HTTP 409 Conflict specifically means the request could not be completed due to a conflict with the current state of the resource. In the context of a network automation script using RESTCONF to configure a router, this most commonly occurs when the script attempts to create a resource (e.g., an interface or VLAN) that already exists, violating the resource's uniqueness constraint.

Exam trap

Cisco often tests the distinction between HTTP 409 Conflict (resource state conflict) and HTTP 400 Bad Request (malformed syntax), leading candidates to confuse a semantic conflict with a syntax error.

How to eliminate wrong answers

Option B is wrong because a router being unreachable would result in a connection timeout or an HTTP 503 Service Unavailable or 502 Bad Gateway error, not a 409 Conflict. Option C is wrong because a malformed request body would typically trigger an HTTP 400 Bad Request error, indicating the server cannot parse the request. Option D is wrong because incorrect authentication would result in an HTTP 401 Unauthorized or 403 Forbidden response, not a 409 Conflict.

Page 1 of 14

Page 2