200-901 · domain
Software Development and Design
Practise Cisco DevNet Associate 200-901 Software Development and Design practice questions — original exam-style scenarios with answer choices, explanations, and analysis of common mistakes.
Focused practice
Practice Software Development and Design questions
Scored sessions drawing only from this domain — pick a length below.
Start 20-question practice test →What this domain covers
What to know about Software Development and Design
Software Development and Design questions test whether you can apply the concept in context, not just recognise a definition.
How the topic appears in realistic exam-style scenarios.
Which detail in the question changes the correct answer.
How to eliminate plausible but wrong options.
How to connect the question back to the wider exam objective.
Watch out for
Common Software Development and Design exam traps
- ▸Answering from memory before reading the full scenario.
- ▸Missing a constraint such as cost, availability, security, scope or command context.
- ▸Choosing a broad answer when the question asks for the most specific fix.
- ▸Ignoring why the wrong options are tempting.
Question index
All Software Development and Design questions (72)
Click any question to see the full explanation, or start a practice session above.
In a microservices architecture, which communication pattern is typically asynchronous and decoupled?
Medium2Which Python exception would be raised by the following code? my_dict = {'a': 1} value = my_dict['b']
Hard3A developer is using Git for version control. After creating a new feature branch 'feature-login' from 'main', they make several commits. Meanwhile, another developer has merged changes into 'main'. The developer wants to incorporate the latest main changes into 'feature-login' without creating a merge commit. Which Git command should they use?
Hard4A developer is designing a Python script that needs to make multiple REST API calls to different endpoints sequentially. The script must handle the following requirements: (1) Use a variable timeout for each request, (2) Include an authorization token in every request, (3) Parse JSON responses. Which TWO features of the requests library should be used? (Choose two.)
Medium5A Python function needs to accept a variable number of keyword arguments. Which parameter syntax should be used?
Medium6A Python function needs to handle both expected and unexpected errors during file I/O. Which THREE constructs are essential for robust exception handling? (Choose three.)
Easy7A developer is implementing exception handling in Python for a function that makes an HTTP request. Which THREE exception types should be caught to handle common network and HTTP errors? (Choose three.)
Hard8Which Git command is used to switch to an existing branch named 'feature-x' and update the working directory?
Medium9Which HTTP status code indicates that a POST request successfully created a new resource?
Medium10What is the output of the following code? my_list = [1, 2, 3] for i in range(len(my_list)): my_list[i] += 1 print(my_list)
Easy11In a microservices architecture, which of the following is a key characteristic compared to a monolithic architecture?
Hard12In the context of REST API design, which HTTP status code should be returned when a client sends a request that exceeds the API rate limit?
Medium13A Python developer is working on a microservices project where one service needs to communicate with another service that exposes a GraphQL API. Which THREE statements about GraphQL compared to REST are accurate? (Choose three.)
Hard14A Python function is designed to fetch device data from multiple sources. It uses *args to accept variable number of API endpoints and **kwargs for optional parameters like timeout. Which function definition correctly implements this?
Medium15Given the following Python code snippet: with open('config.json', 'r') as f: data = json.load(f) print(data['interfaces'][0]['name']) What is the expected output if config.json contains {"interfaces": [{"name": "GigabitEthernet0/1"}]}?
Medium16In version control with Git, which command creates a new branch and switches to it in one step?
Medium17A Python script sends a PUT request to update a resource. The API returns a response with status code 204. What does this indicate?
Medium18Which THREE of the following are best practices when using Git for a collaborative project? (Choose three.)
Hard19Given the JSON string: '{"name": "Alice", "scores": [90, 85, 92]}', which Python code correctly extracts the second score (85)?
Medium20A 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)?
Medium21Which HTTP status code indicates that a POST request successfully created a new resource on the server?
Medium22A 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?
Hard23A 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?
Easy24A Python script uses a list comprehension: [x**2 for x in range(20) if x % 2 == 0]. Which of the following is equivalent?
Hard25A 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?
Medium26A 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?
Easy27A developer needs to parse a JSON string received from a REST API into a Python dictionary. Which function should they use?
Medium28A Python script uses a try/except block to handle API errors. If the API returns a 429 status code, which mechanism should the script implement to handle the error appropriately?
Hard29A network engineer writes a Python script to handle exceptions when making REST API calls. Which exception type should be caught to handle network connectivity issues (e.g., DNS failure, refused connection)?
Medium30A developer is designing a microservices architecture for a network monitoring application. Which of the following is a key advantage of microservices over a monolithic architecture?
Medium31Which TWO of the following are valid branching strategies in Git? (Choose two.)
Medium32Which TWO of the following Python exception handling statements are valid? (Choose two.)
Medium33In software architecture, which pattern separates an application into three interconnected components: Model (data), View (UI), and Controller (input logic)?
Medium34A developer uses the requests library to call an API. The API returns 429 Too Many Requests. What is the best practice to handle this?
Hard35A developer needs to update an existing resource via a REST API. The update should be partial, meaning only the fields provided in the request body should be changed. Which HTTP method should be used?
Medium36Which TWO of the following are valid Python data types?
Easy37Which Git branching strategy typically involves a long-lived 'develop' branch where feature branches are merged, and releases are created from a 'release' branch?
Medium38A Python script reads a JSON configuration file named 'config.json' and needs to extract the value of a nested key 'api_key' under 'authentication'. The file structure is: {"authentication": {"api_key": "abc123", "method": "token"}, "timeout": 30}. Which code snippet correctly opens the file and retrieves the api_key value?
Medium39A network automation script uses Git for version control. The developer wants to revert the last two commits on the current branch but keep the changes in the working directory for further modification. Which TWO Git commands can achieve this? (Choose two.)
Hard40What does the Git command 'git log --oneline' display?
Easy41A developer is implementing a Python function that makes an HTTP GET request to an API and returns the response time. Which code snippet correctly measures the elapsed time?
Medium42A developer writes a Python script to read a configuration file. Which code snippet correctly opens the file 'config.json' for reading and ensures the file is closed after use?
Easy43Which Python list comprehension correctly creates a list of squares for even numbers from 0 to 10?
Medium44A developer is building a REST API client in Python using the requests library. They need to send a JSON payload with authentication. Which code snippet correctly sends a POST request with a JSON body and a Bearer token?
Medium45A developer wants to process a list of server hostnames and create a new list containing only hostnames that start with 'web'. Which Python list comprehension correctly accomplishes this?
Easy46An automation engineer is writing a Python script to interact with a REST API that requires authentication. The API returns a 403 Forbidden status. Which scenario best explains this response?
Hard47Which TWO of the following are valid branching strategies in Git? (Choose two.)
Medium48A developer is designing a microservices-based network management system. One requirement is that when a new device is discovered, multiple other services must be notified asynchronously to perform tasks like inventory update, monitoring setup, and log collection. Which architectural pattern best fits this requirement?
Hard49Which THREE of the following are characteristics of GraphQL compared to REST? (Choose three.)
Hard50A developer needs to read a JSON configuration file and parse it into a Python dictionary. The file contains nested objects. Which code snippet correctly accomplishes this?
Medium51In Python, which data type is used to represent an unordered collection of unique elements?
Easy52In Python, which of the following is a valid way to define a function that accepts a variable number of positional arguments?
Easy53When using the requests library in Python to send a POST request, which parameter should be used to send a JSON payload in the request body?
Easy54Which HTTP status code indicates a successful POST request that created a resource?
Easy55Which Git command is used to create a new branch and switch to it in one step?
Medium56A Python script uses the 'requests' library to make a POST request to create a new resource. Which HTTP status code indicates successful creation?
Easy57Which THREE statements about RESTful APIs are true?
Hard58Which THREE of the following are benefits of using event-driven architecture in a distributed system? (Choose three.)
Hard59Which TWO HTTP status codes indicate client errors?
Medium60A developer needs to create a Python script that makes a GET request to a REST API to retrieve a list of network devices. The API uses query parameters to filter by device type and status. Which TWO code snippets correctly include query parameters using the requests library? (Choose two.)
Easy61A network automation script uses the requests library to retrieve device information from a REST API. The API requires authentication via a bearer token. Which code example correctly sets the Authorization header?
Medium62A developer is writing a Python script that processes a large CSV file. The script uses 'with open(file, 'r') as f' to read the file. Why is this approach preferred over calling f = open(file) and then f.close()?
Hard63Which TWO statements about the MVC pattern are correct? (Choose two.)
Medium64Which data structure in Python would be most appropriate for storing a collection of unique items and performing fast membership tests?
Easy65A Python script uses a dictionary to store device configuration parameters. Which key, if any, will raise a KeyError if it does not exist in the dictionary?
Easy66Which Python data type is mutable and unordered?
Easy67In the MVC (Model-View-Controller) pattern, which component is responsible for handling user input and updating the model?
Hard68A DevOps engineer is managing a Git repository and wants to discard local changes to a file and revert it to the last committed state. Which TWO commands can accomplish this? (Choose two.)
Medium69A developer needs to create a Python function that accepts any number of keyword arguments and prints them. Which function definition correctly uses **kwargs?
Medium70In a microservices architecture, which of the following is a primary advantage over a monolithic architecture?
Hard71A Python script needs to iterate over a dictionary of network interfaces and print each interface name and its IP address. The dictionary is structured as: {'GigabitEthernet1/0/1': '10.1.1.1', 'GigabitEthernet1/0/2': None}. Which THREE code snippets correctly iterate and print the key-value pairs, skipping entries with None? (Choose three.)
Medium72Given the Python list comprehension: result = [x*2 for x in range(10) if x > 5] What is the value of result?
HardOther domains
All 200-901 exam domains
Frequently asked questions
- What does the Software Development and Design domain cover on the 200-901 exam?
- Software Development and Design questions test whether you can apply the concept in context, not just recognise a definition.
- How many questions are in this domain?
- This page lists all 72 Software Development and Design questions in the 200-901 question bank. The actual exam draws from this domain proportionally to its weighting in the official exam blueprint.
- What is the best way to practise this domain?
- Start with a short focused session (10 questions) to identify gaps, then work through explanations. Repeat with a longer session once the weak areas feel solid.
- Can I practise only Software Development and Design questions?
- Yes — the session launcher on this page filters questions to this domain only. Choose any session length for inline explanations and scoring.