Courseiva
mediumMultiple Choice

200-901 Practice Question: A developer is working on a Python application…

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?

⚠ Common 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.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

Use a distributed lock mechanism to ensure exclusive access

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.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    Implement a retry mechanism with exponential backoff and random jitter

    Why it's wrong here

    Retrying with backoff and jitter only re-sends the same PUT after a conflict, so concurrent writers still overwrite each other's interface descriptions. It is tempting because backoff genuinely helps with transient throttling or 5xx responses, and would be right if the 409s came from rate limiting rather than simultaneous updates.

  • ✓

    Use a distributed lock mechanism to ensure exclusive access

    Why this is correct

    A distributed lock grants only one application instance exclusive access to a given interface resource at a time, serialising concurrent PUT requests. This prevents the race condition that produces the 409 Conflict, directly satisfying the stem's requirement to avoid conflicts between concurrent instances.

  • ✗

    Change the PUT to PATCH and hope for partial updates

    Why it's wrong here

    PATCH still carries no concurrency token, so two instances can interleave partial edits and the last write silently wins. It is tempting because PATCH updates only supplied fields, and would be correct when you must change one leaf without resending the whole interface object and no competing writers exist.

  • ✗

    Use a timestamp in the request to force overwrite

    Why it's wrong here

    A timestamp inside the payload is just data; the device does not compare it against stored state, so both writers still succeed and clobber each other. It is tempting because timestamps support audit trails and last-write-wins logic in application code, and would be right where the server itself enforces version ordering.

Visual reference

Client Recursive Resolver Root DNS (13 root servers) TLD DNS (.com, .org, …) Authoritative example.com query IP addr answer

About these practice questions

One of 975 original 200-901 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This 200-901 practice question is part of Courseiva's free Cisco certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 200-901 exam.