Courseiva

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

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

Page 3

Page 4 of 14

Page 5
226
MCQmedium

In a Cisco DNA Center environment, an application needs to retrieve the network device list using REST API. Which authentication method is required?

A.OAuth 2.0 client credentials grant with client ID and secret
B.Obtain an API token by POSTing credentials to /dna/system/api/v1/auth/token, then use the token in subsequent requests
C.Basic authentication with username and password in the header
D.API key passed in a query parameter
AnswerB

DNA Center uses a token-based authentication; the token is passed in the X-Auth-Token header.

Why this answer

Cisco DNA Center uses token-based authentication. The correct flow is to first send a POST request to the /dna/system/api/v1/auth/token endpoint with a valid username and password (typically using Basic Authentication over HTTPS). The response contains a JSON Web Token (JWT) that must be included in the X-Auth-Token header of all subsequent API requests.

This token has a configurable expiry (default 60 minutes) and must be refreshed before it expires.

Exam trap

Cisco often tests the distinction between the authentication method used to obtain a token (Basic Auth) versus the method used to authorize subsequent API calls (Bearer token), leading candidates to mistakenly select Basic Authentication for all requests.

How to eliminate wrong answers

Option A is wrong because OAuth 2.0 client credentials grant is not the authentication method used by Cisco DNA Center; DNA Center uses a custom token-based system, not the OAuth 2.0 framework. Option C is wrong because Basic authentication with username and password in the header is only used for the initial token acquisition step, not for subsequent API calls; sending credentials with every request is insecure and not supported by the API. Option D is wrong because API keys passed in query parameters are not used by Cisco DNA Center; the token must be sent in the Authorization header as a Bearer token, not as a query parameter.

227
MCQeasy

Which Cisco platform provides a cloud-managed dashboard with a REST API that uses an API key in the header and has a rate limit of 5 requests per second?

A.Cisco Webex
B.Cisco Meraki
C.Cisco DNA Center
D.Cisco IOS XE
AnswerB

Meraki is cloud-managed, uses API key, and has rate limit.

Why this answer

Meraki is a cloud-managed platform with the described API characteristics.

228
MCQmedium

An organization has a web server that needs to be reachable via both 'www.example.com' and 'example.com'. Which DNS record type should be used to make 'example.com' an alias for 'www.example.com'?

A.A record
B.MX record
C.NS record
D.CNAME record
AnswerD

CNAME maps an alias to the canonical name.

Why this answer

A CNAME record creates an alias that points to the canonical name. The A record points to an IP address, not another domain.

229
MCQeasy

An engineer notices that a switch port configured as an access port in VLAN 10 is not forwarding traffic. The switch shows the port is up/up. What is the most likely cause?

A.Spanning Tree Protocol blocking the port
B.The connected device is sending 802.1Q tagged frames
C.Speed/duplex mismatch
D.VLAN 10 does not exist in the VLAN database
AnswerB

Access ports drop tagged frames.

Why this answer

An access port expects to receive and send only untagged frames, as it belongs to a single VLAN (VLAN 10). If the connected device sends 802.1Q tagged frames, the switch will drop them because the access port does not process VLAN tags. This explains why the port is up/up but not forwarding traffic.

Exam trap

Cisco often tests the misconception that an access port can handle tagged frames, leading candidates to overlook the strict untagged-only behavior of access ports.

How to eliminate wrong answers

Option A is wrong because Spanning Tree Protocol (STP) blocking would place the port in a blocking state, not up/up; STP blocking is typically seen on trunk ports or redundant links, not on an access port in a single VLAN. Option C is wrong because a speed/duplex mismatch would cause layer 1 errors (e.g., CRC errors, collisions) and often result in the port being up/down or flapping, not up/up with no traffic forwarding. Option D is wrong because if VLAN 10 did not exist in the VLAN database, the port would be operationally down (inactive) or placed in a suspended state, not up/up.

230
MCQmedium

During a CI/CD pipeline for network changes, a Jenkins job runs an Ansible playbook that applies configuration to a device. The playbook fails with a timeout error. What is the most likely cause?

A.The playbook syntax is invalid
B.Incorrect credentials
C.The device is under heavy CPU load causing slow responses
D.Device is unreachable
AnswerC

High CPU can delay responses, resulting in timeout errors.

Why this answer

A timeout error in an Ansible playbook during a CI/CD pipeline typically indicates that the network device is responding too slowly to complete the SSH or API session within the configured timeout period. Heavy CPU load on the device can cause delayed responses to Ansible's control node, triggering the timeout before the playbook finishes applying the configuration. This is distinct from connectivity failures or authentication issues, which produce different error messages.

Exam trap

Cisco often tests the distinction between connectivity failures (unreachable), authentication errors (wrong credentials), and performance issues (timeouts), where candidates mistakenly assume any failure is due to a syntax or credential problem rather than device resource exhaustion.

How to eliminate wrong answers

Option A is wrong because an invalid playbook syntax would cause a parsing error at the start of the job, not a timeout during execution. Option B is wrong because incorrect credentials would result in an authentication failure (e.g., 'Authentication failed' or 'Permission denied'), not a timeout. Option D is wrong because an unreachable device would produce a 'Host unreachable' or 'Connection refused' error immediately, not a timeout after the connection is established.

231
Multi-Selecthard

Which TWO of the following Git commands modify the commit history? (Select TWO)

Select 2 answers
A.git diff
B.git log
C.git commit --amend
D.git rebase -i
E.git status
AnswersC, D

This command modifies the last commit.

Why this answer

`git commit --amend` modifies the most recent commit by replacing it with a new commit that incorporates staged changes or an updated commit message, effectively rewriting the commit history. `git rebase -i` (interactive rebase) allows you to reorder, squash, edit, or drop commits, which also rewrites the commit history by creating new commit objects.

Exam trap

Cisco often tests the distinction between read-only inspection commands (like `git diff`, `git log`, `git status`) and commands that actually rewrite commit history, leading candidates to mistakenly select non-modifying commands.

232
MCQmedium

Which HTTP header is used to specify the format of the request body (e.g., application/json) when sending a POST request to a REST API?

A.Accept
B.Content-Type
C.Authorization
D.X-Requested-With
AnswerB

Content-Type specifies the media type of the request body.

Why this answer

Content-Type indicates the media type of the request body. Accept indicates the desired response format. Authorization carries credentials.

233
Multi-Selecthard

Which THREE of the following are constraints of the REST architectural style (as defined by Roy Fielding)?

Select 3 answers
A.Client-server architecture
B.Layered system
C.Session management on the server
D.Code-on-demand
E.Statelessness
AnswersA, B, E

Client-server is a fundamental REST constraint separating concerns between user interface and data storage.

Why this answer

The client-server constraint is a fundamental principle of REST, as defined by Roy Fielding in his doctoral dissertation. It separates the user interface concerns from data storage concerns, improving portability across multiple platforms and scalability by simplifying server components. This separation allows each side to evolve independently, which is a core architectural benefit.

Exam trap

Cisco often tests the distinction between mandatory and optional constraints of REST, so candidates may incorrectly include code-on-demand as a required constraint or assume that server-side session management is allowed under statelessness.

234
MCQeasy

A web application uses HTTPS to secure communications between client and server. What does HTTPS add on top of HTTP to provide encryption and authentication?

A.SSH
B.IPsec
C.SSL/TLS
D.VPN
AnswerC

HTTPS = HTTP over TLS (formerly SSL).

Why this answer

HTTPS uses TLS (Transport Layer Security) to encrypt HTTP traffic and verify server identity.

235
MCQhard

A developer is implementing gRPC telemetry with dial-out streaming from a Cisco IOS XE device. Which component initiates the TCP connection to the collector?

A.A third-party orchestrator initiates
B.The network device initiates the connection
C.The collector initiates the connection
D.Both initiate simultaneously
AnswerB

Dial-out means device pushes data.

Why this answer

In dial-out streaming, the network device (server) initiates the connection to the collector (client).

236
Multi-Selecteasy

Which TWO Cisco platforms provide comprehensive REST APIs for network configuration and monitoring?

Select 2 answers
A.Cisco ASA
B.Cisco IOS XE
C.Cisco ISE
D.Cisco Prime Infrastructure
E.Cisco DNA Center
AnswersB, E

Cisco IOS XE supports RESTCONF and NETCONF APIs for device configuration and monitoring.

Why this answer

Cisco IOS XE provides comprehensive REST APIs through its RESTCONF and NETCONF interfaces, enabling programmatic configuration and monitoring of network devices. Cisco DNA Center offers a rich set of REST APIs for intent-based networking, allowing automation of network design, provisioning, policy, and assurance tasks. Both platforms are designed for modern network programmability and are key components of Cisco's DevNet ecosystem.

Exam trap

Cisco often tests the distinction between platforms with REST APIs for network configuration versus those with limited or specialized APIs, so candidates may incorrectly assume that any Cisco platform with an API qualifies, missing the 'comprehensive' requirement for general network configuration and monitoring.

237
MCQeasy

Which Docker command is used to build an image from a Dockerfile?

A.docker run
B.docker commit
C.docker build
D.docker create
AnswerC

docker build is the correct command to build an image.

Why this answer

The `docker build` command reads the instructions in a Dockerfile and assembles a Docker image layer by layer. Each instruction in the Dockerfile (e.g., FROM, RUN, COPY) creates a new layer that is cached and reused, making subsequent builds faster. This is the standard and only command designed specifically for building images from a Dockerfile.

Exam trap

Cisco often tests the distinction between commands that create containers (`docker run`, `docker create`) and the command that builds images (`docker build`), hoping candidates confuse the purpose of `docker run` with image creation.

How to eliminate wrong answers

Option A is wrong because `docker run` creates and starts a container from an existing image, it does not build a new image. Option B is wrong because `docker commit` creates a new image from a container's current state (filesystem changes), but it is not the intended way to build from a Dockerfile; it bypasses the reproducible, layered build process defined in the Dockerfile. Option D is wrong because `docker create` only creates a container from an image without starting it, and it does not perform any image building.

238
MCQeasy

A company has two Cisco Catalyst switches, SW1 and SW2, connected via a trunk link using port GigabitEthernet0/1 on both switches. SW1 is the root bridge for all VLANs spanning tree. VLAN 10 users on SW1 report they can access the internet and resources in VLAN 10 on SW2, but cannot reach a critical server in VLAN 20 connected to SW2. The server in VLAN 20 has a static IP address and can communicate with other VLAN 20 devices on SW2. SW2's configuration for the trunk port includes 'switchport trunk allowed vlan 10,20'. SW1's trunk port configuration is 'switchport trunk allowed vlan 10'. The network administrator has verified that both switches have VLANs 10 and 20 created and that the default gateways are correct. What is the most likely cause of the issue?

A.SW1's trunk port is not configured to allow VLAN 20.
B.SW1 is the root bridge for VLAN 20, causing traffic to be blocked.
C.The trunk link between SW1 and SW2 is down.
D.The server in VLAN 20 has an incorrect IP address configuration.
AnswerA

The trunk allowed VLAN list on SW1 only includes VLAN 10, so VLAN 20 traffic is blocked.

Why this answer

SW1's trunk port is configured with 'switchport trunk allowed vlan 10', which explicitly permits only VLAN 10 traffic. Since VLAN 20 is not in the allowed list, frames from VLAN 20 (including traffic to the server) are dropped at the trunk egress on SW1. This prevents SW1 hosts in VLAN 10 from reaching the VLAN 20 server on SW2, even though the trunk is up and both VLANs exist on both switches.

Exam trap

Cisco often tests the distinction between VLAN existence on a switch and VLAN permission on a trunk port—candidates assume that if a VLAN is created on both switches, traffic will flow, but the trunk allowed list is the gatekeeper.

How to eliminate wrong answers

Option B is wrong because SW1 being the root bridge for all VLANs (including VLAN 20) does not block traffic; the root bridge is the reference point for spanning tree and does not itself cause traffic blocking—blocking occurs on non-root ports. Option C is wrong because if the trunk link were down, VLAN 10 users on SW1 would also be unable to access VLAN 10 resources on SW2, which they can. Option D is wrong because the server in VLAN 20 can communicate with other VLAN 20 devices on SW2, proving its IP configuration is correct for its local subnet.

239
MCQhard

A DevOps team is automating network configuration using Ansible. They want to push a new VLAN configuration to a switch but ensure that only one switch is updated at a time to avoid network disruption. Which Ansible strategy or feature should they use?

A.Use 'strategy: free' to manage execution order.
B.Set 'forks: 1' in the playbook.
C.Use 'throttle: 1' on each task.
D.Set 'serial: 1' in the playbook.
AnswerD

'serial: 1' ensures only one host is updated at a time, preventing disruption.

Why this answer

Setting `serial: 1` in an Ansible playbook forces the play to execute against only one host at a time, even if the play targets multiple switches. This ensures that VLAN configuration is pushed to exactly one switch before moving to the next, preventing network disruption from simultaneous changes.

Exam trap

The trap here is that candidates confuse `forks` (which controls task-level parallelism) with `serial` (which controls host-level batching), or mistakenly think `throttle` or `strategy: free` can achieve the same serialization effect.

How to eliminate wrong answers

Option A is wrong because `strategy: free` allows each host to run tasks independently without waiting for others, which could cause multiple switches to be updated concurrently, defeating the purpose of serialized updates. Option B is wrong because `forks: 1` limits the number of parallel task executions but still allows multiple hosts to be processed in parallel if the play targets multiple hosts; `forks` controls task-level parallelism, not host-level serialization. Option C is wrong because `throttle: 1` limits the number of concurrent task runs across all hosts but does not guarantee that only one switch is updated at a time; it can still allow multiple hosts to start the task before the throttle limit is reached, and it applies per task, not per play.

240
MCQhard

In a Kubernetes cluster, you need to expose a set of pods running a web application to external traffic on a specific port. Which Service type should you use to provide a stable external IP address?

A.ClusterIP
B.LoadBalancer
C.NodePort
AnswerB

LoadBalancer provides a stable external IP and is the correct choice for external exposure in cloud environments.

Why this answer

LoadBalancer provisions a cloud load balancer and assigns a stable external IP, making the service accessible from outside the cluster.

241
MCQmedium

A developer calls Cisco DNA Center API to get device details and receives the JSON response shown. The device 'Switch-A' is listed but the status is 'unreachable'. Which Cisco DNA Center API endpoint was most likely used?

A./dna/intent/api/v1/network-device/{id}
B./dna/intent/api/v1/site/{siteId}/device
C./dna/intent/api/v1/device-health
D./dna/intent/api/v1/network-device
AnswerA

This endpoint retrieves a single device by ID, matching the response structure.

Why this answer

The endpoint /dna/intent/api/v1/network-device/{id} retrieves detailed information for a specific network device, including its management IP address, reachability status, and other attributes. The JSON response showing 'Switch-A' with status 'unreachable' indicates a single-device query, which matches the path parameter {id} used to target a particular device. This endpoint returns a device-level status field (e.g., 'reachabilityStatus') that directly reflects the 'unreachable' value seen in the response.

Exam trap

Cisco often tests the distinction between list endpoints (e.g., /network-device) and detail endpoints (e.g., /network-device/{id}), where candidates mistakenly choose the list endpoint because they see a device name in the response, but the presence of a specific status like 'unreachable' for a single device indicates the ID-specific endpoint was used.

How to eliminate wrong answers

Option B is wrong because /dna/intent/api/v1/site/{siteId}/device returns a list of devices associated with a specific site, not a single device's detailed status; it would not include the 'unreachable' status for an individual device in the same granular way. Option C is wrong because /dna/intent/api/v1/device-health returns aggregated health scores (e.g., overall health, network, wireless) for devices, not the raw reachability status like 'unreachable' for a single device. Option D is wrong because /dna/intent/api/v1/network-device (without an ID) returns a list of all network devices, each with summary information, but the question's response shows details for a single device (Switch-A) with its status, which requires the ID-specific endpoint.

242
MCQmedium

A Python function is defined as: def process(*args, **kwargs): return sum(args) + kwargs.get('offset', 0) What is the result of process(1, 2, 3, offset=10)?

A.6
B.16
C.Error
D.10
AnswerB

6 + 10 = 16.

Why this answer

*args captures positional arguments as tuple (1,2,3), sum is 6, kwargs dict includes {'offset':10}, .get returns 10, total 16.

243
Multi-Selecteasy

Which TWO functions are performed by the data plane in a network device? (Choose two.)

Select 2 answers
A.Building the routing table using OSPF
B.Forwarding packets based on destination MAC address
C.Applying ACLs to permit or deny traffic
D.Maintaining ARP cache entries
E.Establishing OSPF neighbor adjacencies
AnswersB, C

Data plane performs forwarding.

Why this answer

The data plane is responsible for forwarding packets based on information in the forwarding table, such as destination MAC address for Layer 2 switching. Applying ACLs is also a data plane function because ACL rules are evaluated in hardware or software during packet forwarding to permit or deny traffic.

Exam trap

Cisco often tests the distinction between control plane and data plane by listing functions that sound like forwarding (e.g., maintaining ARP cache) but are actually control plane operations, leading candidates to confuse maintenance with usage.

244
MCQmedium

Which HTTP status code indicates that a POST request successfully created a new resource on the server?

A.200 OK
B.201 Created
C.204 No Content
D.202 Accepted
AnswerB

Indicates that the request succeeded and a new resource was created.

Why this answer

The 201 Created status code is the correct response for a POST request that successfully creates a new resource. According to RFC 7231, the server should respond with 201 and include a Location header pointing to the newly created resource's URI. This is the standard behavior for RESTful APIs when a POST operation results in resource creation.

Exam trap

Cisco often tests the distinction between 200 OK and 201 Created, trapping candidates who assume any successful POST returns 200 OK, when in fact 201 is the standard for resource creation.

How to eliminate wrong answers

Option A is wrong because 200 OK indicates a successful request but does not specifically signal that a new resource was created; it is typically used for GET requests or POST requests that return a representation without creating a new resource. Option C is wrong because 204 No Content indicates the server successfully processed the request but returns no response body, often used for DELETE operations or updates that return no content, not for resource creation. Option D is wrong because 202 Accepted means the request has been accepted for processing but the processing has not been completed; it is used for asynchronous operations, not for immediate resource creation.

245
Multi-Selecteasy

A DevOps team is deploying a microservices application that requires both reliable data transfer and low-latency real-time communication. Which two protocols should be used for these respective requirements? (Choose two.)

Select 2 answers
A.ARP
B.ICMP
C.TCP
D.HTTP
E.UDP
AnswersC, E

TCP is reliable and connection-oriented, suitable for reliable data transfer.

Why this answer

TCP (Transmission Control Protocol) is correct for reliable data transfer because it provides connection-oriented communication with sequencing, acknowledgments, and retransmission of lost packets, ensuring data arrives intact and in order. This makes it ideal for microservices that need guaranteed delivery, such as database transactions or order processing.

Exam trap

Cisco often tests the distinction between transport-layer protocols (TCP/UDP) and application-layer protocols (HTTP), so candidates mistakenly pick HTTP for reliability instead of recognizing that HTTP relies on TCP underneath.

246
MCQhard

A company runs a microservices application on a Kubernetes cluster with 10 worker nodes. The application consists of 3 services: frontend, backend, and database. The database service is stateful and uses persistent volumes. Recently, the operations team noticed that the backend service is experiencing intermittent failures with 'Connection refused' errors when trying to connect to the database. The database service is exposed via a ClusterIP service named 'database-service'. The backend service uses environment variable DB_HOST=database-service to connect. The pod logs show that the connection is attempted to an IP address that does not correspond to any database pod. Further investigation reveals that the database pod has been restarted multiple times due to OOMKilled errors. The backend service is configured with a liveness probe that checks the health endpoint every 10 seconds, and a readiness probe that checks the same endpoint every 5 seconds. The database pod has resource limits set to 512Mi memory and 500m CPU. The node running the database pod has 4Gi memory and 2 CPU cores. What is the most likely cause of the intermittent connection failures?

A.The backend service is using a hardcoded IP address instead of the service DNS name.
B.The backend service's readiness probe is failing, so it is not receiving traffic, but the backend still tries to connect.
C.The database pod is being killed due to memory limits, causing frequent restarts and temporary unavailability; the backend's connection attempts fail during the restart window.
D.The DNS entry for database-service is cached and pointing to the old pod IP after the database pod restarts.
AnswerC

The OOMKilled errors indicate the database pod exceeds memory limits. When it restarts, there is a brief period of unavailability, causing 'Connection refused' errors.

Why this answer

The intermittent 'Connection refused' errors are caused by the database pod being repeatedly killed due to exceeding its memory limit (512Mi), which triggers OOMKilled restarts. During the restart window, the database pod is unavailable, and the backend's connection attempts to the ClusterIP service (which resolves to the pod's IP) fail because no pod is ready to accept connections. The frequent restarts create a pattern of temporary unavailability that aligns with the observed symptoms.

Exam trap

Cisco often tests the distinction between pod-level failures (like OOMKilled causing restarts) and service-level issues (like DNS caching or readiness probes), leading candidates to incorrectly attribute the problem to DNS or probe misconfiguration instead of the resource constraint causing the database pod to be temporarily unavailable.

How to eliminate wrong answers

Option A is wrong because the backend uses the environment variable DB_HOST=database-service, which resolves via DNS to the ClusterIP of the service, not a hardcoded IP; the pod logs show the connection is attempted to an IP that does not correspond to any database pod, which is consistent with the service's ClusterIP, not a hardcoded address. Option B is wrong because the backend's readiness probe checks its own health endpoint, not the database's; a failing readiness probe would remove the backend from service endpoints but would not cause the backend to attempt connections to an incorrect IP or fail with 'Connection refused' to the database. Option D is wrong because DNS caching for a ClusterIP service resolves to the stable virtual IP of the service, not the pod IP; even if the pod restarts, the service's ClusterIP remains unchanged, and DNS entries are not tied to pod IPs in this context.

247
Multi-Selecthard

A Kubernetes administrator wants to use kubectl to troubleshoot a pod named 'my-pod' that is not starting. Which TWO commands are useful? (Choose two.)

Select 2 answers
A.kubectl get deployment my-deployment
B.kubectl rollout status deployment my-deployment
C.kubectl describe pod my-pod
D.kubectl delete pod my-pod
E.kubectl logs my-pod
AnswersC, E

Correct. Shows events and status details.

Why this answer

kubectl describe pod my-pod shows detailed information including events and container statuses. kubectl logs my-pod shows container logs. The other commands are for different resources or abstract actions.

248
MCQeasy

Which protocol is commonly used to retrieve real-time telemetry data from network devices in a streaming fashion?

A.SNMP polling
B.NETCONF
C.HTTP
D.gRPC
AnswerD

gRPC supports streaming telemetry.

Why this answer

gRPC is correct because it is designed for high-performance, real-time streaming of telemetry data using HTTP/2 and Protocol Buffers. Network devices like Cisco IOS XR and NX-OS use gRPC to push telemetry data to collectors in a continuous stream, eliminating the need for polling and reducing latency.

Exam trap

Cisco often tests the distinction between configuration protocols (NETCONF) and streaming telemetry protocols (gRPC), so the trap here is that candidates confuse NETCONF's subscription capability with true real-time streaming, but NETCONF subscriptions are typically poll-based or have higher latency compared to gRPC's push model.

How to eliminate wrong answers

Option A is wrong because SNMP polling is a request-response model that retrieves data on-demand, not in a streaming fashion, and introduces overhead and latency. Option B is wrong because NETCONF is a network configuration protocol that uses YANG models for configuration and state retrieval, but it is not optimized for real-time streaming telemetry; it typically uses polling or subscriptions with delays. Option C is wrong because HTTP is a generic protocol that can be used for data transfer, but it lacks the built-in streaming and bidirectional capabilities of gRPC, and is not specifically designed for real-time telemetry streaming.

249
Multi-Selectmedium

A network administrator is planning to use model-driven programmability on Cisco IOS XE devices. Which TWO are valid YANG model sources for configuration? (Choose two.)

Select 2 answers
A.NETCONF capabilities
B.Cisco native YANG models (e.g., Cisco-IOS-XE-native)
C.CLI commands
D.OpenConfig YANG models (e.g., openconfig-interfaces)
E.SNMP MIBs
AnswersB, D

Correct. These are proprietary Cisco models.

Why this answer

Cisco native models and OpenConfig models are both valid. IETF models are also valid but not listed. The others are not YANG models.

250
MCQhard

A developer is using Git for a project with a feature branch strategy. They have completed work on a new feature in the branch 'feature-logging' and want to integrate it into the main development branch 'develop'. The team requires that all commits on the feature branch be squashed into a single commit before merging. Which sequence of Git commands achieves this?

A.git checkout feature-logging && git rebase develop && git checkout develop && git merge feature-logging
B.git checkout develop && git merge feature-logging --squash && git commit
C.git checkout develop && git pull feature-logging && git commit --amend
D.git checkout develop && git merge --no-ff feature-logging
AnswerB

Checks out develop, merges with squash, then commits the staged changes.

Why this answer

Squash merging combines all commits into one; using --squash option on merge accomplishes this.

251
MCQmedium

A network engineer is automating the deployment of a new VLAN across multiple Cisco switches using Ansible. The engineer has written a playbook that uses the ios_vlan module to create VLAN 100 with name 'Users'. The playbook runs successfully on the first switch but fails on the second switch with the error message: 'VLAN name is already in use'. The engineer checks the second switch and confirms that VLAN 100 does not exist, but a different VLAN with the name 'Users' exists. The engineer wants to ensure that the playbook creates VLAN 100 with the exact name 'Users' only if it does not already exist, and without conflicting with existing VLANs. Which approach should the engineer take?

A.Use the ios_vlan module with parameters vlan_id=100 and name='Users' and set state=present. The module will create the VLAN if it does not exist or update the name if it exists with a different name.
B.First use the ios_command module to run 'show vlan name Users' and then conditionally create VLAN 100 if no output is returned.
C.Use the ios_config module to directly apply the configuration 'vlan 100\n name Users' and then use the 'parents' directive to ensure idempotency.
D.Use the ios_vlan module with vlan_id=100 and state=present, but omit the name parameter.
AnswerB

By first checking if any VLAN has the name 'Users' using 'show vlan name Users', the engineer can conditionally create VLAN 100 only when the name is free. This avoids the name conflict and ensures the desired outcome.

Why this answer

The correct approach is to first verify that the VLAN name 'Users' is not already in use on the switch before attempting to create VLAN 100. Using the ios_command module to execute 'show vlan name Users' returns output only if a VLAN with that name exists. If no output is returned, the name is available, and the engineer can then proceed to create VLAN 100 with the name 'Users' using the ios_vlan module.

This conditional approach avoids the 'VLAN name is already in use' error and ensures idempotency without conflicts. Option A incorrectly assumes the ios_vlan module will update an existing VLAN's name, but actually it will fail if the name is assigned to a different VLAN ID. Options C and D do not solve the name conflict or meet the requirement.

Exam trap

The trap is that the ios_vlan module with state=present will create or update a VLAN by ID, but if the name is already assigned to a different VLAN ID, the operation will fail. This does not mean the module is not idempotent; it simply means the network device enforces unique VLAN names. The engineer should use the module and handle the failure, or first verify name availability.

How to eliminate wrong answers

Option B is wrong because using `ios_command` to run `show vlan name Users` is not a standard Cisco command (the correct command is `show vlan name Users` but it returns output even if the name exists on a different VLAN, and the conditional logic would still need to handle the name conflict; moreover, this approach adds unnecessary complexity and does not leverage Ansible's idempotent modules, and it would still fail if the name is in use by another VLAN. Option C is wrong because the `ios_config` module with `parents` directive applies raw configuration lines and does not inherently check for name conflicts; applying `vlan 100

name Users` would fail with the same 'VLAN name is already in use' error if the name is already assigned to a different VLAN, and the `parents` directive does not provide idempotency for VLAN name uniqueness. Option D is wrong because omitting the `name` parameter would create VLAN 100 with a default name (e.g., 'VLAN0100') or leave it unnamed, which does not satisfy the requirement to assign the exact name 'Users'; it also does not address the conflict with the existing VLAN that already uses the name 'Users'.

252
MCQeasy

A developer is writing a Python script to iterate over a list of server hostnames. Which loop structure is most appropriate to process each hostname in the list?

A.for i, hostname in enumerate(hostnames): print(hostname)
B.while len(hostnames) > 0: print(hostnames.pop())
C.for i in range(len(hostnames)): print(hostnames[i])
D.for hostname in hostnames: print(hostname)
AnswerD

Directly iterates over each hostname, which is the recommended approach.

Why this answer

The 'for item in list' loop iterates directly over each element, making it the simplest and most readable for processing each hostname.

253
Multi-Selecthard

Which THREE are benefits of using YANG as a data modeling language for network automation? (Select exactly 3.)

Select 3 answers
A.Enables validation of data constraints before applying changes
B.Allows direct execution of CLI commands on any device
C.Provides a standard way to define configuration and state data
D.Supports multiple serialization formats like JSON and XML
E.Promotes interoperability between different vendor devices
AnswersA, C, E

Why this answer

YANG (RFC 6020/7950) allows you to define data constraints such as ranges, mandatory elements, and type restrictions directly in the model. When you attempt to apply configuration via NETCONF or RESTCONF, the server validates the data against these constraints before committing, preventing invalid changes from being applied.

Exam trap

Cisco often tests the distinction between the data modeling language (YANG) and the transport protocols (NETCONF/RESTCONF) or serialization formats (JSON/XML), so the trap here is confusing the benefits of the model itself with the features of the protocols that use it.

254
MCQmedium

Refer to the exhibit. A developer sent a POST request to https://apic-ip/api/mo/uni/tn-testtenant.json with a JSON body missing the name attribute. What should the correct JSON body include?

A.{"fvTenant": {"name": "testtenant"}}
B.{"attributes": {"name": "testtenant"}}
C.{"fvTenant": {"attributes": {"name": "TestTenant"}}}
D.{"fvTenant": {"attributes": {"name": "testtenant"}}}
AnswerD

Correctly nests the 'name' property under 'attributes' inside 'fvTenant'.

Why this answer

The Cisco APIC REST API requires the JSON body for creating a tenant to follow the object model structure: the top-level key is the managed object class (fvTenant), which contains an 'attributes' object with the 'name' property. The name must match the tenant name in the URL (testtenant), and the API expects lowercase for the name value unless the object model specifies otherwise.

Exam trap

Cisco often tests the requirement to nest attributes inside the managed object class, and the trap here is that candidates either omit the 'attributes' wrapper entirely (Option A) or place 'attributes' at the top level (Option B), both of which are common mistakes when transitioning from simpler REST APIs to the APIC's structured object model.

How to eliminate wrong answers

Option A is wrong because it omits the required 'attributes' wrapper; the APIC API expects the 'name' attribute to be nested inside an 'attributes' object within the managed object. Option B is wrong because it uses 'attributes' as the top-level key instead of the managed object class 'fvTenant', which violates the APIC REST API's object model hierarchy. Option C is wrong because it capitalizes 'TestTenant' in the name value, but the URL path uses lowercase 'testtenant', and the APIC API is case-sensitive for tenant names, so this would either create a different tenant or fail.

255
MCQhard

A Python script uses a list comprehension: [x**2 for x in range(20) if x % 2 == 0]. Which of the following is equivalent?

A.result = [] for x in range(20): if x % 2 == 0: result.append(x**2)
B.result = map(lambda x: x**2, filter(lambda x: x % 2 == 0, range(20)))
C.result = [] for x in range(20): result.append(x**2)
D.result = [x**2 for x in range(20) if x % 2 != 0]
AnswerA

This loop explicitly does the same filtering and squaring.

Why this answer

It directly translates the list comprehension into an equivalent for-loop with a conditional append. The comprehension `[x**2 for x in range(20) if x % 2 == 0]` iterates over numbers 0–19, filters for even numbers (x % 2 == 0), squares each, and collects the results in a list. Option A's explicit loop and conditional produce the exact same sequence of appended values.

Exam trap

Cisco often tests the distinction between list comprehensions with and without a filtering condition, and the trap here is that candidates may overlook the `if x % 2 == 0` filter and choose Option C, which omits the condition entirely.

How to eliminate wrong answers

Option B is wrong because it is actually functionally equivalent to the original comprehension (using `filter` and `map`), so it is not incorrect; however, the question asks for an equivalent among the options, and A is the direct translation. Option C is wrong because it appends `x**2` for every x in range(20) without filtering, so it includes odd numbers, producing a different list. Option D is wrong because it uses `x % 2 != 0`, which selects odd numbers instead of even numbers, yielding the squares of odd numbers only.

256
MCQeasy

When using the Meraki Dashboard API, what HTTP header is used to pass the API key?

A.API-Key: <key>
B.X-Cisco-Meraki-API-Key: <key>
C.Authorization: Bearer <key>
D.Meraki-API-Key: <key>
AnswerB

Correct. This is the required header.

Why this answer

Meraki requires the API key in the X-Cisco-Meraki-API-Key header.

257
MCQmedium

A NETCONF RPC reply indicates a validation failure. Based on the exhibit, what is the most probable reason for the failure?

A.The MTU value provided is outside the allowed range.
B.The XML syntax in the edit operation was malformed.
C.The XML namespace 'Cisco-IOS-XE-native' is not supported.
D.The NETCONF session timed out before the operation completed.
AnswerA

Bad-element MTU indicates value issue.

Why this answer

The NETCONF RPC reply indicates a validation failure, which typically occurs when the data being configured does not conform to the YANG model's constraints. In this context, the MTU value provided is outside the allowed range defined in the YANG model for the interface, triggering a validation error before any configuration is applied.

Exam trap

Cisco often tests the distinction between validation errors (data model constraints) and other error types like syntax errors or namespace issues, leading candidates to confuse a validation failure with a malformed XML or unsupported namespace.

How to eliminate wrong answers

Option B is wrong because a malformed XML syntax would result in a parsing error, not a validation failure; the RPC reply would indicate a syntax error or malformed message. Option C is wrong because if the XML namespace 'Cisco-IOS-XE-native' were not supported, the device would reject the entire operation with a 'namespace not supported' error, not a validation failure on a specific value. Option D is wrong because a NETCONF session timeout would cause the RPC to fail with a timeout error or no reply, not a validation failure response.

258
MCQmedium

A developer wants to use the Cisco Webex API to send a message to a specific person by email. Which parameter should be used in the POST /v1/messages request?

A.personId
B.toPersonEmail
C.recipientEmail
D.roomId
AnswerB

Correct. This sends a direct message to the specified email.

Why this answer

To send a message to a person, use the toPersonEmail parameter instead of roomId.

259
MCQeasy

Which of the following is a private IPv4 address range as defined by RFC 1918?

A.192.167.0.0/16
B.169.254.0.0/16
C.10.0.0.0/8
D.172.32.0.0/12
AnswerC

10.0.0.0/8 is a private range.

Why this answer

The private IPv4 ranges are 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16. 169.254.0.0/16 is link-local (APIPA).

260
MCQhard

An automation script uses the Cisco IOS XE REST API to modify the running configuration. The script sends a PUT request to /restconf/data/Cisco-IOS-XE-native:native/interface/GigabitEthernet=1/0/1/ip/address. The response returns 405 Method Not Allowed. What is the most likely reason?

A.The request body is missing.
B.PUT is not allowed on this resource; use PATCH instead.
C.The interface does not exist.
D.The script is not authenticated.
E.The IP address format is incorrect.
AnswerB

RESTCONF often uses PATCH for partial updates; PUT might not be implemented.

Why this answer

The 405 Method Not Allowed response indicates that the HTTP method (PUT) is recognized but not supported for the specific resource. In RESTCONF, PUT is used for full resource replacement, but Cisco IOS XE often restricts PUT on certain configuration resources like interface IP addresses because they are nested leafs or lists that require partial updates. PATCH is the correct method for modifying specific fields without replacing the entire resource, aligning with RFC 8040 for partial resource modifications.

Exam trap

Cisco often tests the distinction between PUT and PATCH in RESTCONF, where candidates mistakenly assume PUT is always allowed for modifications, but the trap is that PUT requires full resource replacement and is often blocked on nested or list-based resources, making PATCH the correct choice for partial updates.

How to eliminate wrong answers

Option A is wrong because a missing request body would typically result in a 400 Bad Request, not 405 Method Not Allowed. Option C is wrong because a non-existent interface would return a 404 Not Found, not a 405. Option D is wrong because authentication failures return 401 Unauthorized, not 405.

Option E is wrong because an incorrect IP address format would cause a 400 Bad Request due to schema validation failure, not a 405.

261
Multi-Selectmedium

Which TWO methods are commonly used to discover network devices in an automation environment? (Select exactly 2.)

Select 2 answers
A.Manually entering device details into a spreadsheet
B.Using SNMP to bulk-configure devices
C.Monitoring DHCP logs to lease IP addresses to new devices
D.Using LLDP or CDP to retrieve directly connected neighbor information
E.Using a centralized controller like Cisco DNA Center to query device inventory
AnswersD, E

Why this answer

LLDP (IEEE 802.1AB) and CDP (Cisco Discovery Protocol) are Layer 2 protocols that allow network devices to advertise their identity, capabilities, and directly connected neighbors. In automation environments, these protocols enable dynamic discovery of the network topology without manual intervention, making them essential for automated inventory and mapping.

Exam trap

Cisco often tests the distinction between discovery protocols (LLDP/CDP) and management protocols (SNMP), so candidates may mistakenly think SNMP is used for discovery when it is actually used for reading MIBs after discovery is complete.

262
MCQeasy

A network engineer is writing a Python script to interact with Cisco DNA Center. After successfully authenticating and receiving a token, what header must be included in subsequent API requests?

A.In a custom header
B.In the URL query string
C.In the request body
D.In the Authorization header as Bearer
AnswerD

The standard way is to include 'Authorization: Bearer <token>' in the header.

Why this answer

Cisco DNA Center uses token-based authentication following the OAuth 2.0 framework. After obtaining a token via the /dna/system/api/v1/auth/token endpoint, the token must be included in the Authorization header using the Bearer scheme (e.g., 'Authorization: Bearer <token>') for all subsequent API requests to prove the client's identity and authorization.

Exam trap

Cisco often tests the distinction between authentication (getting the token) and authorization (using the token), and the trap here is that candidates might think the token is sent in the request body or a custom header because they confuse it with API keys or session cookies, but the correct standard is the Authorization header with Bearer.

How to eliminate wrong answers

Option A is wrong because while you can technically place the token in a custom header, Cisco DNA Center's API specification explicitly requires the token in the Authorization header; using a custom header would result in a 401 Unauthorized error. Option B is wrong because passing the token in the URL query string is insecure (it can be logged, cached, or exposed in browser history) and is not supported by Cisco DNA Center's REST API design. Option C is wrong because the token is not sent in the request body; the body is reserved for payload data (e.g., JSON parameters for creating a site or device), and placing the token there would violate the standard HTTP authentication mechanism.

263
MCQhard

During a code review, a developer notices that a function has multiple nested if-else statements. Which refactoring technique would improve maintainability?

A.Introduce parameter object
B.Decompose conditional
C.Replace conditional with polymorphism
D.Extract method
AnswerC

Polymorphism allows each subclass to implement its own behavior, eliminating the need for complex conditionals.

Why this answer

Replacing complex conditionals with polymorphism aligns with the Open/Closed Principle, allowing each subclass to handle its own behavior without modifying existing code. This refactoring technique directly addresses the maintainability issue of deeply nested if-else statements by delegating decision logic to polymorphic method dispatch, which is a core object-oriented design pattern tested in the 200-901 exam.

Exam trap

Cisco often tests the distinction between 'improving readability' (e.g., Extract Method, Decompose Conditional) and 'fundamentally changing the design to eliminate conditionals' (Replace Conditional with Polymorphism), leading candidates to choose a refactoring that only reorganizes code rather than removing the nested logic.

How to eliminate wrong answers

Option A is wrong because introducing a parameter object groups related parameters into a single object, which improves readability of method signatures but does not eliminate or simplify nested conditional logic. Option B is wrong because decomposing a conditional breaks a complex condition into smaller, named methods (e.g., using Extract Method on the condition itself), which improves readability but still leaves the nested if-else structure intact; it does not replace the conditional with a more maintainable design. Option D is wrong because extracting a method moves a block of code into a separate method, which can reduce duplication but does not address the fundamental problem of multiple nested conditionals; the extracted method would still contain the same nested if-else logic.

264
MCQmedium

A Kubernetes pod runs two containers that need to share a filesystem. Which volume type should be used to enable file sharing between the containers within the same pod?

A.configMap
B.hostPath
C.persistentVolumeClaim
D.emptyDir
AnswerD

Correct. emptyDir provides a shared volume for containers in the same pod.

Why this answer

An emptyDir volume is created empty when a pod is scheduled and can be mounted by multiple containers in the same pod, allowing them to share files.

265
MCQmedium

A network administrator is tasked with automating the deployment of a new VLAN configuration across a fabric of Cisco ACI switches. Which automation tool is best suited for interacting with the APIC REST API?

A.Bash scripting with curl
B.Chef
C.Puppet
D.Ansible
AnswerD

Ansible has built-in ACI modules that simplify interactions with the APIC.

Why this answer

Ansible is the best-suited tool because it provides a dedicated module (cisco.aci.aci_rest) that directly interacts with the APIC REST API, allowing declarative automation of VLAN and other ACI configurations. Unlike generic scripting, Ansible abstracts the HTTP requests and handles idempotency, authentication, and error handling natively for the ACI fabric.

Exam trap

Cisco often tests the misconception that any scripting tool (like Bash with curl) is sufficient for automation, but the key is choosing a tool with native, purpose-built modules for the specific API, not just the ability to make HTTP requests.

How to eliminate wrong answers

Option A is wrong because Bash scripting with curl is a low-level, manual approach that requires writing custom code for every API call, lacks idempotency, and does not provide the structured, reusable automation framework needed for consistent ACI deployments. Option B is wrong because Chef is a configuration management tool designed for node-based infrastructure (e.g., servers) and does not have native modules or resources for interacting with the Cisco APIC REST API; it would require extensive custom scripting. Option C is wrong because Puppet, like Chef, is primarily a configuration management tool for server nodes and lacks built-in support for the ACI APIC REST API, making it inefficient for automating network fabric configurations.

266
Multi-Selecthard

Which TWO statements about REST API design best practices are correct?

Select 2 answers
A.API versioning should be implemented using query parameters only
B.HTTP PUT method should be used for partial updates to a resource
C.Resources should be represented using nouns in the URI
D.Responses should return only HTTP status codes without a body
E.HTTP verbs should describe the action performed on the resource
AnswersC, E

Using nouns for resources (e.g., /devices) is a REST best practice.

Why this answer

REST API best practices dictate that URIs should represent resources (nouns), not actions. For example, '/users' or '/orders' clearly identifies the resource being manipulated, while verbs like '/getUsers' or '/createOrder' are discouraged as they conflate the resource with the operation.

Exam trap

Cisco often tests the distinction between PUT (full replacement) and PATCH (partial update), and the trap here is that candidates mistakenly think PUT can be used for partial updates because they overlook the idempotent, full-replacement semantics defined in RFC 7231.

267
MCQeasy

Which Cisco DNA Center API is used to retrieve a list of network devices?

A.GET /dna/intent/api/v1/network-device
B.GET /dna/intent/api/v1/topology
C.GET /dna/intent/api/v1/issue
D.GET /dna/intent/api/v1/site
AnswerA

This is the correct API for device list.

Why this answer

GET /dna/intent/api/v1/network-device returns the device inventory.

268
Multi-Selectmedium

Which THREE of the following are characteristics of the UDP protocol?

Select 3 answers
A.Used by DNS and DHCP
B.Low overhead
C.Connection-oriented
D.Reliable delivery
E.No flow control
AnswersA, B, E

DNS and DHCP commonly use UDP.

Why this answer

UDP is a connectionless transport layer protocol that provides minimal overhead, making it ideal for applications like DNS and DHCP that require fast, lightweight communication. DNS uses UDP for queries (port 53) and DHCP uses UDP for client-server exchanges (ports 67/68) because they can tolerate occasional packet loss and benefit from the reduced latency.

Exam trap

Cisco often tests the distinction between connection-oriented (TCP) and connectionless (UDP) protocols, and candidates mistakenly associate 'reliable delivery' with UDP because some application-layer protocols (e.g., DNS with retries) can achieve reliability, but UDP itself does not provide it.

269
MCQeasy

Which layer of the OSI model uses MAC addresses to deliver frames within the same network segment?

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

Correct. Switches use MAC addresses at Layer 2.

Why this answer

Layer 2 (Data Link) uses MAC addresses for local delivery.

270
MCQeasy

What is the default transport protocol for NETCONF sessions?

A.HTTP
B.SSH
C.TLS
D.SNMP
AnswerB

SSH is the mandatory transport for NETCONF.

Why this answer

NETCONF (Network Configuration Protocol) uses SSH as its default transport protocol, as specified in RFC 6242. SSH provides the required secure, authenticated, and encrypted channel for NETCONF sessions, ensuring confidentiality and integrity of configuration data exchanged between the client and server.

Exam trap

Cisco often tests the distinction between 'default' and 'optional' transports, so the trap here is that candidates may confuse TLS (which is supported but not default) with the mandatory SSH transport, or assume HTTP is used because NETCONF is XML-based and HTTP is commonly associated with XML APIs.

How to eliminate wrong answers

Option A is wrong because HTTP is not a transport protocol for NETCONF; NETCONF over HTTP is not defined in any standard, and HTTP lacks the built-in encryption and authentication required for secure network device configuration. Option C is wrong because TLS is an optional transport for NETCONF (as per RFC 7589), not the default; the default remains SSH, and TLS is used only when explicitly configured. Option D is wrong because SNMP is a separate protocol for network management and monitoring, not a transport for NETCONF; SNMP uses UDP or TCP, but it does not carry NETCONF messages.

271
MCQmedium

A developer is writing a web application and needs to prevent SQL injection attacks. Which coding practice is most effective?

A.Validate input with regex to allow only alphanumeric characters
B.Use parameterized queries with prepared statements
C.Use stored procedures exclusively
D.Escape all user input with htmlspecialchars
AnswerB

Correct. Parameterized queries prevent SQL injection by treating input as data, not code.

Why this answer

Parameterized queries separate SQL logic from data, preventing attackers from injecting malicious SQL. Input validation is also important but not a direct prevention of SQL injection.

272
Multi-Selectmedium

Which THREE of the following are key characteristics of a RESTful API? (Choose three.)

Select 3 answers
A.Resource-based URLs
B.Stateless communication
C.Uses SOAP protocol
D.Relies on session cookies for state
E.Uses standard HTTP methods (GET, POST, PUT, DELETE)
AnswersA, B, E

Resources are identified by URIs.

Why this answer

RESTful APIs use resource-based URLs (e.g., /users/123) to uniquely identify resources, which aligns with the uniform interface constraint of REST. This design makes the API intuitive and self-descriptive, allowing clients to interact with resources directly via the URL structure.

Exam trap

Cisco often tests the distinction between REST and SOAP, and the trap here is that candidates may confuse REST's statelessness with the need for session cookies (stateful behavior) or incorrectly associate REST with SOAP due to both being web service technologies.

273
MCQmedium

A Python script sends a POST request to create a new network device resource. The API returns HTTP status code 201 and a JSON response with the device ID. How should the script correctly extract the device ID from the response?

A.device_id = response['id']
B.device_id = response.text['id']
C.device_id = response.json().get('id')
D.device_id = json.loads(response)['id']
AnswerC

response.json() returns a dict; .get() safely retrieves the 'id' key.

Why this answer

A 201 status indicates successful creation, and response.json() parses the JSON body into a Python dict.

274
MCQeasy

Which non-overlapping channels are available in the 2.4 GHz band for Wi-Fi to minimize interference?

A.1, 3, 5, 7, 9, 11
B.1, 5, 9, 13
C.2, 7, 12
D.1, 6, 11
AnswerD

These three channels do not overlap.

Why this answer

Channels 1, 6, and 11 are the only non-overlapping channels in 2.4 GHz.

275
Multi-Selecthard

Which THREE of the following are valid NETCONF operations? (Choose three.)

Select 3 answers
A.<edit-config>
B.<rpc>
C.<get-config>
D.<commit>
E.<close-session>
AnswersA, C, E

Standard operation to modify configuration.

Why this answer

NETCONF defines standard operations: <get>, <get-config>, <edit-config>, <copy-config>, <delete-config>, <lock>, <unlock>, <close-session>, <kill-session>. <commit> is used in the candidate configuration model but is not a base operation; it's an optional capability. <rpc> is the message wrapper, not an operation.

276
MCQhard

A Python script uses the Cisco Meraki API to create a new network and then immediately attempts to configure an SSID on that network. The SSID creation fails with a 400 error indicating 'network is not ready'. What is the most likely cause?

A.The network is not fully provisioned yet; a delay is needed.
B.The API rate limit has been exceeded.
C.The API key does not have write access to networks.
D.The SSID name contains invalid characters.
AnswerA

Asynchronous provisioning requires waiting.

Why this answer

The Meraki API returns a 400 error with 'network is not ready' because creating a network is an asynchronous operation. The network's underlying infrastructure (e.g., virtual LANs, DHCP scopes, firewall rules) must be fully provisioned before it can accept SSID configurations. Attempting to configure an SSID immediately after creation fails because the network is still in a 'pending' or 'provisioning' state, requiring a polling delay or retry logic.

Exam trap

Cisco often tests the misconception that API calls are synchronous and that a successful creation response means the resource is immediately usable, ignoring the asynchronous provisioning that occurs in cloud-managed platforms like Meraki.

How to eliminate wrong answers

Option B is wrong because exceeding the API rate limit would return a 429 (Too Many Requests) error, not a 400 with 'network is not ready'. Option C is wrong because an API key lacking write access would result in a 403 (Forbidden) error, not a 400. Option D is wrong because invalid characters in an SSID name would cause a 400 error with a validation-specific message (e.g., 'Invalid SSID name'), not a generic 'network is not ready'.

277
MCQhard

During a migration from legacy to SD-Access, a network team wants to use Cisco DNA Center to automate policy deployment. They have defined a macro-level intent but need to ensure that the fabric devices are correctly configured. Which API call should they use to validate the fabric configuration?

A.PUT /dna/intent/api/v1/business/sda/fabric-device
B.POST /dna/intent/api/v1/business/sda/fabric-site
C.GET /dna/intent/api/v1/business/sda/fabric-site
D.GET /dna/intent/api/v1/business/sda/network-profile
AnswerC

Retrieves the fabric site configuration for validation.

Why this answer

The GET /dna/intent/api/v1/business/sda/fabric-site API call retrieves the current configuration of fabric sites, allowing the team to validate that fabric devices are correctly provisioned and associated with the intended site. This aligns with the intent-based API model where GET operations are used for validation and monitoring of deployed policies.

Exam trap

Cisco often tests the distinction between CRUD operations in intent APIs, and the trap here is that candidates confuse a POST (create) or PUT (update) with a GET (read/validate) when the question specifically asks for validation.

How to eliminate wrong answers

Option A is wrong because PUT /dna/intent/api/v1/business/sda/fabric-device is used to update or add a fabric device, not to validate existing configuration. Option B is wrong because POST /dna/intent/api/v1/business/sda/fabric-site creates a new fabric site, which is a deployment action rather than a validation step. Option D is wrong because GET /dna/intent/api/v1/business/sda/network-profile retrieves network profile definitions, not the actual fabric device configuration or site status.

278
MCQeasy

A Python script using the Cisco Meraki SDK fails with 'APIError: 429 Too Many Requests'. What action should the developer take?

A.Increase the timeout value
B.Change the HTTP method to POST
C.Use a different API key
D.Add a retry mechanism with exponential backoff
AnswerD

Standard best practice to handle rate limiting.

Why this answer

The HTTP 429 status code indicates rate limiting has been exceeded. The Meraki API enforces rate limits to protect its infrastructure, and the SDK's built-in retry mechanism with exponential backoff is the correct way to handle this, as it automatically waits increasing intervals between retries, respecting the Retry-After header if present.

Exam trap

Cisco often tests the distinction between handling rate limiting (429) versus handling request timeouts (408/504), so candidates mistakenly choose to increase the timeout value instead of implementing retry logic with backoff.

How to eliminate wrong answers

Option A is wrong because increasing the timeout value only extends how long the script waits for a single request to complete; it does not address the rate limit being exceeded. Option B is wrong because changing the HTTP method to POST does not affect rate limiting; the 429 error is about request frequency, not the method used. Option C is wrong because using a different API key does not resolve the rate limit issue; the new key would also be subject to the same rate limits, and the problem is the request rate, not authentication.

279
MCQmedium

Which IP address is a valid host address in the 192.168.1.0/24 network?

A.192.168.1.128
B.192.168.2.1
C.192.168.1.255
D.192.168.1.0
AnswerA

192.168.1.128 is within the usable range 1-254.

Why this answer

/24 means subnet mask 255.255.255.0. Network address is 192.168.1.0, broadcast is 192.168.1.255. Usable hosts range from .1 to .254.

280
Multi-Selectmedium

A software-defined networking (SDN) controller is being deployed to manage network devices. Which two components are part of the SDN architecture? (Choose two.)

Select 2 answers
A.Data plane
B.Control plane
C.Application plane
D.Forwarding plane
E.Management plane
AnswersA, B

The data plane forwards traffic based on decisions from the control plane.

Why this answer

The control plane (decides traffic flow) and data plane (forwards traffic) are the two key planes in SDN, with the controller centralizing the control plane.

281
MCQhard

A company uses GitHub Actions for CI/CD. They want to automatically scan dependencies for known vulnerabilities on every push. Which action should be added to the workflow?

A.CodeQL
B.ESLint
C.GitHub Secret Scanning
D.Dependabot
AnswerD

Dependabot checks for vulnerable dependencies and can create pull requests to update them.

Why this answer

Dependabot is the correct GitHub-native tool for automatically scanning dependencies for known vulnerabilities on every push. It monitors the dependency manifest files (e.g., package.json, requirements.txt) against the GitHub Advisory Database and opens pull requests to update vulnerable packages. This directly meets the requirement of scanning dependencies for known vulnerabilities in a CI/CD workflow.

Exam trap

Cisco often tests the distinction between tools that scan custom code (CodeQL) versus tools that scan dependencies (Dependabot), leading candidates to confuse CodeQL's security scanning capability with dependency vulnerability scanning.

How to eliminate wrong answers

Option A is wrong because CodeQL is a semantic code analysis engine used for custom code security vulnerabilities (e.g., SQL injection, XSS), not for scanning third-party dependencies for known CVEs. Option B is wrong because ESLint is a static analysis tool for JavaScript/TypeScript code style and quality issues, not a dependency vulnerability scanner. Option C is wrong because GitHub Secret Scanning detects hardcoded secrets (e.g., API keys, tokens) in repositories, not vulnerabilities in dependencies.

282
Multi-Selecthard

Which three statements are true about the Cisco Catalyst Center (formerly DNA Center) intent API? (Choose three.)

Select 3 answers
A.The base URL for the API includes the Catalyst Center hostname and port.
B.Authentication is done by sending a POST request to /dna/system/api/v1/auth/token with credentials.
C.The API uses only GET and POST methods.
D.It uses RESTful principles and returns JSON responses.
E.It requires an API key passed in the X-Cisco-Meraki-API-Key header.
AnswersA, B, D

Yes, e.g., https://<host>:<port>/dna/intent/...

Why this answer

The Cisco Catalyst Center intent API uses a base URL that includes the Catalyst Center hostname (or IP address) and port (typically 443 for HTTPS). For example, the base URL is formatted as `https://<catalyst-center-hostname>:443/dna/intent/api/v1/`. This is required to direct API calls to the specific Catalyst Center instance.

Exam trap

Cisco often tests the distinction between Catalyst Center and Meraki APIs, so the trap here is confusing the authentication method (token-based vs. API key) and assuming only GET/POST are used, when in fact RESTful APIs support full CRUD operations.

283
MCQhard

A developer is configuring a RESTCONF request to retrieve the configuration of an interface on a Cisco device. Which URL path and Content-Type header are correct?

A.GET /restconf/data/interface with Content-Type: application/yang-data+json
B.GET /restconf/data/interface with Content-Type: application/xml
C.GET /restconf/data/interface with Content-Type: application/json
D.GET /restconf/operations/interface with Content-Type: application/yang-data+json
AnswerA

Correct path and Content-Type for RESTCONF data retrieval in JSON.

Why this answer

RESTCONF uses the '/restconf/data' base path to retrieve configuration data (the 'data' resource), and the correct Content-Type for RESTCONF with JSON encoding is 'application/yang-data+json', as defined in RFC 8040. This combination ensures the request targets the operational or configuration datastore and specifies the YANG-encoded JSON media type.

Exam trap

Cisco often tests the distinction between the generic 'application/json' and the RESTCONF-specific 'application/yang-data+json', leading candidates to choose the familiar but incorrect generic type.

How to eliminate wrong answers

Option B is wrong because 'application/xml' is not a valid Content-Type for RESTCONF; the correct XML media type is 'application/yang-data+xml'. Option C is wrong because 'application/json' is too generic; RESTCONF requires the specific media type 'application/yang-data+json' to indicate YANG-encoded JSON data. Option D is wrong because '/restconf/operations' is used for invoking RPC operations, not for retrieving configuration data, which should use '/restconf/data'.

284
MCQeasy

A developer is working on a Python script that performs CRUD operations on devices via a REST API. Which HTTP method should be used to update an existing device's configuration partially?

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

PATCH applies partial modifications to a resource.

Why this answer

PATCH is used for partial updates, PUT for full replacement.

285
MCQeasy

An administrator wants to retrieve a list of all network devices from Cisco DNA Center using the REST API. Which authentication method must be used first to obtain a token?

A.Basic Authentication to /dna/system/api/v1/auth/token
B.API key in the X-Cisco-Meraki-API-Key header
C.Bearer token passed directly in the first request
D.OAuth 2.0 with client credentials grant
AnswerA

Correct. The token is obtained by sending a POST request with Basic Auth credentials.

Why this answer

Cisco DNA Center uses Basic Authentication to authenticate to the /dna/system/api/v1/auth/token endpoint, which returns a token for subsequent API calls.

286
Multi-Selectmedium

Which TWO statements about VLAN trunking are true?

Select 2 answers
A.Trunk links can only carry one VLAN at a time.
B.Trunk links use access ports.
C.Trunk links carry traffic for multiple VLANs.
D.Trunk links require 802.1Q encapsulation.
E.Trunk links are used to connect a switch to a single host.
AnswersC, D

Trunk links allow multiple VLANs by tagging frames.

Why this answer

Trunk links carry traffic for multiple VLANs simultaneously by tagging each frame with a VLAN identifier. This allows a single physical link to transport traffic from different VLANs between switches or between a switch and a router. Option C is correct because the primary purpose of a trunk is to multiplex VLAN traffic over one link.

Exam trap

Cisco often tests the misconception that trunk links are used to connect end hosts (like PCs or servers), when in fact trunk links are only used between network infrastructure devices (switches, routers, firewalls) to carry multiple VLANs.

287
MCQmedium

Which pagination method uses a 'Link' header with 'rel="next"' to indicate the next page of results?

A.Offset/limit pagination
B.Page-based pagination
C.Token-based pagination
D.Cursor-based pagination with Link header
AnswerD

The Link header provides the next page URL.

Why this answer

The Link header with rel="next" is used by the Meraki Dashboard API and others for cursor-based pagination.

288
MCQhard

A DevOps team is deploying a containerized application across multiple hosts. They need to ensure that traffic between containers on the same host is isolated from other tenants. Which network implementation best meets this requirement?

A.Linux bridge with ebtables rules
B.NAT with port forwarding
C.VXLAN overlays with a distributed virtual switch
D.802.1Q VLANs on the host switch
AnswerC

VXLAN provides scalable network isolation across hosts.

Why this answer

VXLAN overlays with a distributed virtual switch provide Layer 2 isolation across multiple hosts by encapsulating Ethernet frames in UDP packets (RFC 7348). This creates independent virtual networks (VXLAN segments) that can span hosts, ensuring traffic between containers on the same host is isolated from other tenants without relying on physical network topology.

Exam trap

Cisco often tests the misconception that VLANs (802.1Q) are sufficient for multi-host container isolation, but the trap is that VLANs are limited to a single broadcast domain and cannot scale across hosts without complex trunking, whereas VXLAN overlays are designed for multi-tenant, multi-host environments.

How to eliminate wrong answers

Option A is wrong because Linux bridge with ebtables rules operates at Layer 2 but does not provide multi-host isolation natively; it requires complex manual rules and lacks the scalability and tenant separation of overlay networks. Option B is wrong because NAT with port forwarding is a Layer 3/4 mechanism for translating IP addresses and ports, not for isolating container traffic at Layer 2; it breaks direct container-to-container communication and introduces single points of failure. Option D is wrong because 802.1Q VLANs on the host switch are limited to a single physical switch or require trunking across switches, and they cannot provide isolated Layer 2 segments across multiple hosts without extensive VLAN management and are limited to 4094 VLANs.

289
Multi-Selectmedium

Which TWO tools are commonly used for automated network compliance checking against a desired state? (Select two)

Select 2 answers
A.SolarWinds
B.Ansible
C.Microsoft Visio
D.pyATS (with Genie)
E.Chef
AnswersB, D

Ansible can compare current config to a desired state and report differences.

Why this answer

B is correct because Ansible is an automation tool that uses playbooks (YAML-based) to define a desired network state and can enforce compliance by comparing the current device configuration against the defined state using modules like `ios_config` or `nxos_config`. It is widely used for network compliance checking due to its agentless architecture and idempotent behavior.

Exam trap

Cisco often tests the distinction between monitoring tools (like SolarWinds) and automation/compliance tools (like Ansible and pyATS), trapping candidates who confuse network monitoring with automated state enforcement.

290
MCQhard

Refer to the exhibit. A developer sends a PUT request to the RESTCONF endpoint with the above JSON payload. The device already has interface GigabitEthernet1/0/1 configured with IP address 10.10.10.1/24. What is the expected outcome?

A.The request fails because the interface already exists.
B.The request creates a new interface with the same configuration.
C.The request fails because the JSON is malformed.
D.The request succeeds and the interface configuration remains unchanged.
AnswerD

PUT replaces the resource with the given data; since it matches, no change occurs but the operation succeeds.

Why this answer

D is correct because the PUT request to the RESTCONF endpoint with the provided JSON payload is an idempotent operation. Since the interface GigabitEthernet1/0/1 already exists with the exact same configuration (IP address 10.10.10.1/24), the PUT request effectively replaces the resource with the same data, resulting in no change. RESTCONF uses the HTTP PUT method to create or replace a resource, and if the resource already exists and the payload matches, the operation succeeds without modification.

Exam trap

Cisco often tests the misconception that PUT will fail or create a duplicate resource when the target already exists, but the correct behavior is that PUT replaces the resource idempotently, and if the data is identical, the configuration remains unchanged.

How to eliminate wrong answers

Option A is wrong because RESTCONF PUT is idempotent and does not fail when the resource already exists; it replaces the resource with the provided data, and if the data is identical, the configuration remains unchanged. Option B is wrong because PUT does not create a new interface when the resource already exists; it replaces the existing resource, and since the payload matches the current configuration, no new interface is created. Option C is wrong because the JSON payload is syntactically valid and correctly structured for a RESTCONF PUT request to modify an interface; there is no malformation.

291
MCQeasy

An administrator wants to retrieve a list of all network devices from Cisco DNA Center using the REST API. Which authentication method is required to obtain the API token?

A.Bearer token from OAuth2
B.Basic Authentication with username and password
C.Digest Authentication
D.API key in X-Cisco-Meraki-API-Key header
AnswerB

DNA Center uses Basic Auth (Base64 encoded username:password) to get a token.

Why this answer

Cisco DNA Center uses Basic Authentication with username and password (Base64 encoded) in the Authorization header to obtain a token via POST /dna/system/api/v1/auth/token.

292
MCQmedium

A network administrator is asked to reduce the size of the routing table on a core router. The router currently has many /24 routes learned via BGP. Which technique will most effectively reduce the number of routes without losing reachability to all subnets?

A.Implement route summarization on the BGP neighbor.
B.Replace BGP with static routes.
C.Remove all BGP learned routes and use only OSPF.
D.Configure a default route to the upstream provider.
AnswerA

Summarization reduces the number of prefixes advertised and installed.

Why this answer

Route summarization (also known as route aggregation) allows the router to advertise a single, less specific prefix (e.g., a /22 or /20) that covers multiple contiguous /24 subnets, thereby reducing the number of BGP routes in the routing table while still providing reachability to all the underlying subnets. This technique is commonly implemented on BGP neighbors using the `aggregate-address` command in Cisco IOS, which creates a summary route in the BGP table and suppresses the more specific routes.

Exam trap

Cisco often tests the misconception that simply using a default route or switching routing protocols will reduce the routing table size, but the key is that summarization must be explicitly configured to combine multiple specific prefixes into a single, less specific prefix while preserving reachability.

How to eliminate wrong answers

Option B is wrong because replacing BGP with static routes would require manually configuring a static route for every single /24 subnet, which does not reduce the routing table size and is not scalable; it also eliminates the dynamic learning and failover capabilities of BGP. Option C is wrong because removing all BGP learned routes and using only OSPF would not reduce the number of routes if the same /24 prefixes are still injected into OSPF; OSPF also has its own summarization mechanisms, but simply switching protocols does not inherently reduce the route count. Option D is wrong because configuring a default route to the upstream provider would discard all specific /24 routes, causing loss of reachability to subnets that are not reachable via the default route; it is a coarse solution that breaks the requirement of maintaining reachability to all subnets.

293
MCQhard

An application running on Kubernetes is experiencing intermittent 503 errors. The logs show 'upstream timed out'. The application is behind a Cisco Application Policy Infrastructure Controller (APIC) load balancer. What is the most likely cause?

A.The service port is misconfigured
B.The Readiness probe is not defined
C.The Liveness probe timeout is too low
D.The pod is not ready
AnswerB

Without Readiness probe, the service may send traffic to unready pods causing timeouts.

Why this answer

The 'upstream timed out' error in a Kubernetes environment behind a Cisco APIC load balancer indicates that the load balancer is attempting to forward traffic to a pod that is not ready to accept connections. Without a Readiness probe, Kubernetes assumes the pod is ready as soon as it starts, but the application may still be initializing or unable to handle requests. The APIC load balancer then sends traffic to an unready pod, causing timeouts and 503 errors.

Exam trap

Cisco often tests the distinction between Readiness and Liveness probes, where candidates mistakenly associate 'upstream timed out' with Liveness probe failures, but the correct focus is on traffic routing via Readiness probes.

How to eliminate wrong answers

Option A is wrong because a misconfigured service port would typically cause persistent connectivity failures (e.g., connection refused or no route to host), not intermittent 503 errors with 'upstream timed out' logs. Option C is wrong because the Liveness probe determines when to restart a container, not when to include it in the load balancer pool; a low Liveness probe timeout would cause pod restarts, not upstream timeouts. Option D is wrong because 'the pod is not ready' is a symptom, not the root cause; the underlying issue is the absence of a Readiness probe that would prevent the pod from receiving traffic until it is truly ready.

294
Multi-Selecteasy

Which TWO are valid capabilities advertised during a NETCONF session?

Select 2 answers
A.urn:ietf:params:netconf:capability:url:1.0
B.urn:ietf:params:netconf:capability:writable-running:2.0
C.urn:ietf:params:netconf:capability:validate:2.0
D.urn:ietf:params:netconf:base:1.0
E.urn:ietf:params:netconf:capability:interleave:1.0
AnswersA, D

This is the URL capability for NETCONF.

Why this answer

The URL capability (urn:ietf:params:netconf:capability:url:1.0) is a standard NETCONF capability that allows a client to specify a URL as the source or target of operations like <copy-config> or <edit-config>. Option D is correct because urn:ietf:params:netconf:base:1.0 is the mandatory base capability that every NETCONF session must advertise, as defined in RFC 6241, indicating support for the core NETCONF protocol operations.

Exam trap

Cisco often tests the exact version numbers of NETCONF capabilities, and the trap here is that candidates assume all capabilities use version 2.0 (confusing them with YANG module revisions or other protocols), but in reality, the standard NETCONF capabilities defined in RFC 6241 are all version 1.0.

295
MCQhard

Refer to the exhibit. A Meraki network has a group policy 'Block Social Media' that references a content filtering rule. The policy is applied to VLAN 1. Users in that VLAN cannot access instagram.com but can access facebook.com. What is the most likely reason?

A.The content filtering rule blocks only a specific set of URLs, but not all social media sites.
B.The group policy is not applied to the VLAN.
C.The blocked URL patterns list does not include all social media sites.
D.The content filtering is not enabled on the MX appliance.
AnswerC

The blocked list likely contains patterns for instagram but not facebook, so users can access facebook.

Why this answer

The group policy 'Block Social Media' references a content filtering rule that likely uses a predefined or custom URL category list. If the rule blocks only specific URL patterns (e.g., 'instagram.com') but does not include all social media sites (e.g., 'facebook.com'), then users can still access unblocked sites. Meraki content filtering operates on URL category matching or explicit URL pattern lists; if the list is incomplete, the policy will not block all intended sites.

Exam trap

Cisco often tests the distinction between a policy being applied (which is true here) and the rule's scope being incomplete, tempting candidates to blame the policy application or appliance configuration rather than the rule's content.

How to eliminate wrong answers

Option A is wrong because it describes the symptom (blocking only a specific set of URLs) rather than the root cause; the question asks for the most likely reason, which is that the blocked URL patterns list does not include all social media sites, not merely that the rule blocks a specific set. Option B is wrong because the scenario explicitly states the policy is applied to VLAN 1, and users cannot access instagram.com, proving the policy is active; if it were not applied, no blocking would occur. Option D is wrong because content filtering must be enabled for any blocking to occur; since instagram.com is blocked, content filtering is clearly enabled on the MX appliance.

296
MCQhard

A CI/CD pipeline is configured to build a Docker image, run unit tests, and push the image to a registry. To ensure that only successfully tested images are pushed, which stage order is correct?

A.Run tests -> Build image -> Push image
B.Build image -> Push image -> Run tests
C.Push image -> Build image -> Run tests
D.Build image -> Run tests -> Push image
AnswerD

Build first, then test, then push only if tests pass.

Why this answer

The correct order is: build the image, run tests, then push only if tests pass. Pushing before tests could push a broken image.

297
MCQmedium

A developer needs to parse a JSON string received from a REST API into a Python dictionary. Which function should they use?

A.json.dumps()
B.json.loads()
C.json.load()
D.json.dump()
AnswerB

loads parses JSON string to Python dict.

Why this answer

json.loads() converts a JSON string into a Python object (dict, list, etc.).

298
MCQeasy

What does the Link header in a paginated API response typically contain?

A.The rate limit status
B.URLs for navigating to other pages
C.The API version
D.Only the total count of resources
AnswerB

Link header provides pagination links.

Why this answer

The Link header includes URLs for next, previous, first, and last pages for cursor-based pagination.

299
MCQhard

A developer is troubleshooting an API call to Cisco SD-WAN vManage. The request fails with HTTP 400 status and the response body: '{"error": "Bad Request", "details": "Invalid JSON: unexpected token at position 42"}'. Which tool or technique should the developer use to quickly identify the syntax error?

A.Use a JSON validator to check the request body.
B.Increase the timeout value for the HTTP request.
C.Check the API key validity in the header.
D.Review the API documentation for required fields.
AnswerA

A JSON validator can identify syntax errors such as unexpected tokens.

Why this answer

The HTTP 400 status code indicates a client-side error, and the response body explicitly states 'Invalid JSON: unexpected token at position 42'. This means the request body contains malformed JSON. A JSON validator (e.g., jsonlint.com, jq, or a library like `json.loads()` in Python) will parse the JSON and pinpoint the exact syntax error (e.g., a missing comma, extra brace, or unescaped quote) at the specified position, allowing the developer to fix the request body quickly.

Exam trap

Cisco often tests the ability to map specific HTTP status codes and error messages to the correct troubleshooting tool, and the trap here is that candidates may confuse a JSON syntax error (400) with an authentication error (401/403) or a missing-field error (422), leading them to choose options like checking the API key or reviewing documentation instead of using a JSON validator.

How to eliminate wrong answers

Option B is wrong because increasing the timeout value addresses network latency or server delays, not a syntax error in the request body that causes an immediate 400 response. Option C is wrong because checking the API key validity would be relevant for a 401 Unauthorized or 403 Forbidden error, not a 400 Bad Request with a JSON parsing error. Option D is wrong because reviewing API documentation for required fields would help if the error were about missing or invalid fields (e.g., 422 Unprocessable Entity), but the error message explicitly points to a JSON syntax error, not a schema validation issue.

300
MCQeasy

A developer wants to get the current user's information from the Webex API. Which endpoint should they use?

A.GET /v1/people/me
B.POST /v1/messages
C.GET /v1/webhooks
D.GET /v1/rooms
AnswerA

This is the endpoint for the current user.

Why this answer

The GET /v1/people/me endpoint returns the authenticated user's details.

Page 3

Page 4 of 14

Page 5