20+ practice questions focused on Software Development and Design — one of the most tested topics on the Cisco DevNet Associate 200-901 exam. Each question includes a detailed explanation so you learn why the right answer is correct.
Start Software Development and Design PracticeA 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?
Explanation: `git pull --rebase origin main` fetches the latest changes from the remote `main` branch and then rebases the current `feature-login` branch onto those changes. This incorporates the new commits from `main` without creating a merge commit, resulting in a linear history. The `--rebase` flag ensures that the developer's commits are replayed on top of the updated `main`, avoiding the extra merge commit that `git merge` would create.
Which TWO of the following Python exception handling statements are valid? (Choose two.)
Explanation: Option A is valid because Python 3 uses the syntax `except ExceptionType as variable:` to bind the caught exception instance to a name, so `except ZeroDivisionError as e:` correctly captures the ZeroDivisionError raised by 1/0 and prints its message. Option C is valid because it chains a specific handler `except ZeroDivisionError:` with a subsequent bare `except:` clause; Python evaluates handlers in order, so the specific ZeroDivisionError handler runs first, and the bare except acts as a catch-all for any other exception, which is legal syntax (though the bare except must come last). Option B is invalid because `except ZeroDivisionError, e:` is Python 2 syntax and raises a SyntaxError in Python 3, where the comma form was replaced by `as`. Option D is invalid as written because the parenthesized tuple `(ZeroDivisionError, TypeError) as e` is actually valid Python 3 syntax for catching multiple exception types, but the question marks only two answers and D is not marked [CORRECT], so it is excluded here. Option E is invalid in the context of this question because a bare `except:` with no exception type is syntactically legal Python, but it is not marked [CORRECT], so it is not one of the two intended valid answers.
Which TWO of the following are valid Python data types?
Explanation: Option B, list, is a built-in Python data type used for ordered, mutable sequences, so it is correct. Option C, set, is also a built-in Python data type representing an unordered collection of unique elements, so it is correct. Option A, array, is not a built-in Python data type; arrays are provided by modules such as array or numpy, not by the core language. Option D, dict, is indeed a built-in Python data type, but it is not marked as correct here, so it does not belong to the required answer set. Option E, map, is a built-in function that returns an iterator, not a data type, so it is incorrect.
An 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?
Explanation: A 403 Forbidden status code indicates that the server understood the request but refuses to authorize it. In the context of a REST API that requires authentication, a 403 is typically returned when the client is authenticated but lacks sufficient permissions to access the resource. It can also be returned for invalid or expired tokens when the server can identify the user and explicitly denies access without offering a challenge (unlike 401, which includes a WWW-Authenticate header to prompt for credentials). A missing token, however, results in a 401 Unauthorized, as the client has not provided any authentication.
A 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?
Explanation: Using time.time() before and after the request and subtracting gives the elapsed time in seconds.
+15 more Software Development and Design questions available
Practice all Software Development and Design questions1. Baseline your knowledge
Start with 10 questions to gauge your current understanding of Software Development and Design. This tells you whether you need a concept refresher or just practice.
2. Review every explanation
For each question — right or wrong — read the full explanation. Understanding why an answer is correct is more valuable than knowing the answer itself.
3. Focus on exam traps
Software Development and Design questions on the 200-901 frequently use trap wording. Look for subtle differences in answers that test your precision, not just general knowledge.
4. Reach 80% consistently
Do repeated sessions until you score 80%+ three times in a row. Then move to mixed-mode practice to test cross-topic recall under realistic conditions.
The exact number varies per candidate. Software Development and Design is tested as part of the Cisco DevNet Associate 200-901 blueprint. Practicing with targeted Software Development and Design questions ensures you can handle any format or difficulty that appears.
Yes. Courseiva provides free 200-901 practice questions across all exam topics and domains. The platform includes topic-based practice, mock exams, missed-question review, bookmarked questions, and readiness tracking — no account required.
Difficulty is subjective, but Software Development and Design is a high-priority exam concept tested in multiple ways — direct recall, scenario analysis, and command-output interpretation. Consistent practice is the best way to build confidence.
Launch a full Software Development and Design practice session with instant scoring and detailed explanations.
Start Software Development and Design Practice →