Search test library by skills or roles
⌘ K

Jenkins & Ansible Online Test

The Ansible & Jenkins online test uses scenario-based multiple-choice questions to evaluate a candidate's knowledge and skills related to Ansible fundamentals, playbook authoring and execution, Ansible modules and plugins, Ansible Tower and Ansible Galaxy, Jenkins installation and configuration, Jenkins pipeline and job creation, Jenkins plugins and extensions, and integrating Ansible and Jenkins for automation and continuous delivery. The test aims to assess the candidate's proficiency in their ability to write efficient and maintainable automation scripts, diagnose and troubleshoot common issues, and follow automation best practices and design patterns.

Get started for free
Preview questions

Screen candidates with a 40 mins test

Test duration:  40 mins
Difficulty level:  Moderate
Availability:  Ready to use
Questions:
  • 4 Ansible MCQs
  • 4 Jenkins MCQs
  • 4 DevOps MCQs
  • 4 Docker MCQs
Covered skills:
Jenkins
Ansible
DevOps
Continuous Integration
Configuration Management
Scripting
Version Control
Monitoring
Orchestration
Get started for free
Preview questions

Use Adaface tests trusted by recruitment teams globally

Adaface is used by 1500+ businesses in 80 countries.

Adaface skill assessments measure on-the-job skills of candidates, providing employers with an accurate tool for screening potential hires.

Amazon Morgan Stanley Vodafone United Nations HCL PayPal Bosch WeWork Optimum Solutions Deloitte NCS Sokrati J&T Express Capegemini

Use the Jenkins & Ansible Test to shortlist qualified candidates

The Jenkins & Ansible Online Test helps recruiters and hiring managers identify qualified candidates from a pool of resumes, and helps in taking objective hiring decisions. It reduces the administrative overhead of interviewing too many candidates and saves time by filtering out unqualified candidates at the first step of the hiring process.

The test screens for the following skills that hiring managers look for in candidates:

  • Configuring and managing Jenkins CI/CD pipelines
  • Writing Ansible playbooks for configuration management
  • Implementing Docker containers and managing Docker environments
  • Practicing DevOps principles and methodologies
  • Scripting and automation using Bash or Python
  • Working with version control systems like Git
  • Monitoring infrastructure and applications
  • Orchestrating deployments using tools like Jenkins and Ansible
  • Understanding continuous integration and continuous delivery concepts
Get started for free
Preview questions

Screen candidates with the highest quality questions

We have a very high focus on the quality of questions that test for on-the-job skills. Every question is non-googleable and we have a very high bar for the level of subject matter experts we onboard to create these questions. We have crawlers to check if any of the questions are leaked online. If/ when a question gets leaked, we get an alert. We change the question for you & let you know.

How we design questions

These are just a small sample from our library of 15,000+ questions. The actual questions on this Ansible & Jenkins Online Test will be non-googleable.

🧐 Question

Medium

Execution Order and Handlers
Task Execution
Handlers
Error Handling
Solve
Analyze the following Ansible playbook, which is designed to set up and verify a web server. Determine the correct order of task execution, including the handler invocation:
 image
In what order will the tasks and handlers be executed?
A: Install web server, Start web server, Verify web server, Notify failure, Restart web server (if notified)
B: Install web server, Start web server, Restart web server (if notified), Verify web server, Notify failure (if failed)
C: Install web server, Restart web server (if notified), Start web server, Verify web server, Notify failure (if failed)
D: Install web server, Start web server, Verify web server, Notify failure (if failed), Restart web server (if notified)
E: Install web server, Verify web server, Start web server, Restart web server (if notified), Notify failure (if failed)
F: Install web server, Start web server, Verify web server (if previous task failed), Notify failure, Restart web server (if notified)

Medium

Task Execution Control
Loop Control
Error Handling
Jinja2 Templating
Solve
You are a senior Ansible engineer tasked with writing a playbook to configure a set of web servers. The playbook should iterate over a list of packages and install them. However, if a package installation fails, the playbook should record the failed package name and continue with the next package without failing the entire playbook. The playbook also needs to generate a report at the end, listing all successfully installed packages and any that failed to install. Below is the pseudo code for the main task:
 image
Select the correct way to complete this playbook:
A: Add a block with a rescue section after the loop to capture failed packages.
B: Use failed_when in the loop to prevent the task from failing and update the lists accordingly.
C: Use a when condition inside the loop to check package_result.failed and update the lists.
D: Add a handler triggered on package installation failure to update the failed_packages list.
E: Use a Jinja2 template in a separate task to generate the report after the loop.
F: Implement a custom Ansible module for package installation and failure handling.

Easy

Variable Assignment in Playbooks
Conditional Statements
Variable Management
Solve
Consider an Ansible playbook that is designed to set up a web server. The playbook needs to assign a variable named `webserver_port` based on the operating system of the target host. The default port should be 80, but if the target host is running Ubuntu, the port should be set to 8080. Below is the pseudo code for the task:
 image
Choose the correct statement regarding the execution of this task:
A: The task will fail because the comparison in the conditional statement is incorrect.
B: The task will assign port 8080 for all Debian-based distributions, including Ubuntu.
C: The task will always assign port 80, regardless of the operating system.
D: The task will assign port 8080 only if the `ansible_os_family` variable is exactly 'Ubuntu'.
E: The task will fail because `set_fact` does not support conditional assignments.
F: The task will assign port 8080 for Ubuntu and port 80 for all other operating systems.

Medium

Conditional Stage Execution
Conditional Stages
Jenkinsfile
Build Optimization
Solve
You are given a Jenkinsfile for a pipeline that builds, tests, and deploys an application. The pipeline has multiple stages, and you need to optimize it by ensuring certain stages are executed only under specific conditions. The current Jenkinsfile looks like this:
 image
Your task is to modify the Jenkinsfile so that:

1. The 'Test' stage is executed only if the 'Build' stage is successful.
2. The 'Deploy' stage is executed only for builds triggered by commits to the 'master' branch.
3. All stages should always run for scheduled nightly builds regardless of the branch.

Which of the following modifications to the Jenkinsfile will meet these requirements?
 image

Medium

Multibranch Pipeline Strategy
Pipelines
Build Strategies
Solve
A Jenkins multibranch pipeline is configured to build projects from a version control system (VCS) with multiple branches. The pipeline is set up with specific build strategies to optimize resource usage and build times. The Jenkins administrator needs to ensure that the pipeline:

1. Automatically triggers builds for the 'master' and 'develop' branches upon new commits.
2. Does not automatically build feature branches but allows manual builds.
3. Automatically builds a branch if it has a pull request open with the 'master' branch.

Which combination of build strategies and configurations should the Jenkins administrator use?
A: Enable SCM polling, add a regular expression to include 'master' and 'develop', and use the Pull Request build strategy.
B: Use the Discover Branches strategy with filters for 'master' and 'develop', and the Pull Request build strategy with a target branch filter for 'master'.
C: Enable SCM polling with a cron expression, use a script to exclude feature branches, and add a webhook for pull request events.
D: Use the Discover Branches strategy, add a regular expression to exclude feature branches, and enable webhooks for pull request events.
E: Enable SCM polling for all branches, use the Discover Tags strategy, and add a post-receive hook in VCS for 'master' and 'develop'.
F: Use the Discover Branches strategy for all branches, add a property to manually trigger builds for feature branches, and use the Pull Request build strategy.

Easy

Script in Jenkinsfile
Python Scripting
Jenkinsfile
Solve
Consider a Jenkins Pipeline which includes a Jenkinsfile with an embedded Python script. The pipeline is designed for a multi-stage build process. The Python script is responsible for performing certain operations based on the current Jenkins build status. Analyze the following Jenkinsfile pseudo-code snippet:
 image
The pipeline sets an environment variable `BUILD_STATUS` which can have values 'SUCCESS', 'FAILURE', or 'UNSTABLE'. What will be the output and the exit status of the Python script when `BUILD_STATUS` is set to 'UNSTABLE'?

Medium

Resource Analysis
Process Management
System Performance
Log Analysis
Solve
As a senior DevOps engineer, you are tasked with diagnosing performance issues on a Linux server running Ubuntu 20.04. The server hosts several critical applications, but lately, users have been experiencing significant slowness. Initial monitoring shows that CPU and memory utilization are consistently high. To identify the root cause, you check the output of `top` and `ps` commands, which indicate that a particular process is consuming an unusually high amount of resources. However, the process name is generic and does not clearly indicate which application or service it belongs to. You also examine `/var/log/syslog` for any unusual entries but find nothing out of the ordinary. Based on this situation, which of the following steps would most effectively help you identify and resolve the performance issue?
A: Increase the server's physical memory and CPU capacity.
B: Use the `lsof` command to identify the files opened by the suspect process.
C: Reboot the server to reset all processes.
D: Examine the `/etc/hosts` file for any incorrect configurations.
E: Run the `netstat` command to check for abnormal network activity.
F: Check the crontab for any recently added scheduled tasks.

Medium

Streamlined DevOps
Continuous Integration
Scripting
Solve
You are in charge of developing a Bash script for setting up a continuous integration pipeline for a web application. The source code is hosted in a Git repository. The script's goals include:

1. Ensuring the local copy of the repository in /var/www/html is updated to the latest version.
2. Creating a .env file with APP_ENV=production in the project root if it doesn't already exist.
3. Running a test suite with ./run_tests.sh and handling any test failures appropriately.
4. Logging the current timestamp and commit hash in deployment_log.txt in the project root if tests pass.

Which of the following script options would most effectively and safely accomplish these tasks?
 image

Medium

Docker Multistage Build Analysis
Multistage Builds
Optimization
Solve
Consider the following Dockerfile, which utilizes multistage builds. The aim is to build a lightweight, optimized image that just runs the application.
 image
The Dockerfile first defines a base image that includes Node.js and npm, then it creates an intermediate image to install the npm dependencies. Afterwards, it runs the tests in another stage and finally, creates the release image.

Which of the following statements are true?

A: The final image will include the test scripts.
B: If a test fails, the final image will not be created.
C: The node_modules directory in the final image comes from the base image.
D: The final image will only contain the necessary application files and dependencies.
E: If the application's source code changes, only the release stage needs to be rebuilt.

Easy

Docker Networking and Volume Mounting Interplay
Networking
Volume Mounting
Solve
You have two docker containers, X and Y. Container X is running a web service listening on port 8080, and container Y is supposed to consume this service. Both containers are created from images that don't have any special network configurations.

Container X has a Dockerfile as follows:
 image
And, you build and run it with the following commands:
 image
Container Y is also running alpine with python installed, and it's supposed to read data from the `/app/data` directory and send a GET request to `http://localhost:8080` every 5 minutes. The Dockerfile for container B is:
 image
And you run it with:
 image
Assuming all the python scripts work perfectly and firewall isn't blocking any connections, you find that container Y can't access the web service of container X via `http://localhost:8080` and also it can't read the data in `/app/data` directory. What could be the potential reason(s)?
A: Y can't access X's web service because they're in different Docker networks.
B: Y can't read the data because the volume is not shared correctly.
C: Both A and B are correct.
D: Both A and B are incorrect.

Medium

Dockerfile Optimization
Dockerfile
Multi-stage builds
Layer Caching
Solve
You have been asked to optimize a Dockerfile for a Python application that involves a heavy dependency installation. Here is the Dockerfile you are starting with:
 image
Given that the application's source code changes frequently but the dependencies listed in requirements.txt rarely change, how can you optimize this Dockerfile to take advantage of Docker's layer caching, reducing the build time?
A: Move the `RUN pip install` command to before the `COPY` command.
B: Change `COPY . /app` to `COPY ./app.py /app` and move the `RUN pip install` command to before the `COPY` command.
C: Add `RUN pip cache purge` before `RUN pip install`.
D: Replace the base image with `python:3.8-slim`.
E: Implement multi-stage builds.

Medium

Dockerfile Updates
Cache
Solve
Check the following Dockerfile used for a project (STAGE 1):
 image
We created an image from this Dockerfile on Dec 14 2021. A couple of weeks after Dec 14 2021, Ubuntu released new security updates to their repository. After 2 months, we modified the file (STAGE 2):
 image
Couple of weeks later, we further modified the file to add a local file ada.txt to /ada.txt (STAGE 3): (Note that ada.txt exists in /home/adaface and the dockerfile exists in /home/code folders)
 image
Pick correct statements:

A: If we run “docker build .” at STAGE 2, new Ubuntu updates will be fetched because apt-get update will be run again since cache is invalidated for all lines/layers of Dockerfile when a new line is added.
B: If we run “docker build .” at STAGE 2, new Ubuntu updates will not be fetched since cache is invalidated only for last two lines of the updated Dockerfile. Since the first two commands remain the same, cached layers are re-used skipping apt get update.
C: To skip Cache, “docker build -no-cache .” can be used at STAGE 2. This will ensure new Ubuntu updates are picked up.
D: Docker command “docker build .” at STAGE 3 works as expected and adds local file ada.txt to the image.
E: Docker command “docker build .” at STAGE 3 gives an error “no such file or directory” since /home/adaface/ada.txt is not part of the Dockerfile context.

Medium

Efficient Dockerfile
Dockerfile
Solve
Review the following Dockerfiles that work on two projects (project and project2):
 image
All Docker files have the same end result:

- ‘project’ is cloned from git. After running few commands, ‘project’ code is removed.
- ‘project2’ is copied from file system and permissions to the folder is changed.
Pick the correct statements:

A: File 1 is the most efficient of all.
B: File 2 is the most efficient of all.
C: File 3 is the most efficient of all.
D: File 4 is the most efficient of all.
E: Merging multiple RUN commands into a single RUN command is efficient for ‘project’ since each RUN command creates a new layer with changed files and folders. Deleting files with RUN only marks these files as deleted but does not reclaim disk space. 
F: Copying ‘project2’ files and changing ownership in two separate commands will result in two layers since Docker duplicates all the files twice.
🧐 Question🔧 Skill

Medium

Execution Order and Handlers
Task Execution
Handlers
Error Handling

2 mins

Ansible
Solve

Medium

Task Execution Control
Loop Control
Error Handling
Jinja2 Templating

2 mins

Ansible
Solve

Easy

Variable Assignment in Playbooks
Conditional Statements
Variable Management

2 mins

Ansible
Solve

Medium

Conditional Stage Execution
Conditional Stages
Jenkinsfile
Build Optimization

3 mins

Jenkins
Solve

Medium

Multibranch Pipeline Strategy
Pipelines
Build Strategies

2 mins

Jenkins
Solve

Easy

Script in Jenkinsfile
Python Scripting
Jenkinsfile

2 mins

Jenkins
Solve

Medium

Resource Analysis
Process Management
System Performance
Log Analysis

3 mins

DevOps
Solve

Medium

Streamlined DevOps
Continuous Integration
Scripting

2 mins

DevOps
Solve

Medium

Docker Multistage Build Analysis
Multistage Builds
Optimization

3 mins

Docker
Solve

Easy

Docker Networking and Volume Mounting Interplay
Networking
Volume Mounting

3 mins

Docker
Solve

Medium

Dockerfile Optimization
Dockerfile
Multi-stage builds
Layer Caching

2 mins

Docker
Solve

Medium

Dockerfile Updates
Cache

2 mins

Docker
Solve

Medium

Efficient Dockerfile
Dockerfile

2 mins

Docker
Solve
🧐 Question🔧 Skill💪 Difficulty⌛ Time
Execution Order and Handlers
Task Execution
Handlers
Error Handling
Ansible
Medium2 mins
Solve
Task Execution Control
Loop Control
Error Handling
Jinja2 Templating
Ansible
Medium2 mins
Solve
Variable Assignment in Playbooks
Conditional Statements
Variable Management
Ansible
Easy2 mins
Solve
Conditional Stage Execution
Conditional Stages
Jenkinsfile
Build Optimization
Jenkins
Medium3 mins
Solve
Multibranch Pipeline Strategy
Pipelines
Build Strategies
Jenkins
Medium2 mins
Solve
Script in Jenkinsfile
Python Scripting
Jenkinsfile
Jenkins
Easy2 mins
Solve
Resource Analysis
Process Management
System Performance
Log Analysis
DevOps
Medium3 mins
Solve
Streamlined DevOps
Continuous Integration
Scripting
DevOps
Medium2 mins
Solve
Docker Multistage Build Analysis
Multistage Builds
Optimization
Docker
Medium3 mins
Solve
Docker Networking and Volume Mounting Interplay
Networking
Volume Mounting
Docker
Easy3 mins
Solve
Dockerfile Optimization
Dockerfile
Multi-stage builds
Layer Caching
Docker
Medium2 mins
Solve
Dockerfile Updates
Cache
Docker
Medium2 mins
Solve
Efficient Dockerfile
Dockerfile
Docker
Medium2 mins
Solve

Test candidates on core Jenkins & Ansible Hiring Test topics

Jenkins: Jenkins is an open-source automation server that helps to automate the building, testing, and deploying of software projects. It enables Continuous Integration, where code changes are frequently integrated into a shared repository, allowing teams to detect and fix issues early in the development process.

Ansible: Ansible is an open-source automation tool used for configuration management, application deployment, and task orchestration. It allows various tasks to be performed, such as software provisioning, environment setup, and service configuration, using a simple and human-readable language, making it scalable and easy to manage.

DevOps: DevOps is a software development methodology that promotes collaboration and integration between development (Dev) and operations (Ops) teams to accelerate the delivery of high-quality software. It includes processes, tools, and cultural shifts aimed at improving efficiency, reducing time to market, and enhancing product reliability.

Continuous Integration: Continuous Integration (CI) is the practice of frequently merging code changes into a shared repository. It involves automating the build, test, and deployment processes to ensure that code changes are integrated smoothly, reducing integration issues and enabling faster feedback and collaboration among team members.

Configuration Management: Configuration Management is the process of managing and maintaining the consistency and stability of computer systems, software, and infrastructure. It involves automating the configuration, deployment, and monitoring of system resources to ensure they are correctly set up, maintained, and updated to meet application requirements.

Scripting: Scripting refers to the use of scripting languages, such as Python, Ruby, or Bash, to automate repetitive tasks or execute complex commands on a computer system. It enables the creation of scripts that can be easily modified, executed, and integrated with other tools or processes, improving productivity and enabling efficient automation workflows.

Version Control: Version Control is a system that manages and tracks changes to files and folders. It enables multiple developers to work on the same codebase simultaneously, keeping track of revisions, facilitating collaboration, and providing a history of changes. It helps ensure code integrity, easy rollbacks, and seamless teamwork.

Monitoring: Monitoring involves the continuous observation and measurement of system components, applications, or infrastructure to detect and diagnose issues, ensure optimal performance, and enable informed decision-making. It provides real-time visibility into system health, resource utilization, and application behavior, allowing proactive identification and resolution of potential problems.

Orchestration: Orchestration refers to the coordination and automation of multiple tasks, processes, or systems to achieve a desired outcome. It allows the management and execution of complex workflows, integrating different components and ensuring their efficient and synchronized operation, leading to streamlined processes and improved overall system performance.

Get started for free
Preview questions

Make informed decisions with actionable reports and benchmarks

View sample scorecard

Screen candidates in 3 easy steps

Pick a test from over 500+ tests

The Adaface test library features 500+ tests to enable you to test candidates on all popular skills- everything from programming languages, software frameworks, devops, logical reasoning, abstract reasoning, critical thinking, fluid intelligence, content marketing, talent acquisition, customer service, accounting, product management, sales and more.

Invite your candidates with 2-clicks

Make informed hiring decisions

Get started for free
Preview questions

Try the most advanced candidate assessment platform

ChatGPT Protection

Non-googleable Questions

Web Proctoring

IP Proctoring

Webcam Proctoring

MCQ Questions

Coding Questions

Typing Questions

Personality Questions

Custom Questions

Ready-to-use Tests

Custom Tests

Custom Branding

Bulk Invites

Public Links

ATS Integrations

Multiple Question Sets

Custom API integrations

Role-based Access

Priority Support

GDPR Compliance


Pick a plan based on your hiring needs

The most advanced candidate screening platform.
14-day free trial. No credit card required.

From
$15
per month (paid annually)
love bonito

With Adaface, we were able to optimise our initial screening process by upwards of 75%, freeing up precious time for both hiring managers and our talent acquisition team alike!

Brandon Lee, Head of People, Love, Bonito

Brandon
love bonito

It's very easy to share assessments with candidates and for candidates to use. We get good feedback from candidates about completing the tests. Adaface are very responsive and friendly to deal with.

Kirsty Wood, Human Resources, WillyWeather

Brandon
love bonito

We were able to close 106 positions in a record time of 45 days! Adaface enables us to conduct aptitude and psychometric assessments seamlessly. My hiring managers have never been happier with the quality of candidates shortlisted.

Amit Kataria, CHRO, Hanu

Brandon
love bonito

We evaluated several of their competitors and found Adaface to be the most compelling. Great library of questions that are designed to test for fit rather than memorization of algorithms.

Swayam Narain, CTO, Affable

Brandon

Have questions about the Jenkins & Ansible Hiring Test?

How does pricing work?

You can check out our pricing plans.

Can I customize the test?

Yes, absolutely. Custom assessments are set up within 48 hours based on your job description, and will include questions on all must-have skills you specify. Here's a quick guide on how you can request a custom test. You can also customize a test by uploading your own questions.

Can I combine multiple skills into one test?

Yes, absolutely. Custom assessments are set up based on your job description, and will include questions on all must-have skills you specify. Here's a quick guide on how you can request a custom test.

What roles can I use the Jenkins & Ansible Test for?

Here are few roles for which we recommend this test:

  • DevOps Engineer
  • Automation Engineer
  • Release Engineer
  • Site Reliability Engineer
  • Infrastructure Engineer
  • Build Engineer
  • Configuration Manager
  • IT Operations Manager
  • System Administrator
  • Software Engineer
  • Ansible Developer
  • Jenkins Developer
Can I see a sample test, or do you have a free trial?

Yes!

The free trial includes one sample technical test (Java/ JavaScript) and one sample aptitude test that you will find in your dashboard when you sign up. You can use it to review the quality of questions and the candidate experience of giving a test on Adaface.

You can preview any of the 500+ tests and see the sample questions to decide if it would be a good fit for your requirements.

How do I interpret test scores?

The primary thing to keep in mind is that an assessment is an elimination tool, not a selection tool. A skills assessment is optimized to help you eliminate candidates who are not technically qualified for the role, it is not optimized to help you find the best candidate for the role. So the ideal way to use an assessment is to decide a threshold score (typically 55%, we help you benchmark) and invite all candidates who score above the threshold for the next rounds of interview.

I'm a candidate. Can I try a practice test?

No. Unfortunately, we do not support practice tests at the moment. However, you can use our sample questions for practice.

customers across world
Join 1500+ companies in 80+ countries.
Try the most candidate friendly skills assessment tool today.
g2 badges
Ready to use the Adaface Ansible & Jenkins Online Test?
Ready to use the Adaface Ansible & Jenkins Online Test?
logo
40 min tests.
No trick questions.
Accurate shortlisting.
Terms Privacy Trust Guide
ada
Ada
● Online
Previous
Score: NA
Next
✖️