Free Cisco 300-435 ENAUTO practice questions

10 free Cisco 300-435 ENAUTO practice questions with the correct answer and a full explanation for each, taken from the CertStash pack of 233 questions. Work through them, then open each answer to check your reasoning.

Question 1

What are two characteristics of RPC API calls? (Choose two.)

  1. They can be used only on network devices.
  2. They use only UDP for communications.
  3. Parameters can be passed to the calls.
  4. They must use SSL/TLS.
  5. They call a single function or service.
Show answer and explanation

Correct answer: C, E

C. Parameters can be passed to the calls. E. They call a single function or service. RPC (Remote Procedure Call) API calls have two defining characteristics: they allow parameters to be passed to the calls, enabling flexible function invocation with different inputs, and they call a single function or service at a time, which is the core principle of RPC, invoking a remote procedure as if it were local. RPC is not limited to network devices only, can use various protocols including TCP and UDP, and does not inherently require SSL/TLS encryption.

Why the other options are wrong

  • A. RPC calls can be used on local systems and are not limited to network devices only.
  • B. RPC can use multiple transport protocols, including TCP and UDP, not only UDP.
  • D. SSL/TLS encryption is not a requirement for RPC API calls, though it can be added for security.

Question 2

Which two actions do Python virtual environments allow users to perform? (Choose two.)

  1. Simplify the CI/CD pipeline when checking a project into a version control system, such as Git.
  2. Efficiently port code between different languages, such as JavaScript and Python.
  3. Run and simulate other operating systems within a development environment.
  4. Quickly create any Python environment for testing and debugging purposes.
  5. Quickly create an isolated Python environment with module dependencies.
Show answer and explanation

Correct answer: D, E

D. Quickly create any Python environment for testing and debugging purposes. E. Quickly create an isolated Python environment with module dependencies. Python virtual environments enable users to quickly create isolated Python environments with specific module dependencies, allowing different projects to have separate package versions without conflicts. They also allow users to quickly create any Python environment for testing and debugging purposes with different configurations. Virtual environments do not simplify CI/CD pipelines beyond standard dependency management, cannot port code between languages, and do not simulate operating systems.

Why the other options are wrong

  • A. While virtual environments can document dependencies, they do not inherently simplify the CI/CD pipeline compared to other dependency management approaches.
  • B. Virtual environments are Python-specific and cannot port code to other programming languages like JavaScript.
  • C. Virtual environments do not simulate operating systems; containerization tools like Docker are used for that purpose.

Question 3

What are two benefits of leveraging Ansible for automation of Cisco IOS XE Software? (Choose two.)

  1. Ansible playbooks are packaged and installed on IOS XE devices for automatic execution when an IOS device reboots.
  2. All IOS XE operating systems include Ansible playbooks for basic system administration tasks.
  3. It is a device-independent method for automation and can be used with any type of device or operating system.
  4. Ansible playbooks can be written from the IOS XE EXEC command line to configure the device itself.
  5. It does not require any modules of software except SSH to be loaded on the network device.
Show answer and explanation

Correct answer: C, E

C. It is a device-independent method for automation and can be used with any type of device or operating system. E. It does not require any modules of software except SSH to be loaded on the network device. Ansible provides two key benefits for IOS XE automation: it is a device-independent automation method that works with any type of device or operating system, not locked into a specific vendor platform, and it requires no additional software modules to be installed on the network device except SSH for communication, making it agentless and easy to deploy. Ansible playbooks are not automatically packaged on devices, most IOS XE systems do not include Ansible playbooks by default, and playbooks are not written from the IOS XE command line but rather created externally.

Why the other options are wrong

  • A. Ansible playbooks run from a control machine and are not packaged or installed on IOS XE devices for automatic execution.
  • B. IOS XE systems do not include Ansible playbooks by default; users must create their own or use community-provided playbooks.
  • D. Ansible playbooks cannot be written from the IOS XE EXEC command line; they are created externally and pushed to devices via the Ansible controller.

Question 4

Refer to the exhibit. The task is to create a Python script to display an alert message when a Meraki MX Security Appliance goes down. The exhibit shows sample data that is received.

Which Python snippet displays the device name and the time at which the switch went down?

Exhibit for question 4

Exhibit for question 4

Show answer and explanation

Correct answer: B. print("The Switch: "+return_val.deviceName+ ",

The return_val object shown in the exhibit is a JSON/dictionary structure containing fields like deviceName and occurredAt. Option B correctly accesses these fields using dot notation (return_val.deviceName and return_val.occurredAt), which is the standard Python syntax for accessing attributes of an object or dictionary when it has been parsed into an object. The string concatenation with the + operator properly combines the literal text with the object field values to produce the required output message.

Why the other options are wrong

  • A. Uses undefined variables deviceName and occurredAt directly without accessing them from the return_val object.
  • C. Uses bracket notation with quoted keys, which is dictionary syntax, but the print statement has a syntax error with an extra quote before the closing parenthesis.
  • D. Attempts to bind return_val to a loop variable 'items' that doesn't exist, and the with statement is inappropriate for this single object access.

Question 5

Refer to the exhibit. The goal is to write a Python script to automatically send a message to an external messaging application when a rogue AP is detected on the network. The message should include the broadcast SSID that is in the alert. A function called `send_to_application` is created, and this is the declaration: send_to_application(message) The exhibit also shows the data that is received by the application and stored in the variable return_val.

Which Python code completes the task?

Exhibit for question 5

Exhibit for question 5

Show answer and explanation

Correct answer: D. bssids =return_val["alertData"]["bssids"]

Option D correctly accesses the BSSIDs from the JSON data structure. Looking at the exhibit, the bssids array is nested under alertData, making return_val["alertData"]["bssids"] the correct path. The code then iterates through each value in the bssids array and sends each one to the application with the required message format. This matches the actual structure shown in the JSON exhibit where bssids is an array within alertData containing two MAC addresses.

Why the other options are wrong

  • A. Attempts to index bssids as return_val["alertData"][bssids][number], which is incorrect syntax and doesn't properly access the nested array structure.
  • B. Incorrectly accesses bssids directly from return_val without navigating through alertData first, missing the required nesting level.
  • C. Incorrectly attempts to use countNode as an index to access bssids, but countNode is a count value (1), not a key that contains the bssids array.

Question 6

Which two features are foundations of a software-defined network instead of a traditional network? (Choose two.)

  1. control plane and data plane are tightly coupled
  2. build upon a robust software stack
  3. requires device by device-level configurations
  4. automated through expressed intent to a software controller
  5. requires significant physical hardware resources
Show answer and explanation

Correct answer: B, D

B. build upon a robust software stack D. automated through expressed intent to a software controller Software-defined networks are built upon a robust software stack that provides abstraction and programmability, moving intelligence from individual devices to a centralized platform. SDN networks are automated through expressed intent to a software controller, where administrators define desired network behavior and the controller implements it across devices. Traditional networks tightly couple control and data planes, require device-b-evice configurations, and demand significant physical hardware resources, all characteristics that SDN moves away from.

Why the other options are wrong

  • A. In SDN, the control plane and data plane are decoupled, not tightly coupled; this separation is a foundational principle.
  • C. SDN eliminates device-by-device configuration through centralized control and policy-based automation.
  • E. SDN can reduce physical hardware requirements through virtualization and softwar-ased management rather than requiring extensive physical resources.

Question 7

A new project called `device_status` must be stored in a central Git repository called `device_status` with the first file named `device_status.py`.

The Git repository is created using the account python_programmer.

Which set of commands inserts the project into Git?

Exhibit for question 7

Show answer and explanation

Correct answer: A. git init

Revision" git remote add origin https://git.cisco.com/python_programmer/device_status.git git push -u origin master Option A presents the correct sequence for creating a new local Git project and pushing it to a central repository. The workflow initializes a local repository, adds the file, commits it with a message, configures the remote origin pointing to the central repository at https://git.cisco.com/python_programmer/device_status.git, and pushes the master branch upstream. This is the proper procedure for inserting an existing project into a centralized Git repository for the first time.

Why the other options are wrong

  • B. Uses git pull instead of git commit and git push, which pulls from the remote repository before any commits have been made to the local repository.
  • C. Uses git pull instead of git push, and the pull command with -u flag is incorrect syntax for retrieving changes; the workflow would not successfully push the initial project to the central repository.
  • D. Specifies an invalid remote URL format (missing https:// protocol and incomplete path) and uses git push without -u flag to set upstream tracking.

Question 8

What are two characteristics of synchronous calls to APIs? (Choose two.)

  1. They can be used only with certain programming languages.
  2. They make your application less portable, so asynchronous calls are preferred.
  3. They can add perceived latency to your application if data is not received.
  4. They block until a response is returned from the servers.
  5. They do not block while waiting for the API to be processed.
Show answer and explanation

Correct answer: C, D

C. They can add perceived latency to your application if data is not received. D. They block until a response is returned from the servers. Synchronous API calls have two key characteristics: they can add perceived latency to an application if the server response is delayed, since the user must wait for the operation to complete, and they block execution until a response is returned from the server, meaning the calling code pauses and waits for the API to finish processing. Synchronous calls are not language-specific, do not inherently reduce portability compared to asynchronous alternatives, and explicitly do block rather than operate without blocking.

Why the other options are wrong

  • A. Synchronous calls are available across all major programming languages and are not restricted to certain ones.
  • B. Synchronous calls do not inherently make applications less portable; portability depends on the overall application architecture.
  • E. Synchronous calls explicitly block while waiting for the API response; this is their defining characteristic, not non-blocking behavior.

Question 9

Refer to the exhibit.

What is the result when running the Python scripts?

Exhibit for question 9

  1. s1
  2. s2
  3. s1, s2, s3
  4. s3
Show answer and explanation

Correct answer: B. s2

The code creates a list `neighbors` containing three string elements: 's1', 's2', and 's3'. It then creates a dictionary `switch` where the key 'neighbors' maps to the list `neighbors`. When executing `print(switch['neighbors'][1])`, the code first accesses the 'neighbors' key in the dictionary, which returns the list ['s1', 's2', 's3'], then indexes into that list at position [1], which retrieves the second element (using zero-based indexing), resulting in 's2'.

Why the other options are wrong

  • A. Index [0] would return 's1', but the code uses index [1].
  • C. The entire list would be returned if no index was specified, but [1] selects a single element.
  • D. Index [2] would return 's3', but the code uses index [1].

Question 10

An engineer stored source code in a Git repository and is ready to develop a new feature. The production release is stored in the `master` branch.

Which commands create the new feature in a separate branch called `feature` and check out the new version?

Exhibit for question 10

Show answer and explanation

Correct answer: C. git branch feature

To create a new feature branch locally and check it out, the correct sequence is to first create the branch with `git branch feature` and then switch to it with `git checkout feature`. Option C performs exactly these two operations in the correct order. Option A attempts to branch from a remote URL which is not the correct syntax for local branch creation. Option B uses `git remote add` which adds a remote reference, not a local branch. Option D also incorrectly uses `git remote add` and follows with `git push`, which would push to a remote rather than creating and checking out a local feature branch.

Why the other options are wrong

  • A. Uses incorrect syntax attempting to branch from a URL rather than creating a local branch with a simple name.
  • B. Uses `git remote add` to add a remote reference instead of creating a local branch, and `git pull` is not appropriate for this workflow.
  • D. Uses `git remote add` with a URL and `git push` instead of creating and checking out a local feature branch.

That was 10 of 233.

The full Cisco 300-435 ENAUTO pack has all 233 questions, each with the answer, the explanation and why the other options are wrong, plus a questions-only copy for timed runs. US$39, paid once, with free monthly updates and a pass-or-your-money-back guarantee.

Get the full pack