CiscoAssociate level200-901

200-901 exam dumps: 203 free Cisco DevNet Associate (DEVASC) practice questions

Free 200-901 practice questions for the Cisco DevNet Associate exam, with the correct answer and a full explanation for every option. Read the first 10 below, browse all 203 by number, or take a timed practice exam.

Question bank last updated January 2025

Free 200-901 practice questions

Questions 1 to 10 of 203

Pick an answer before you open the explanation. Each question also has its own page with a permalink.

200-901 Question 1

Single answer

A development team is building a Python application that interacts with a REST API to retrieve network device information. The application must handle potential errors, such as network timeouts or invalid responses, without crashing. Which coding practice should the team implement to ensure robust error handling?

  1. A

    Use try-except blocks to catch specific exceptions, such as requests.Timeout or requests.ConnectionError.

  2. B

    Avoid using error handling mechanisms to keep the code simple and focus on successful cases.

  3. C

    Implement a while loop to continuously retry the request without any condition.

  4. D

    Ignore errors and rely on the application users to report issues manually.

Show answer and explanation

Correct answer: A

Explanation

The use of try-except blocks is a key practice in Python development for handling exceptions. In the context of interacting with a REST API, it is important to anticipate and handle known issues like timeouts or connection errors. This ensures the application can provide meaningful feedback to the user or retry operations gracefully, enhancing application reliability.

  • A. Correct.

    Using try-except blocks allows the application to handle specific exceptions, such as timeouts or connection errors, ensuring the program can recover gracefully or provide meaningful feedback to the user.

  • B. Incorrect.

    Avoiding error handling mechanisms can lead to unhandled exceptions, causing the application to crash and providing a poor user experience.

  • C. Incorrect.

    Using a while loop without conditions can result in infinite retries, consuming resources unnecessarily and potentially causing further issues.

  • D. Incorrect.

    Ignoring errors and relying on users to report issues is not a best practice as it does not ensure robust or proactive error handling, leading to a poor user experience.

200-901 Question 2

Select 3

A development team is building a REST API for a network automation application. They want to ensure the API adheres to proper design principles and is easy to maintain. Which of the following guidelines should they follow when designing the API?

  1. A

    Use meaningful and consistent resource naming conventions.

  2. B

    Always use HTTP GET for operations that modify resources.

  3. C

    Include versioning in the API URL for backward compatibility.

  4. D

    Return detailed error messages with proper HTTP status codes.

  5. E

    Avoid using HTTP methods like POST and PUT for security reasons.

Show answer and explanation

Correct answers: A, C, D

Explanation

REST API design should follow principles that promote clarity, maintainability, and usability. Using proper resource naming, versioning, and meaningful error handling improves the API's usability. Misusing HTTP methods like GET for modifying resources or avoiding standard methods such as POST and PUT can lead to poor design and functionality.

  • A. Correct.

    Meaningful and consistent resource naming conventions ensure that the API is intuitive and easy to use.

  • B. Incorrect.

    Using HTTP GET for operations that modify resources violates REST principles, as GET should only be used for retrieving data and should not have side effects.

  • C. Correct.

    Including versioning in the API URL helps maintain backward compatibility and allows for smoother transitions when updating the API.

  • D. Correct.

    Returning detailed error messages and proper HTTP status codes improves debugging and ensures clients understand what went wrong.

  • E. Incorrect.

    Avoiding HTTP methods like POST and PUT is not a best practice; these methods are essential for creating and updating resources in REST APIs when used securely.

200-901 Question 3

Single answer

A developer is designing a REST API that will exchange data between a client and a server. The developer needs a lightweight, human-readable data format with broad support in web technologies. Which data format should the developer choose?

  1. A

    XML

  2. B

    JSON

  3. C

    YAML

  4. D

    CSV

Show answer and explanation

Correct answer: B

Explanation

JSON is the most suitable choice for modern web APIs due to its lightweight nature, human readability, and broad adoption across web technologies. While XML and YAML have their use cases, they are either more verbose or less commonly used for APIs. CSV is not designed for hierarchical or nested data, making it unsuitable for most API interactions.

  • A. Incorrect.

    XML (Extensible Markup Language) is a structured data format, but it is more verbose compared to JSON and less commonly used in modern web APIs.

  • B. Correct.

    JSON (JavaScript Object Notation) is a lightweight, human-readable format widely used in web APIs due to its simplicity and compatibility with web technologies.

  • C. Incorrect.

    YAML (YAML Ain't Markup Language) is human-readable but is less commonly used for web APIs and is more popular for configuration files.

  • D. Incorrect.

    CSV (Comma-Separated Values) is suitable for tabular data but lacks the hierarchical structure needed for complex data exchange in APIs.

200-901 Question 4

Single answer

A developer is working on a network automation script that interacts with APIs and configuration files. The developer needs to choose a data format that is human-readable, supports complex structures like nested objects, and is widely used for RESTful API responses. Which data format is the best choice?

  1. A

    XML

  2. B

    JSON

  3. C

    YAML

  4. D

    CSV

Show answer and explanation

Correct answer: B

Explanation

JSON is the best choice because it strikes a good balance between readability, support for complex data structures, and its widespread adoption for RESTful API responses. While XML and YAML also support complex structures, JSON's widespread use in APIs makes it the ideal format for this specific use case.

  • A. Incorrect.

    XML is human-readable and supports complex structures, but it is more verbose compared to JSON and YAML. It is less commonly used for RESTful API responses.

  • B. Correct.

    JSON is human-readable, supports complex structures like nested objects, and is the most widely used format for RESTful API responses, making it the best choice for this scenario.

  • C. Incorrect.

    YAML is human-readable and supports complex structures, but it is typically used in configuration files rather than RESTful API responses.

  • D. Incorrect.

    CSV (Comma-Separated Values) is not suitable for representing complex data structures like nested objects, nor is it commonly used for RESTful API responses.

200-901 Question 5

Single answer

You are building a Python application that consumes data from an API that returns JSON. Which library and method combination should you use to parse the JSON data into a Python dictionary?

  1. A

    xml.etree.ElementTree and ElementTree.parse()

  2. B

    json and json.loads()

  3. C

    yaml and yaml.load()

  4. D

    csv and csv.reader()

Show answer and explanation

Correct answer: B

Explanation

To parse JSON data into a Python dictionary, the 'json' library is used along with the 'json.loads()' method. This method takes a JSON-formatted string and converts it into a Python data structure such as a dictionary or list. Other libraries such as xml.etree.ElementTree, yaml, and csv are used to parse other data formats like XML, YAML, and CSV, respectively.

  • A. Incorrect.

    xml.etree.ElementTree and ElementTree.parse() are used for parsing XML data, not JSON.

  • B. Correct.

    json and json.loads() is the correct combination for parsing JSON data into a Python dictionary.

  • C. Incorrect.

    yaml and yaml.load() is used for parsing YAML data, not JSON.

  • D. Incorrect.

    csv and csv.reader() is used for parsing CSV data, not JSON.

200-901 Question 6

Single answer

You are developing a Python script to process configuration data provided by a network automation tool. The data is structured in JSON format, and you need to convert it into a Python dictionary for further processing. Which Python method should you use to achieve this?

  1. A

    json.loads()

  2. B

    json.dumps()

  3. C

    yaml.safe_load()

  4. D

    xml.etree.ElementTree.parse()

Show answer and explanation

Correct answer: A

Explanation

In this scenario, JSON data needs to be converted into a Python dictionary for further processing. The json.loads() method is specifically designed for this purpose, as it takes a JSON-formatted string and converts it into a Python object, such as a dictionary or list. Other methods mentioned, like json.dumps(), yaml.safe_load(), and xml.etree.ElementTree.parse(), are used for different purposes and formats, making them incorrect for this task.

  • A. Correct.

    This is the correct method to convert a JSON-formatted string into a Python dictionary. The json.loads() function parses the JSON string and produces a Python object.

  • B. Incorrect.

    This method is used to convert a Python object into a JSON-formatted string, which is the opposite operation of what is required in this scenario.

  • C. Incorrect.

    This method is used to parse YAML data into Python objects, not JSON data. While it is useful for YAML, it is not applicable to JSON.

  • D. Incorrect.

    This method is used to parse XML data into an ElementTree object, which is unrelated to JSON parsing.

200-901 Question 7

Single answer

You are working on a Python-based network automation project and need to store hierarchical data about network devices, including their hostname, IP address, and a list of VLANs they belong to. Which data structure is the most appropriate for this use case?

  1. A

    List of strings

  2. B

    Dictionary

  3. C

    Set

  4. D

    Tuple

Show answer and explanation

Correct answer: B

Explanation

For storing hierarchical data about network devices, such as a hostname, IP address, and VLANs, a dictionary is the most appropriate Python data structure. Dictionaries allow you to organize data in key-value pairs, making it easy to retrieve and manipulate the specific attributes of each device. Other data structures like lists, sets, and tuples do not provide the required flexibility or organization for this use case.

  • A. Incorrect.

    A list of strings can only hold ordered data and does not provide a way to organize hierarchical data with key-value pairs for the hostname, IP, and VLANs.

  • B. Correct.

    A dictionary is the most suitable data structure for this use case because it allows you to store and organize hierarchical data using key-value pairs, making it easy to associate hostnames with IP addresses and VLANs.

  • C. Incorrect.

    A set is unordered and only holds unique items, which is not suitable for storing structured, hierarchical data.

  • D. Incorrect.

    A tuple is immutable and is better suited for fixed collections of data. It does not provide the flexibility to handle hierarchical, key-value pair data.

200-901 Question 8

Select 2

You are developing a Python application to interact with a REST API that returns JSON data. The API response contains nested structures, including lists and dictionaries. Your task is to extract the 'device_name' from the following JSON response:

{ "devices": [ {"id": 1, "device_name": "Router1", "status": "active"}, {"id": 2, "device_name": "Switch1", "status": "inactive"} ] }

Which of the following Python code snippets correctly extracts the device names into a list?

  1. A

    [device['device_name'] for device in response['devices']]

  2. B

    [response['device_name'] for device in response['devices']]

  3. C

    list(map(lambda x: x['device_name'], response['devices']))

  4. D

    response['devices']['device_name']

  5. E

    response.devices['device_name']

Show answer and explanation

Correct answers: A, C

Explanation

In the given JSON structure, 'device_name' is a key within dictionaries that are elements of the 'devices' list. To extract the device names, you need to iterate over the list and access the 'device_name' key in each dictionary. Both the list comprehension and the map function are valid ways to achieve this.

  • A. Correct.

    This is the correct way to use a list comprehension to access the 'device_name' key in each dictionary within the 'devices' list.

  • B. Incorrect.

    This is incorrect because 'response' does not have a direct 'device_name' key; it is nested within the 'devices' list.

  • C. Correct.

    This is another correct approach using the map function to extract 'device_name' from each dictionary in the 'devices' list.

  • D. Incorrect.

    This is incorrect because 'response['devices']' is a list, and you cannot directly access 'device_name' without iterating over the list.

  • E. Incorrect.

    This is invalid Python syntax, as 'response' is a dictionary and does not support dot notation for key access.

200-901 Question 9

Single answer

A development team is building a new API for their application. They decide to write tests for each function before implementing the actual code. How does this approach align with the principles of test-driven development (TDD)?

  1. A

    It helps ensure that the code meets the test requirements from the beginning.

  2. B

    It eliminates the need for refactoring code after implementation.

  3. C

    It focuses on writing tests only after the code is fully implemented.

  4. D

    It encourages writing minimal code necessary to pass the tests.

Show answer and explanation

Correct answer: A

Explanation

The scenario describes a key principle of test-driven development: writing tests before implementing the code. This ensures that the code is designed around the test cases from the start, leading to better alignment with requirements and fewer bugs. While refactoring and writing minimal code are part of TDD practices, the primary focus here is on the sequence of writing tests first.

  • A. Correct.

    This is correct. TDD emphasizes writing tests before implementation to ensure the code is built to meet the test requirements, promoting better design and reliability.

  • B. Incorrect.

    This is incorrect. TDD does not eliminate the need for refactoring; in fact, refactoring is an integral part of the TDD cycle to improve code quality after the test passes.

  • C. Incorrect.

    This is incorrect. TDD requires writing tests before the code is implemented, not after.

  • D. Incorrect.

    This is incorrect. While TDD encourages writing minimal code to pass the tests, this is not the main principle emphasized in the scenario described.

200-901 Question 10

Select 3

A development team is building a new API and decides to implement test-driven development (TDD). Which of the following steps correctly describe the TDD workflow?

  1. A

    Write a failing test case for the desired functionality.

  2. B

    Write the full implementation of the feature before writing tests.

  3. C

    Refactor the code after making the test pass.

  4. D

    Ensure all tests pass before moving to the next feature.

  5. E

    Skip writing tests for trivial features to save time.

Show answer and explanation

Correct answers: A, C, D

Explanation

Test-driven development (TDD) is a software development process where tests are written before the actual implementation. The workflow involves writing a failing test case, writing just enough code to make the test pass, and then refactoring the code for improvement while ensuring the test still passes. This iterative process ensures high-quality code and comprehensive testing.

  • A. Correct.

    Correct: In TDD, you start by writing a test case for the functionality you want to implement, ensuring it fails initially because the feature is not yet implemented.

  • B. Incorrect.

    Incorrect: TDD emphasizes writing tests before implementing the feature. Writing the full implementation before tests violates the TDD process.

  • C. Correct.

    Correct: After making the test pass, TDD encourages refactoring to improve code quality while ensuring the test still passes.

  • D. Correct.

    Correct: Ensuring all tests pass is critical in TDD to maintain confidence in the codebase before moving forward.

  • E. Incorrect.

    Incorrect: Skipping tests, even for trivial features, can lead to untested code and potential bugs. TDD advocates testing all aspects of the code.

Timed practice exam

Take a 200-901 practice test under exam conditions

75 questions in 120 minutes, drawn from this bank, with a score report and a per-question review when you finish.

Start timed exam

What the 200-901 exam covers

Official Cisco DevNet Associate exam domains and weightings.

  • Software Development and Design

    15% of exam

  • Understanding and Using APIs

    20% of exam

  • Cisco Platforms and Development

    15% of exam

  • Application Deployment and Security

    15% of exam

  • Infrastructure and Automation

    20% of exam

  • Network Fundamentals

    15% of exam

200-901 practice questions 1 to 100 of 203

Every question has a page with the answer and explanation. Numbers are stable, so you can bookmark or share them. The bank is split into 3 pages of up to 100 questions.

  1. 1.A development team is building a Python application that interacts with a REST API to retrieve network device...
  2. 2.A development team is building a REST API for a network automation application. They want to ensure the API...
  3. 3.A developer is designing a REST API that will exchange data between a client and a server. The developer...
  4. 4.A developer is working on a network automation script that interacts with APIs and configuration files. The...
  5. 5.You are building a Python application that consumes data from an API that returns JSON. Which library and...
  6. 6.You are developing a Python script to process configuration data provided by a network automation tool. The...
  7. 7.You are working on a Python-based network automation project and need to store hierarchical data about...
  8. 8.You are developing a Python application to interact with a REST API that returns JSON data. The API response...
  9. 9.A development team is building a new API for their application. They decide to write tests for each function...
  10. 10.A development team is building a new API and decides to implement test-driven development (TDD). Which of the...
  11. 11.Your team is developing a network automation application. The project requires frequent changes based on user...
  12. 12.A development team is tasked with creating a new application with evolving requirements. The stakeholders...
  13. 13.A DevOps team is working on automating a deployment pipeline using Python. To ensure the code is modular,...
  14. 14.A developer is working on a Python project that leverages the Cisco Meraki API to automate network...
  15. 15.You are developing a web application for a client and need to ensure the code is modular, maintainable, and...
  16. 16.A development team is building a web application that requires frequent updates to the user interface...
  17. 17.A development team is collaborating on a network automation project. They often make changes to scripts and...
  18. 18.As a DevOps engineer at a software company, you are collaborating with a team of developers on a new API...
  19. 19.You are working on a feature branch in a Git repository and want to integrate the latest changes from the...
  20. 20.You are working on a new feature in a Git repository and have made several changes in your local branch named...
  21. 21.You are tasked with creating a new Git repository for a development project using a template available in a...
  22. 22.You are working on a Python automation project hosted in a Git repository. Your team requests you to create a...
  23. 23.A DevOps engineer is tasked with updating a network automation script to dynamically add or remove devices...
  24. 24.You are managing a network automation project using Python and the Cisco REST API. Your team needs to...
  25. 25.You are working on a Python script to automate the configuration of a network device using a RESTCONF API....
  26. 26.You are working on a Python script that interacts with a network device using the NETCONF protocol. After...
  27. 27.You are working on a CI/CD pipeline to manage a Git repository for your application. The team has decided to...
  28. 28.You are working on a Git-based project that involves collaboration with multiple developers. A colleague has...
  29. 29.A development team is working on a project that involves multiple concurrent feature updates to a shared...
  30. 30.A development team is managing a Git repository for a new project. They want to create a separate branch for...
  31. 31.You are collaborating on a Git repository with your team. While merging a feature branch into the main...
  32. 32.You are collaborating with a team on a Git repository for a DevNet project. During a git pull operation, you...
  33. 33.You are developing a Python script that uses Git to manage a source code repository. You want to compare the...
  34. 34.A developer is tasked with creating a Python script to identify configuration differences between two JSON...
  35. 35.You are tasked with developing an application that integrates with a network device using its REST API. The...
  36. 36.A network automation engineer is tasked with retrieving the details of all devices managed by a network...
  37. 37.You are working with a network device that provides a REST API to retrieve the list of VLANs configured on...
  38. 38.You are tasked with creating a REST API request to retrieve a list of all devices from a network management...
  39. 39.A developer is building an application that integrates with a third-party payment processing service. The...
  40. 40.A development team is creating a real-time notification system for their application. They decide to use...
  41. 41.A development team is building an application that consumes a third-party API to fetch weather data. During...
  42. 42.A development team is integrating with a third-party API to fetch weather data for their application. During...
  43. 43.A developer is testing a REST API that retrieves user details. When making a request to an endpoint with a...
  44. 44.A developer is working with a REST API that retrieves data about network devices. During testing, they...
  45. 45.A developer is working with an API that manages user accounts. They attempt to send a POST request to create...
  46. 46.You are developing an application that interacts with a REST API. While testing a POST request to create a...
  47. 47.A developer is troubleshooting an HTTP response from their API and observes the following: HTTP/1.1 404 Not...
  48. 48.A developer is debugging an HTTP API response from a web server and receives the following response: HTTP/1.1...
  49. 49.A developer is creating an application that interacts with a REST API. The API requires clients to...
  50. 50.A developer is creating an application that integrates with a third-party API. The API requires...
  51. 51.A development team is designing an API for a financial application that processes transactions. The team...
  52. 52.A developer is designing an API for a new web application. The application has real-time collaboration...
  53. 53.You are building a Python script to fetch data from a REST API using the requests library. The API endpoint...
  54. 54.You are tasked with creating a Python script to retrieve data from a REST API endpoint that requires an API...
  55. 55.You are developing an application that interacts with a Cisco DNA Center instance using its REST APIs. The...
  56. 56.A network engineer is tasked with automating the deployment of virtual networks using Cisco DNA Center's...
  57. 57.You are tasked with writing a Python script to retrieve a list of devices connected to a Cisco network using...
  58. 58.You are tasked with automating the creation of a VLAN on a Cisco switch using the Cisco pyATS SDK. The SDK...
  59. 59.A network engineer wants to programmatically retrieve the list of devices connected to a Cisco Meraki network...
  60. 60.A network engineer wants to automate the process of retrieving real-time client statistics, such as signal...
  61. 61.A company is deploying a multi-domain network environment where they want to integrate Cisco DNA Center,...
  62. 62.A company is using Cisco DNA Center to manage its network infrastructure and wants to integrate it with Cisco...
  63. 63.You are tasked with automating the provisioning of new servers in a Cisco UCS environment to support a...
  64. 64.A network engineer is tasked with automating the provisioning of servers in a data center using Cisco UCS...
  65. 65.You are managing a hybrid cloud environment and use Cisco Intersight for infrastructure management. The team...
  66. 66.An organization uses Cisco Intersight to manage its IT infrastructure. The team wants to automate the...
  67. 67.A development team is integrating Cisco Webex into their organization’s customer support application. They...
  68. 68.A developer is tasked with building a custom application that integrates with Cisco Webex to provide...
  69. 69.You are developing a Python application to retrieve user directory information from Cisco Unified...
  70. 70.A developer is tasked with automating device provisioning in Cisco Unified Communication Manager (CUCM) to...
  71. 71.A network administrator wants to leverage Cisco's security platforms to enhance threat detection and response...
  72. 72.Your organization is utilizing Cisco Umbrella for DNS-layer security, Cisco Firepower for intrusion...
  73. 73.Your organization uses Cisco Secure Endpoint to protect endpoints and Cisco Identity Services Engine (ISE) to...
  74. 74.A company has deployed Cisco Secure Endpoint, Cisco Identity Services Engine (ISE), and Cisco Secure Malware...
  75. 75.A network engineer is tasked with automating the configuration of multiple Cisco IOS XE and NX-OS devices in...
  76. 76.A network engineer is tasked with automating a Cisco IOS XE router configuration. The engineer decides to use...
  77. 77.You are a developer tasked with creating a proof of concept for integrating a Cisco API into a new...
  78. 78.A developer is working on a project to integrate a network automation solution that uses REST APIs to...
  79. 79.A developer is working on an application that integrates with a Cisco API. While testing, the developer...
  80. 80.A developer is building an application that integrates with a Cisco API. During development, the developer...
  81. 81.A network engineer wants to retrieve the configuration of an interface on a network device using model-driven...
  82. 82.You are tasked with configuring a network device using model-driven programmability. The device supports YANG...
  83. 83.You are developing a network automation script to manage Cisco devices within your organization's...
  84. 84.You are working in a Cisco environment and need to automate the deployment of network configurations across...
  85. 85.You are tasked with automating the retrieval of device information from a network using Cisco's RESTCONF API....
  86. 86.You are tasked with automating the process of retrieving a list of devices from a network management system...
  87. 87.You are developing a Python application that integrates with a REST API to retrieve user data. The API...
  88. 88.You are tasked with retrieving a list of network devices from a Cisco DNA Center instance. Which API endpoint...
  89. 89.You are tasked with obtaining a list of network devices from a Cisco Meraki environment. Which method or API...
  90. 90.A network engineer is tasked with automating configuration changes across multiple SD-WAN devices in their...
  91. 91.An organization uses Cisco NSO to manage their network automation workflows. The team needs to ensure that...
  92. 92.As a developer, you are tasked with creating a script to manage a Webex space for your team. You want to...
  93. 93.As a developer, you are tasked with creating a Webex bot that automatically manages spaces by removing...
  94. 94.You are tasked with retrieving a list of clients connected to a Meraki network for an analytics dashboard....
  95. 95.You are a network engineer tasked with obtaining a list of all clients connected to your organization's...
  96. 96.A development team is working on a network automation project using Cisco DNA Center APIs to retrieve device...
  97. 97.You are tasked with deploying a centralized authentication system for your organization's APIs using Cisco's...
  98. 98.An application team plans to deploy a containerized web application on a Kubernetes cluster. They want to...
  99. 99.You are working on deploying a containerized application using Kubernetes. The application handles sensitive...
  100. 100.A company is deploying IoT sensors across multiple manufacturing plants to monitor real-time machine...

200-901 exam dumps FAQ

Are these 200-901 dumps real exam questions?

No. These are original practice questions written to the Cisco DevNet Associate exam objectives, not questions copied from a live exam. Memorising leaked questions violates Cisco's candidate agreement and stops working the moment the question pool rotates. Use this bank to check your understanding of each domain and to find the topics you still need to study.

How many 200-901 practice questions are there?

203 questions, each with the correct answer, an explanation of the answer, and a note on why every other option is wrong. The first 10 are on this page and every question has its own page linked below.

Are the 200-901 exam dumps free?

Yes. Every question, answer and explanation on this page and the linked question pages is free to read without an account. A free HydraNode account adds timed practice exams, scoring and progress tracking across attempts.

How do I take a timed 200-901 practice test?

Sign in and start the Cisco DevNet Associate exam on HydraNode. A session gives you 75 questions drawn from this bank in 120 minutes, then a score report with a per-question review.

What topics does the 200-901 exam cover?

The official exam domains are: Software Development and Design; Understanding and Using APIs; Cisco Platforms and Development; Application Deployment and Security; Infrastructure and Automation; Network Fundamentals.