Juniper jn0-223 practice test

Automation and DevOps, Associate (JNCIA-DevOps)

Last exam update: Nov 18 ,2025
Page 1 out of 5. Viewing questions 1-15 out of 66

Question 1

Which statement is correct about DevOps?

  • A. DevOps is a collection of strict guidelines that promotes the project completion over all other aspects.
  • B. DevOps is meant to define and restrict the development and operations tools used for a project.
  • C. DevOps is meant to unite the development, operations, and other teams to improve project collaborations.
  • D. DevOps is a defined standard written and maintained by the IEEE standards group.
Mark Question:
Answer:

C


Explanation:
DevOps is a set of practices, tools, and cultural philosophies that aims to integrate and automate the
processes between software development and IT operations teams. The primary goal of DevOps is to
shorten the systems development life cycle and provide continuous delivery with high software
quality.
Option C is correct because DevOps fundamentally focuses on breaking down the silos between
development and operations teams, fostering a collaborative environment where these teams work
together throughout the entire software lifecycle. This collaboration extends to other stakeholders,
including quality assurance (QA), security, and more, to ensure that the product is continuously
delivered and improved based on real-time feedback.
DevOps promotes a cultural shift where teams are no longer isolated but work together to share
responsibilities, which leads to increased efficiency, faster problem resolution, and a more
streamlined deployment process. This culture of collaboration is supported by various automation
tools and practices such as Continuous Integration (CI), Continuous Deployment (CD), Infrastructure
as Code (IaC), and automated testing.
Supporting Reference:
Juniper Networks Automation and DevOps Documentation: This documentation emphasizes the
importance of collaboration between development and operations teams to streamline processes
and improve efficiency, aligning perfectly with the principles of DevOps.
"The DevOps Handbook" by Gene Kim, Patrick Debois, John Willis, and Jez Humble: This book
provides an in-depth look into how DevOps practices enhance collaboration and lead to faster, more
reliable software delivery.
IEEE and Industry Standards: While DevOps practices are widely adopted, they are not defined or
maintained by IEEE or any other formal standards body, which is why option D is incorrect.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 2

Which data construct is used to guarantee that element names and data values remain unique in an
XML document?

  • A. element
  • B. schema definition
  • C. namespace
  • D. dictionary
Mark Question:
Answer:

C


Explanation:
In XML documents, a namespace is the data construct used to ensure that element names and data
values remain unique. Namespaces prevent naming conflicts by differentiating between elements or
attributes that may have the same name but different meanings. This is particularly important in
XML, where documents often incorporate elements from multiple sources.
Detailed Explanation:
XML Namespaces: A namespace is a collection of names, identified by a URI reference, which is used
to distinguish between elements that may have identical names but different definitions or origins.
This helps avoid ambiguity in the document.
How Namespaces Work: When a namespace is applied, each element or attribute in the XML
document is associated with a prefix. This prefix, combined with the namespace URI, ensures that
the element or attribute is uniquely identified, even if another element or attribute in the same
document has the same local name but a different namespace.
Schema Definition vs. Namespace: Although an XML schema definition (XSD) can define the structure
and type constraints of an XML document, it does not guarantee uniqueness of element names
across different XML documents. That role is fulfilled by namespaces.
Practical Example:
xml
Copy code
<root xmlns:ns1="http://www.example.com/ns1"
xmlns:ns2="http://www.example.com/ns2">
<ns1:item>Item in namespace 1</ns1:item>
<ns2:item>Item in namespace 2</ns2:item>
</root>
In this example, the item elements are in different namespaces (ns1 and ns2), which keeps them
unique even though they have the same name.
Reference:
Juniper Automation and DevOps Documentation: These practices highlight the importance of
namespaces in XML documents to maintain the integrity and uniqueness of data, which is essential
in automation scripts and configuration files.
W3C XML Namespace Specification: The World Wide Web Consortium (W3C) standard for XML
Namespaces defines how namespaces should be used to avoid name conflicts.
Namespaces are a crucial concept in XML, ensuring that data can be consistently managed and
interpreted correctly, particularly in complex systems where multiple XML documents or schemas
are involved.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 3

You are asked to develop an on-box Junos script that prevents deletion of the SNMP configuration.
Which type of script serves this purpose?

  • A. commit script
  • B. event script
  • C. op script
  • D. SNMP script
Mark Question:
Answer:

A


Explanation:
A commit script in Junos is used to enforce policies and configuration constraints on the device.
These scripts are written in Extensible Stylesheet Language Transformations (XSLT) or Python and are
executed automatically during the commit process of a configuration change.
In this context, to prevent the deletion of the SNMP configuration, a commit script is the appropriate
choice. It can be designed to check the configuration changes being committed and reject any
commit that attempts to delete or modify the SNMP configuration. This script essentially acts as a
gatekeeper, ensuring that only allowable changes are committed to the device configuration.
Supporting Reference:
Juniper Networks Commit Scripts Documentation: The official Juniper documentation provides
examples and use cases of commit scripts, including how they can be used to prevent unauthorized
changes to the device configuration.
"Junos Automation Scripting" by Jonathan Looney: This resource gives practical examples and best
practices for creating commit scripts to enforce configuration policies in Junos OS.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 4

A REST API client uses which two HTTP methods to execute RPC requests on the server? (Choose
two.)

  • A. POST
  • B. HEAD
  • C. GET
  • D. CONNECT
Mark Question:
Answer:

A, C


Explanation:
REST APIs use HTTP methods to perform different operations on resources. In the context of RPC
(Remote Procedure Call) requests:
GET: This method is used to retrieve data from the server. In a REST API, it is commonly used to fetch
information about resources, such as the current configuration or operational state.
POST: This method is used to send data to the server to create or update a resource. In the context of
RPC, POST is often used to execute a procedure on the server that may result in the modification of a
resource or triggering of an action.
Options B (HEAD) and D (CONNECT) are not typically used for executing RPC requests:
HEAD is similar to GET but only retrieves the headers, not the body of the response.
CONNECT is used to establish a tunnel to the server, primarily for SSL-encrypted communication, and
is not commonly associated with RESTful RPC operations.
Supporting Reference:
Juniper Networks REST API Documentation: The documentation provides detailed information about
the use of HTTP methods in Juniper's RESTful services.
"RESTful Web Services" by Leonard Richardson and Sam Ruby: This book explains the principles of
REST and how different HTTP methods, particularly GET and POST, are used to interact with RESTful
APIs.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 5

YAML uses which two data structures? (Choose two.)

  • A. arrays
  • B. mappings
  • C. sequences
  • D. objects
Mark Question:
Answer:

B, C


Explanation:
YAML (YAML Ain't Markup Language) primarily uses two data structures:
Mappings: These are key-value pairs, similar to dictionaries or hashes in programming languages. In
YAML, mappings are used to represent associative arrays or objects. They are defined with a colon (:)
separating the key from the value.
Example:
key: value
name: John Doe
Sequences: These are ordered lists of items, equivalent to arrays or lists in other programming
languages. Sequences in YAML are denoted by a dash (-) followed by a space and then the item.
Example:
fruits:
- Apple
- Banana
- Cherry
Detailed Explanation:
Mappings (B) allow you to define relationships between keys and values, making it possible to
represent more complex data structures like dictionaries or objects.
Sequences (C) allow you to represent ordered collections, which is important for listing elements that
must maintain a specific order.
YAML is often used in configuration files and data serialization in DevOps environments, such as in
Ansible playbooks, Kubernetes manifest files, and CI/CD pipeline definitions. Its simplicity and
human-readable format make it a popular choice for these applications.
Reference:
YAML Official Documentation: YAML's specification outlines these core data structures.
Juniper Automation and DevOps Documentation: Provides best practices for using YAML in network
automation scripts and configuration management.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 6

Junos supports which two APIs for on-box scripting? (Choose two.)

  • A. JET
  • B. Puppet
  • C. XML
  • D. Chef
Mark Question:
Answer:

A, C


Explanation:
Juniper Networks' Junos operating system supports several APIs for on-box scripting, two of which
are:
JET (Juniper Extension Toolkit): JET is a modern API framework that provides a programmable
interface for interacting with Junos. It allows developers to create custom applications that run
directly on Junos devices, enabling the automation of network operations. JET provides both a gRPC
and a REST API interface, allowing for flexible integration with external systems.
XML API: The Junos XML API allows direct interaction with the Junos OS through XML-based
requests. This API can be used to retrieve information, configure devices, and execute commands on
Junos devices. The XML API is crucial for automation tasks as it provides a structured and consistent
way to interact with the device's configuration and operational data.
Detailed Explanation:
JET (A) provides high-performance access to Junos routing, switching, and service elements via
programmable interfaces. It is highly used for creating custom applications that require tight
integration with the Junos OS.
XML (C), on the other hand, is a well-established method for interacting with Junos, especially for
legacy systems or when working within environments where XML is the standard data format.
Other options like Puppet (B) and Chef (D) are not APIs provided by Junos for on-box scripting but are
configuration management tools used externally to manage Junos devices.
Reference:
Juniper Networks JET Documentation: Provides details on how to leverage JET APIs for automation.
Junos XML Management Protocol Guide: Describes how to use XML for scripting and automating
tasks in Junos.
These APIs are key components of Juniper's automation strategy, allowing for scalable, flexible, and
efficient network operations.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 7

Which two statements about NETCONF layers are correct? (Choose two.)

  • A. NETCONF layers use the messages layer to receive RPCs from a remote NETCONF server.
  • B. NETCONF layers use the messages layer to send RPCs to a remote NETCONF server.
  • C. NETCONF layers use the operations layer to receive RPCs from a remote NETCONF server.
  • D. NETCONF layers use the operations layer to send RPCs to a remote NETCONF server.
Mark Question:
Answer:

B, C


Explanation:
NETCONF (Network Configuration Protocol) is a standard protocol defined for managing network
devices. NETCONF operates in a layered architecture, which includes the following key layers:
Operations Layer: This layer deals with the actual operations like <get-config>, <edit-config>, <copy-
config>, and others. It receives RPC (Remote Procedure Call) requests from a remote NETCONF client
and processes these requests.
Messages Layer: This layer is responsible for encoding the RPCs and sending them over the network.
It handles the communication between the NETCONF client and server, ensuring that the RPC
messages are correctly formatted (usually in XML) and transmitted.
Statement B is correct because the Messages layer is responsible for sending RPCs to a remote
NETCONF server.
Statement C is correct because the Operations layer is where the NETCONF server receives and
processes the RPCs sent by the client.
Supporting Reference:
Juniper Networks NETCONF Documentation: Provides a detailed breakdown of the NETCONF
protocol layers and their functions.
RFC 6241: The official specification for NETCONF, which describes the layered architecture, including
the operations and messages layers.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 8

Which two tools would you use to make REST API requests? (Choose two.)

  • A. cURL
  • B. NETCOfJF
  • C. Web browser
  • D. SSH
Mark Question:
Answer:

AC


Explanation:
REST API requests can be made using various tools that support HTTP methods. Two common tools
are:
cURL: A command-line tool that allows you to send HTTP requests, including GET, POST, PUT, and
DELETE. It is widely used for testing and interacting with RESTful APIs due to its simplicity and
flexibility.
Web Browser: Modern web browsers can be used to send HTTP GET requests directly by entering the
URL into the address bar. Additionally, browser extensions like Postman or built-in developer tools
can be used to construct and send more complex REST API requests.
Option B (NETCOfJF) is incorrect as it does not refer to a standard tool for making REST API requests.
Option D (SSH) is incorrect because SSH is a protocol used for secure remote login and command
execution, not for sending REST API requests.
Supporting Reference:
cURL Documentation: Official cURL documentation provides extensive information on how to use
cURL to interact with REST APIs.
Web Development and REST API Guides: Many web development resources and REST API
documentation recommend using web browsers and tools like cURL for testing and interacting with
APIs.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 9

Which DevOps "Three way" principle addresses technical debt?

  • A. feedback
  • B. flow
  • C. continuous experimentation and learning
  • D. continuous experimentation
Mark Question:
Answer:

A


Explanation:
In the context of the DevOps "Three Ways" principles, the feedback principle directly addresses the
management of technical debt.
The "Three Ways" are core principles guiding DevOps practices, and they are as follows:
Flow: Refers to the smooth and fast flow of work through the system, from development to
operations.
Feedback: Emphasizes creating effective, fast, and continuous feedback loops between teams to
catch issues early, address technical debt, and ensure quality.
Continuous experimentation and learning: Encourages constant experimentation, innovation, and
learning from failures to improve systems and processes over time.
Feedback and Technical Debt:
Feedback loops play a crucial role in addressing technical debt. Technical debt refers to the implied
cost of additional work that arises when code or system design decisions are made for short-term
gains, such as quick fixes or temporary patches. Over time, technical debt can accumulate and
degrade system performance, reliability, and maintainability.
The feedback loop ensures that issues related to technical debt (such as poor code quality, design
shortcuts, or performance bottlenecks) are caught early in the process, ideally before they become
major problems. Continuous monitoring, testing, and reviewing help identify and resolve technical
debt incrementally rather than letting it accumulate unchecked.
Automation in feedback loops: In DevOps, automated testing, continuous integration (CI), and
monitoring tools provide immediate feedback to developers, highlighting areas where technical debt
is increasing. This feedback is crucial for making proactive decisions about refactoring code or
improving infrastructure without waiting for problems to manifest in production.
For instance, the feedback loop might expose slowdowns in application performance after each new
feature is added. This would trigger a review to either refactor the feature code or improve system
resources, preventing further technical debt accumulation.
Flow and Technical Debt:
While flow focuses on the smooth transition of work through the pipeline, it indirectly helps with
technical debt by ensuring continuous and streamlined processes. However, feedback mechanisms
are the primary tools for identifying and resolving technical debt.
Continuous Experimentation and Learning:
This principle promotes innovation and learning from failures but does not directly address technical
debt. The focus here is more on risk-taking and improvement rather than managing or eliminating
technical debt.
Reference from DevOps Practices:
The Phoenix Project, a book often referenced in DevOps, discusses how feedback loops are essential
for maintaining system integrity and managing technical debt effectively. By improving feedback
mechanisms, teams can address small issues before they become costly to fix.
The DevOps Handbook also highlights the importance of feedback in managing technical debt,
emphasizing that fast feedback allows for continuous improvement and avoids the accumulation of
bad practices that would otherwise lead to technical debt.
Juniper Automation and DevOps Context: Juniper’s automation frameworks integrate feedback
mechanisms using tools like continuous monitoring and automated testing. These tools help
engineers track the health of network systems, identify configuration drifts, and resolve issues before
they lead to significant technical debt.
Additional Resources:
The Phoenix Project by Gene Kim
The DevOps Handbook

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 10

Which two processes are used by Junos automation? (Choose two.)

  • A. mod
  • B. jsd
  • C. ifd
  • D. kmd
Mark Question:
Answer:

BD


Explanation:
Junos automation relies on several key processes to handle various automation and API interactions.
Let's break down the two key processes involved:
jsd (Junos Script Daemon):
The jsd process is responsible for handling automation scripts, including Python and SLAX scripts, as
well as handling JET (Junos Extension Toolkit) API requests. This process is fundamental in the
automation framework of Junos, as it deals with external and internal API requests, ensuring that the
necessary scripts are executed when specific triggers or events occur.
kmd (Key Management Daemon):
The kmd process is involved in key management for IPsec and other security services. While its
primary function is related to managing cryptographic keys, it plays a role in Junos automation by
enabling secure communication and ensuring that automation tasks involving security services (such
as automated IPsec tunnel creation) are handled securely.
Why the Other Options Are Incorrect:
A . mod: This process doesn't exist as part of the Junos automation framework. It's likely a distractor.
C . ifd: The ifd process is associated with the physical interfaces on the device and does not play a
role in automation or script processing.
Reference from Juniper Documentation:
Junos Automation Processes

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 11

Which two statements are valid regarding Junos automation? (Choose two.)

  • A. The jsd process handles XML API calls.
  • B. The mgd process handles JET API requests.
  • C. The jsd process handles JET API requests.
  • D. The mod process handles XML API calls.
Mark Question:
Answer:

C, A


Explanation:
In Junos automation, several processes handle API requests, and understanding which process
handles what is crucial:
jsd Process:
XML API Calls (A): The jsd process is responsible for handling XML API calls, which are a significant
part of Junos automation. XML API allows for structured and standardized communication with Junos
devices, enabling automation scripts to query and configure devices.
JET API Requests (C): The jsd process also handles JET (Junos Extension Toolkit) API requests. JET
provides a more modern, programmable interface for interacting with Junos OS, and jsd is the
process that manages these interactions.
mgd Process (Incorrect Option):
Not for JET API Requests: The mgd process handles general management operations, such as CLI
commands and managing the configuration database, but it does not handle JET API requests. That
role is fulfilled by jsd.
mod Process (Incorrect Option):
Not for XML API Calls: The mod process deals with managing chassis components and is not involved
in handling XML API calls.
Reference:
Juniper Networks JET and XML API Documentation: Describes the roles of jsd in handling both XML
and JET API requests.
Junos Automation and DevOps Documentation: Provides insights into how different processes
interact with Junos APIs.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 12

What is the difference between a list and a tuple in Python?

  • A. Lists are immutable objects that use square brackets, and tuples are mutable objects that use parentheses.
  • B. Lists are mutable objects that use square brackets, and tuples are immutable objects that use parentheses.
  • C. Lists are immutable objects that use parentheses, and tuples are immutable objects that use square brackets.
  • D. Lists are mutable objects that use parentheses, and tuples are immutable objects that use square brackets.
Mark Question:
Answer:

B


Explanation:
In Python, the distinction between lists and tuples is essential for efficient programming:
Lists:
Mutable (B): This means that once a list is created, its elements can be changed, added, or removed.
Lists are versatile and commonly used when the data is expected to change.
Square Brackets: Lists are defined using square brackets [].
Example:
my_list = [1, 2, 3]
my_list[0] = 10 # Modifying the first element
Tuples:
Immutable (B): Once a tuple is created, it cannot be altered. Tuples are used when a fixed collection
of items is needed, providing more integrity to the data.
Parentheses: Tuples are defined using parentheses ().
Example:
my_tuple = (1, 2, 3)
# my_tuple[0] = 10 # This would raise an error because tuples are immutable
Reference:
Python Official Documentation: The Python Language Reference provides detailed information on
data types like lists and tuples, including their mutability and syntax.
Automation Scripts: In the context of automation, understanding when to use mutable or immutable
data structures can significantly impact script performance and reliability.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 13

You want to use a Python package or module.
In this scenario, which statement would accomplish this task?

  • A. reap
  • B. dir
  • C. input
  • D. Import
Mark Question:
Answer:

D


Explanation:
In Python, to use a package or module, you use the import statement. This statement allows you to
load a module into your script so that you can use its functions, classes, and variables. For example, if
you wanted to use the math module, you would write import math. This makes all the functions and
constants in the math module available for use in your program.
Option A (reap), B (dir), and C (input) do not serve the purpose of importing modules. dir is used to
list the attributes of an object, input is used to get user input, and reap is not a valid Python
command related to importing modules.
Supporting Reference:
Python Documentation on Imports: The Python documentation provides clear guidelines on how to
use the import statement to include modules in your Python scripts.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 14

Using the set rest control configuration command, what are two ways to control access to the REST
API running on a Junos device? (Choose two.)

  • A. Limit management access to only SSH
  • B. Limit management access to specific users.
  • C. Limit the number of simultaneous connections.
  • D. Limit access to only certain source IP addresses
Mark Question:
Answer:

C, D


Explanation:
When using the set rest control configuration command on a Junos device, you have several options
to control access to the REST API. Two effective methods include:
Limiting the number of simultaneous connections: This ensures that the REST API is not
overwhelmed by too many concurrent requests, which could potentially lead to performance issues
or denial of service.
Limiting access to certain source IP addresses: This method restricts API access to specific IP
addresses, enhancing security by ensuring that only trusted sources can interact with the REST API.
Option A (Limit management access to only SSH) is unrelated to controlling REST API access
specifically.
Option B (Limit management access to specific users) might be relevant in a different context, but it
is not directly tied to REST API control via the specific command mentioned.
Supporting Reference:
Juniper Networks REST API Documentation: This documentation explains how to configure and
control access to the REST API on Junos devices, including connection limits and IP-based access
control.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 15

Which two statements about Junos automation are correct? (Choose two.)

  • A. The Junos REST API client is on-box.
  • B. Junos automation does not allow for device provisioning throuqh the console port.
  • C. Junos automation allows for device provisioning through the console port.
  • D. The Junos REST API client is off-box.
Mark Question:
Answer:

AC


Explanation:
A. The Junos REST API client is on-box:
The Junos REST API is on-box, meaning it is hosted directly on the Junos OS device. This allows you to
interact with the device through RESTful API calls without needing an external client to act as an
intermediary. With the on-box REST API, users can manage and automate configuration and
operational tasks directly from the Junos device itself using HTTP/HTTPS protocols. This simplifies
automation and remote management since the API server is embedded within the device.
Key Automation Capabilities of On-box REST API:
Supports configuration, monitoring, and operational commands.
Allows for direct device interaction via tools like curl, or through custom-built automation scripts.
Reference: Junos Automation documentation explains that the REST API client runs natively on the
device, providing a web-based interface for automation tasks.
C . Junos automation allows for device provisioning through the console port:
Junos automation does indeed allow for device provisioning through the console port, especially in
the context of Zero Touch Provisioning (ZTP). When network interfaces are not initially configured, or
when remote access is not possible, devices can be provisioned via the console port. This method is
commonly used during the initial setup process, enabling administrators to deploy configurations
even without network access. ZTP automates initial configurations, including system setup and
software installation, which can be triggered via the console.
Key Advantages of Console-based Provisioning:
Useful in environments where network interfaces are unavailable or not yet configured.
Essential for the initial bootstrapping of devices in remote locations.
Reference: Junos documentation on Zero Touch Provisioning (ZTP) and automation methods
highlights that provisioning through the console port is supported and often used for initial setups.
Why the Other Options Are Incorrect:
B . Junos automation does not allow for device provisioning through the console port: This statement
is incorrect because Junos automation does allow for provisioning via the console port, particularly
during initial device setups.
D . The Junos REST API client is off-box: This is incorrect because the REST API client can be directly
on the Junos device, providing local API functionality (on-box).
Juniper Automation in DevOps Context: Junos automation, especially with on-box REST API and
console-based provisioning, enhances the flexibility and accessibility of device management in
DevOps environments. These capabilities simplify remote configuration, monitoring, and device
setup even in cases where direct network access is unavailable.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000
To page 2