Career upgrade: Learn practical AI skills for better jobs and higher pay.
Level up
All Practice Exams

100+ Free PCP Practice Questions

Pass your Puppet Certified Professional (PCP) exam on the first try — instant access, no signup required.

✓ No registration✓ No credit card✓ No hidden fees✓ Start practicing immediately
Not publicly disclosed Pass Rate
100+ Questions
100% Free
1 / 100
Question 1
Score: 0/0

What is a Puppet resource and what does it represent?

A
B
C
D
to track
Same family resources

Explore More Puppet Certifications

Continue into nearby exams from the same family. Each card keeps practice questions, study guides, flashcards, videos, and articles in one place.

2026 Statistics

Key Facts: PCP Exam

~60

Exam Questions

Puppet

~70%

Passing Score

Approximate; Puppet does not publish exact cut score

90 min

Exam Duration

Puppet

$200

Exam Fee

Puppet (varies by region)

Questionmark

Delivery

Online proctored

2 years

Validity

Recertification required

The PCP exam has approximately 60 multiple-choice scenario questions in 90 minutes, delivered online via Questionmark. Topic areas: Puppet language (resources, classes, defined types, conditionals, iteration, data types ~25%), modules and Roles/Profiles (~20%), Hiera 5 hierarchies and lookups including eyaml (~20%), Puppet agent run cycle and certificate signing (~15%), environments and code deployment with r10k/Code Manager (~10%), and Bolt tasks/plans and PE Console (~10%). Exam fee is $200 USD. The certification is valid for two years.

Sample PCP Practice Questions

Try these sample questions to test your PCP exam readiness. Each question includes a detailed explanation. Start the interactive quiz above for the full 100+ question experience with AI tutoring.

1What is a Puppet manifest?
A.A file containing Puppet DSL code (typically .pp extension) that declares the desired state of resources on a node
B.A YAML file listing all nodes in the infrastructure
C.A compiled binary version of a Puppet catalog
D.A configuration file for the Puppet master
Explanation: Puppet manifests are .pp files written in Puppet DSL that describe resources and their desired state. The Puppet master compiles manifests into a catalog that is applied by the agent.
2What is a Puppet resource and what does it represent?
A.A unit of configuration (e.g., a file, package, service, user) that Puppet manages; it declares desired state without specifying how to achieve it
B.A Puppet function that returns a value
C.A server that compiles catalogs
D.A network endpoint that Puppet agents connect to
Explanation: Resources are the fundamental building blocks of Puppet. Each resource has a type (file, package, service), a title (unique identifier), and attributes declaring its desired state. Puppet's providers implement the 'how'.
3What is a Puppet class and how is it used?
A.A named block of Puppet code that can be declared on a node to apply a set of related resources; declared with 'class' keyword and included/applied with 'include' or 'class {}' resource-like syntax
B.A Puppet data type definition
C.A group of nodes with the same configuration
D.A Puppet function library
Explanation: Classes group related resources and logic. They are declared once with 'class myclass { }' and then applied to nodes using 'include myclass' or 'class { myclass: param => value }'. Classes are singletons — included only once per catalog.
4What is a Puppet module and what is its standard directory structure?
A.A self-contained collection of manifests, templates, files, facts, and tests organized in a standard directory layout (manifests/, templates/, files/, lib/, tests/)
B.A single Puppet manifest file containing all classes
C.A Puppet Enterprise feature for grouping nodes
D.A compiled version of all Puppet code
Explanation: Modules are the primary code reuse unit in Puppet. The standard directory structure includes manifests/ (classes/defines), templates/ (ERB/EPP), files/ (static files), lib/ (custom facts/types/providers), and spec/ (tests).
5What is the Puppet Forge?
A.A public repository of community and Puppet-authored modules that can be installed with 'puppet module install'
B.The Puppet Enterprise web console
C.A Puppet code compilation server
D.A Puppet agent version manager
Explanation: The Puppet Forge (forge.puppet.com) is the official module marketplace where the community and Puppet publish reusable modules. 'puppet module install author-modulename' downloads and installs them.
6What is Hiera in Puppet and what problem does it solve?
A.A hierarchical data lookup system that separates data (hostnames, passwords, settings) from Puppet code, enabling reuse across environments
B.A Puppet DSL loop construct for iterating over resources
C.A Puppet test framework
D.A tool for encrypting Puppet catalogs
Explanation: Hiera stores configuration data in YAML/JSON files organized in a hierarchy (e.g., by node, OS, environment). Puppet code calls hiera() or uses automatic parameter lookup, keeping code data-agnostic and reusable.
7What is the default Hiera data file format and where is the Hiera configuration file located?
A.YAML by default; hiera.yaml in the environment's root or the module root (Hiera 5) or /etc/puppetlabs/puppet/hiera.yaml (global)
B.JSON only; /etc/hiera/config.json
C.INI format; /etc/puppet/hiera.ini
D.XML; hieradata/config.xml
Explanation: Hiera 5 uses YAML by default (JSON and HOCON are also supported). Configuration is in hiera.yaml — at global level (/etc/puppetlabs/puppet/hiera.yaml), environment level, or module level.
8In Hiera, what is a 'hierarchy' and how does it determine which data value is returned?
A.An ordered list of data sources; Hiera searches from top to bottom and returns the first match found (for regular lookups)
B.A list of data files sorted alphabetically
C.A ranking of nodes by priority
D.A data validation schema
Explanation: The Hiera hierarchy in hiera.yaml defines data sources in order of specificity (e.g., per-node YAML first, then per-OS, then common). For scalar lookups, the most specific source wins (first match).
9What is Hiera's 'merge behavior' for arrays and hashes, and which keyword enables it?
A.lookup() with merge => 'deep'/'hash'/'unique' collects values from all hierarchy levels; regular lookup() returns only the first match
B.Hiera automatically merges all values from all levels
C.Use hiera_array() which is always merged
D.Merging requires a Hiera plugin
Explanation: Hiera's lookup() supports merge options: 'unique' deduplicates arrays from all levels, 'hash' merges hash keys (shallow), 'deep' recursively merges hashes. Without a merge strategy, the first match wins.
10What is Puppet Bolt?
A.An agentless task runner and orchestration tool that can run scripts, commands, and tasks on remote nodes over SSH or WinRM without a Puppet agent
B.A Puppet Enterprise licensing tool
C.A Puppet code deployment tool replacing r10k
D.A Puppet testing framework
Explanation: Puppet Bolt is an agentless automation tool. It runs tasks (scripts, commands, plans) on remote targets over SSH/WinRM, enabling ad-hoc automation and orchestration without requiring a Puppet agent installation.

About the PCP Exam

The Puppet Certified Professional (PCP) exam validates the practical skills needed to manage infrastructure as code with Puppet. It tests Puppet language fluency, module design with the Roles and Profiles pattern, Hiera-driven data, agent/server architecture, code deployment workflows with r10k or Code Manager, and Bolt orchestration tasks and plans.

Questions

60 scored questions

Time Limit

90 minutes

Passing Score

70% (approximate)

Exam Fee

$200 (Perforce / Puppet (online proctored via Questionmark))

PCP Exam Content Outline

25%

Puppet Language Fundamentals

Resource declaration syntax, metaparameters (before/require/notify/subscribe), chaining arrows (-> and ~>), conditionals (if/case/selector), iteration (each/map/filter), data types (String/Integer/Array/Hash/Optional/Enum/Sensitive), variable scope, interpolation, built-in functions

20%

Modules and Roles & Profiles

Module directory structure, autoloader naming rules, metadata.json, defined types, parameterized classes, the Roles and Profiles pattern (roles include profiles, profiles wrap component modules), Forge module usage, PDK scaffolding, params class pattern vs Hiera-in-modules

20%

Hiera Data Hierarchy

hiera.yaml configuration (version 5), hierarchy levels and ordering, automatic class parameter lookup, lookup() function, merge strategies (first/unique/hash/deep), lookup_options, interpolation tokens (%{facts.os.name}, %{trusted.certname}), eyaml encryption with PKCS7 keys, datadir conventions

15%

Agent/Server Architecture

Puppet agent run cycle (facts → catalog request → catalog compile → apply → report), certificate signing with puppetserver ca list/sign, mTLS on TCP 8140, puppet.conf settings (certname, server, runinterval), noop mode, PuppetDB, Facter structured and trusted facts, puppet apply for masterless

10%

Environments and Code Deployment

Directory environments, environment.conf settings (modulepath, manifest), r10k and Code Manager configuration, Puppetfile (mod entries), Git branches as environments, site/ vs modules/ layout, Code Manager webhooks and deploy triggers

10%

Bolt Orchestration and Puppet Enterprise

Bolt tasks and plans, inventory.yaml, SSH and WinRM transports, bolt task run and bolt plan run, bolt apply for catalog application, PE Console node classification, RBAC roles and user assignments, ENC, puppet-lint, rspec-puppet unit testing

How to Pass the PCP Exam

What You Need to Know

  • Passing score: 70% (approximate)
  • Exam length: 60 questions
  • Time limit: 90 minutes
  • Exam fee: $200

Keys to Passing

  • Complete 500+ practice questions
  • Score 80%+ consistently before scheduling
  • Focus on highest-weighted sections
  • Use our AI tutor for tough concepts

PCP Study Tips from Top Performers

1Build a lab with one Puppet server and 2-3 agents — practice the full agent run cycle, certificate signing with puppetserver ca, and Code Manager deploys
2Memorize resource ordering: before/require, notify/subscribe, -> and ~> chaining arrows, and how notify/subscribe triggers refresh events on service resources
3Master the Roles and Profiles pattern — roles include profiles, profiles wrap component modules; never put component module classes directly in a role
4Practice writing Hiera 5 hiera.yaml: hierarchy ordering (environment → OS family → common), datadir, lookup_options, merge strategies, interpolation tokens with trusted facts
5Drill class parameter automatic lookup: Hiera automatically resolves <module>::<class>::<param> without any explicit lookup() call
6Know the Puppet data types and apply them to parameters: Integer[1,100], Enum['present','absent'], Sensitive, Optional[String], Array[String]
7Practice Bolt tasks and plans with inventory.yaml — understand when to use Bolt (ad-hoc orchestration) vs the Puppet agent (continuous enforcement)

Frequently Asked Questions

What is the Puppet Certified Professional exam?

The PCP (Puppet Certified Professional) is a vendor certification from Perforce (Puppet) that validates professional-level Puppet skills. It tests Puppet language fluency, module design, Hiera data, agent/server operations, code deployment, and Bolt orchestration. Targeted at engineers with hands-on Puppet experience managing infrastructure as code.

How many questions are on the PCP exam?

The PCP has approximately 60 multiple-choice scenario-based questions and a 90-minute time limit, delivered online via Questionmark. Many questions present a Puppet manifest or scenario and ask which language construct, module pattern, or operational command should be used.

How much does the PCP exam cost?

The PCP exam costs approximately $200 USD (pricing varies by region and currency). The exam fee covers a single attempt; retakes require an additional fee. Vouchers may be bundled with Puppet training courses.

What are the largest topic areas on the PCP exam?

Puppet language fundamentals are the largest area (~25%), covering resource syntax, conditionals, iteration, and data types. Modules and the Roles/Profiles pattern (~20%) and Hiera data hierarchy (~20%) follow closely. Agent/server architecture (~15%), environments and code deployment (~10%), and Bolt/PE (~10%) round out the exam.

Does the PCP certification expire?

Yes — the Puppet Certified Professional credential is typically valid for two years. To maintain certification, retake and pass the current exam version before expiration. Puppet updates the exam periodically as the platform evolves.

How should I prepare for the PCP exam?

Plan for 50-80 hours of study over 6-8 weeks. Build a Puppet server and at least two agents in a lab; write modules following the Roles and Profiles pattern; configure Hiera with multiple hierarchy levels; deploy code via r10k from a Git control repo; and practice Bolt tasks and plans. Take 100+ practice questions and aim for 80%+ before scheduling.

What jobs benefit from PCP certification?

PCP aligns with roles such as DevOps Engineer, Site Reliability Engineer, Infrastructure Engineer, Configuration Management Engineer, and Platform Engineer. It is commonly cited in job postings for organizations using Puppet Enterprise or large open-source Puppet deployments.