Certifications · OTCA · Mock Exam · Set 2

OTCA Mock Exam · Set 2

Fifty more multiple-choice questions, weighted question-for-question to the same four domains of the official OTCA curriculum as Set 1 — twenty-three on the API and SDK, thirteen on the Collector, nine on Fundamentals of Observability, five on Maintaining and Debugging Observability Pipelines. This is the second of two papers, and it assumes Set 1's baseline is already solid: instead of testing one fact per question, most items here hand you a short scenario — a pipeline that's valid YAML and does nothing, a sampler that's correctly parent-based but still shreds a trace, a Collector that reconciles cleanly and reconciles the wrong thing — and make you notice the one detail that changes the answer. None of these fifty repeat Set 1's questions. The OTCA is a knowledge-based exam — no cluster, no terminal, nothing to break — so this is a question paper you sit cold, in one block, with no notes open. Answer first, then read the explanation directly beneath your choice; it is doing as much teaching as the question itself, and the domain tag on every item tells you exactly which page to reread if you miss it.

☺ Explain it like I'm 10

This is the second pop quiz on the same four chapters — except this time, instead of just asking "what does this word mean," it hands you a little story and asks you to spot the one detail that changes the answer. Same rules as before: pick the best answer out of four before you check, because a wrong guess here is free and just points you back to the exact page to reread. There's still no cluster to break and nothing to install — the whole test lives in your head, the same way the real one does.

🐘🐰Your hosts for this topic: Ellie the Elephant & Remy the Rabbit — Ellie never forgets a span, a metric or a scrape target, which is why she holds the line on the pipeline and Collector scenarios this paper leans on hardest, and Remy is back to find out whether the vocabulary gap from Set 1 actually got fixed, or just got lucky.

How this paper is weighted

☺ Like you're 10: Same split as last time — the biggest chapter still gets the most questions, in the same nice round numbers.

Like Set 1, this paper's fifty questions divide the OTCA's four official domain weights — 46, 26, 18, 10 — with no rounding at all: 23, 13, 9, 5. Keeping the same split across both papers is deliberate, not just tidy: it's what makes a Set 1 score and a Set 2 score directly comparable domain for domain, rather than two numbers on unrelated scales. If the Collector cost you points on Set 1 and costs you points again here, that is not the same mistake happening twice by chance — it's the same real gap, confirmed.

DomainOfficial weightQuestions hereWhere to revise
🐘 The OpenTelemetry API and SDK46%23The OpenTelemetry Data Model · OTCA — the exam
🦫 The OpenTelemetry Collector26%13OpenTelemetry Collector · OTCA — the exam
🦉 Fundamentals of Observability18%9PCA · Prometheus · Glossary
🦊 Maintaining & Debugging Pipelines10%5OTCA — the exam · The OpenTelemetry Data Model
90-minute pace · 50 questions · 75% to pass Block 1 Q1–17 · ~30m Block 2 Q18–34 · ~30m Block 3 Q35–50 · ~30m 0 80 90 min Weighted to the four official OTCA domains API & SDK 46% Collector 26% Fundamentals 18% M & D 10% Every block mixes all four domains Several questions per block combine two ideas at once — read for the second clue, not just the first. The Linux Foundation does not publish the real question count, so treat 50 as a study size, not a claim about the real paper.
◆ Key idea

Score your domains, not just your total — same advice as Set 1, doubly true here. A layered question that combines the SDK and the Collector in one stem still only counts toward one domain in the tally below, but missing it can mean either page needs a reread. When in doubt, reread both.

Sit it like the real thing

☺ Like you're 10: Same rules as Set 1 — no notes, no open tabs, one sitting, straight through, never leave a question blank.

Sit this exactly like Set 1: closed-book, one timer, one sitting, no documentation allowance — there's no terminal here for a "browse the docs" concession to apply to in the first place, unlike the hands-on Kubernetes exams this course assumes you've already cleared. The scenario questions in this paper reward reading the whole stem before committing — several are built so that an answer which looks right after the first sentence turns out wrong once you reach the second clue, the same trap Set 1 warned about but sharper here. Slow down by a few seconds per question rather than pattern-matching to the nearest question you remember from Set 1; these are new, and a couple are deliberately shaped to resemble a Set 1 question while testing something different. Never leave a question blank.

⚠ Exam details change — the official page is the authority

What's safe to state structurally: the OTCA is a CNCF/Linux Foundation associate-level, knowledge-based multiple-choice exam — not hands-on like the five core Kubernetes exams in the Kubernetes course or a performance-based exam — delivered online under remote proctoring, with no formal prerequisite. Two numbers you can plan against: 90 minutes to sit it, and 75% or above to pass (the Linux Foundation's Multiple Choice Exam FAQ states this pass mark applies to every LF multiple-choice exam). What is not published is the real question count — third-party figures for it are unverified, so this paper's size of fifty was chosen only because it divides the four domain weights with no rounding, not because it matches a real number. Price, retake terms, eligibility window and certification validity are all revised over time too. Confirm everything on the official Linux Foundation OTCA page and the CNCF certification page before you register or pay — this page is a study aid, not a substitute for reading them.

The paper — 50 questions across three blocks

☺ Like you're 10: Fifty questions, three blocks, every domain mixed into every block — but more of these stories have two things going on at once, so read the whole thing before you answer.

Each question names its domain in parentheses so you can total your score by domain afterward — the real exam won't label them. A few questions are marked (Select TWO), and a few others deliberately describe a scenario where "nothing is actually wrong" is itself the correct answer — don't assume every stem is hiding a misconfiguration just because the last several were.

Block 1 — Q1–17

Q1 (API and SDK). A span carries service.name=checkout as an attribute directly on the span itself, rather than on the Resource. What's the practical problem with this placement, compared to the same value set correctly on the Resource?

Check the answer

B. Resource identity is attached once, to the provider, and every signal that provider emits inherits it — that's the entire point of the layer existing separately from per-record attributes.

Q2 (Collector). A Collector config file declares blocks under receivers, processors, exporters, extensions and connectors. Which of these five is correctly described as acting as the exporter of one pipeline and the receiver of the next, joining two pipelines together?

Check the answer

C. A connector like spanmetrics sits between two pipelines by definition — exporter on one side, receiver on the other, inside the same config.

Q3 (API and SDK). A service places an outbound call onto a message queue for another service to consume asynchronously, with no synchronous response expected. Which SpanKind most accurately models the sending side of that call?

Check the answer

C. PRODUCER (with CONSUMER on the receiving side) models fire-and-forget messaging; CLIENT/SERVER model synchronous request/response, and INTERNAL models work with no remote call at all.

Q4 (Fundamentals of Observability). A team says: "We have full observability — we collect traces and metrics from every service." What is most likely still missing from that claim, and why might it matter for correlating an outage?

Check the answer

B. Logs fill in exactly the free-form detail traces and metrics are structurally bad at carrying. (Profiling is a genuine, if newer, fourth signal — not unsupported — and baggage is context, not a signal, which is why C and D are both wrong for different reasons.)

Q5 (Collector). A Collector config defines a filter processor under processors: with statements dropping health-check spans, and the engineer confirms the config is syntactically valid. Spans matching the filter still appear in the backend. What is the single most likely explanation?

Check the answer

B. The classic trap: definition and wiring are two separate steps, and only the second one makes a component actually touch data.

Q6 (API and SDK). A developer adds tracing calls to a new microservice, deploys it, and confirms in a debugger that a span-start call executes without error on every request. No spans ever reach the backend. What is the most likely root cause?

Check the answer

B. A no-op API executing without error is exactly what "no-op by default" looks like from the inside — nothing is broken, nothing was ever wired up.

Q7 (Maintaining and Debugging Pipelines). Spans stop arriving at a backend an hour after a Collector redeploy, with no application-side errors reported. Before touching any exporter config, what is the single fastest first diagnostic step, and why?

Check the answer

B. The Collector's self-telemetry is the fastest, cheapest signal available, and it tells you which stage of the pipeline to look at next.

Q8 (API and SDK). A team wants an asynchronous, callback-driven instrument reporting request-latency distribution once per collection interval, matching the pattern they already use for an observable gauge reporting queue depth. Which OpenTelemetry metric instrument supports that asynchronous form?

Check the answer

C. The sync-only histogram is the classic asymmetry the exam tests — it's the one instrument with no observable counterpart.

Q9 (Collector). A Collector's traces pipeline lists its processors as [batch, memory_limiter]. Under sustained high load, what's the most likely consequence of this ordering compared to [memory_limiter, batch]?

Check the answer

B. memory_limiter belongs first precisely so it can shed load before anything downstream — including batch — gets a chance to consume more memory.

Q10 (Fundamentals of Observability). Two teams instrument their own services independently using different attribute names for the same HTTP concepts. A shared dashboard built against one naming scheme silently shows zero data for the other team's service. What does this scenario demonstrate about the purpose of semantic conventions?

Check the answer

B. Shared naming is the entire value proposition — a dashboard written against conventional names should work regardless of which conformant service produced the data.

Q11 (API and SDK). A team debugging a flaky exporter in a local dev environment temporarily swaps their production batch span processor for a simple span processor. What trade-off are they making, and why is this the right call for debugging specifically, not production?

Check the answer

B. One-at-a-time, synchronous export is exactly what you want while debugging and exactly what you don't want at production volume.

Q12 (Collector). A Collector's otlp receiver block only defines a grpc: key under protocols:, with no http: key present. An application configured to speak OTLP over HTTP pointed at this Collector fails to connect. What's the most direct explanation?

Check the answer

B. A protocol not listed under protocols: is a protocol the receiver simply isn't listening for.

Q13 (API and SDK). Service A calls Service B calls Service C. All three use a parent-based ratio sampler at 10%. Service A's request is the trace root and gets sampled in. What sampling decision do B and C make for their spans in that same trace, and why?

Check the answer

B. This is exactly why parent-based sampling exists — an independent per-service ratio decision is what shreds traces into fragments; deferring to the parent is what keeps a trace whole end to end.

Q14 (Maintaining and Debugging Pipelines). A Collector's otlp/backend exporter has a bounded in-memory sending queue with no file_storage extension configured, and retries enabled. The backend goes down for six hours. What happens to telemetry received during that outage, once the queue fills?

Check the answer

B. Telemetry pipelines are lossy by design under sustained backpressure; the choice is where you accept the loss, not whether you can avoid it entirely without persistent backing.

Q15 (Fundamentals of Observability). An engineer adds a customer email address as a span attribute on every HTTP request span, reasoning it will make it easy to filter traces per customer. What's the most likely operational problem this introduces?

Check the answer

B. Unbounded, near-unique attribute values are the textbook cardinality failure — and instrumentation quality is exactly what this competency is checking.

Q16 (API and SDK). An application sets its OTLP endpoint to port 4317 and its OTLP protocol to HTTP/protobuf. Telemetry never arrives, with no error surfaced to the application. What's the most likely cause?

Check the answer

A. Endpoint and protocol are two separate settings that must agree; a mismatch like this is one of the most common real-world (and exam) misconfigurations.

Q17 (API and SDK, Select TWO). Which TWO statements accurately describe how OpenTelemetry's logging support differs from its tracing and metrics support?

Check the answer

A and B. The bridge design and the trace-correlation fields are the two defining, testable facts about logs specifically. Logs export over OTLP like any other signal (C is wrong), share the same Resource layer as everything else from that process (D is wrong), and carry both a timestamp and an observed timestamp (E is wrong).

Block 2 — Q18–34

Q18 (API and SDK). A support engineer captures a traceparent header ending in the two hex characters 01. Which field of the header does that final byte represent, and what does the value shown indicate?

Check the answer

B. Version, trace ID, span ID, then trace flags — the last field, where the low bit is the sampled flag.

Q19 (Fundamentals of Observability). An SRE team wants to know, from telemetry alone, whether a service is currently healthy enough to keep taking traffic. Per the RED method commonly cited under Analysis and Outcomes, which three signals do they look at together, and why not just one?

Check the answer

B. Each of the three can individually look healthy while masking a real problem visible only in one of the others — that's exactly why RED reads them together.

Q20 (Collector). A platform team wants every pod's traces enriched with pod- and node-level metadata, with the lowest possible network hop before that enrichment happens. Which Collector deployment shape most directly supports that, and which component actually adds those attributes?

Check the answer

B. Local enrichment is exactly what an agent architecture is for, and k8sattributes is the component that does the enriching.

Q21 (API and SDK). A team wants to track the current number of in-flight requests a service is handling, read via a callback at each collection interval rather than incremented and decremented inline in request-handling code. Which instrument fits, and why not a plain synchronous counter?

Check the answer

B. Non-monotonic value, reported by callback rather than inline calls — that's precisely the observable up-down counter's use case.

Q22 (Collector). A security team wants PII redaction applied consistently to telemetry from four hundred microservices, in one place, rather than replicated into every application's SDK configuration. Which Collector deployment shape suits this, and what's the corresponding cost?

Check the answer

B. A gateway is exactly the right place to centralize fleet-wide policy — and centralizing anything also centralizes the blast radius.

Q23 (API and SDK). A team merges a base Resource carrying service.name with a second Resource built from environment variables carrying deployment.environment.name and service.version. What does the merged Resource end up describing, and where does that merged identity attach?

Check the answer

B. Resources merge into one combined identity, attached once — that single attachment point is the whole reason the layer is useful.

Q24 (Maintaining and Debugging Pipelines). A request handler places a job onto an internal in-memory queue for a background worker pool to process later, with no explicit context carried alongside the job. When the worker eventually processes it and creates a span, what happens to that span's place in the original trace, and what's the standard fix?

Check the answer

B. Async boundaries are one of the classic places a trace snaps in two — context has to be explicitly carried, it isn't ambient.

Q25 (Fundamentals of Observability). A team wants traces for an off-the-shelf third-party HTTP client library they don't control the source of, with minimal engineering effort, accepting slightly less precise span boundaries than hand-written instrumentation would give. Which general instrumentation approach fits, and what's the trade-off?

Check the answer

B. Speed and coverage versus precision is exactly the trade-off zero-code instrumentation makes.

Q26 (API and SDK). A team needs to export spans to an internal, proprietary telemetry ingestion API that has no existing OpenTelemetry exporter. What does OpenTelemetry's composability model let them do about it, without forking the SDK?

Check the answer

B. Pluggable interfaces at every stage of the pipeline are the whole point of the Composability and Extension competency.

Q27 (Collector). A platform team wants RED-style request-rate and error-rate metrics derived automatically from trace data, without instrumenting every service a second time just for metrics. Which Collector component is purpose-built for this, and how does it fit into the pipeline model?

Check the answer

B. A connector deriving metrics from an existing trace pipeline is exactly the "RED metrics for free from traces" pattern.

Q28 (API and SDK). A platform team wants every pod in a namespace with a given annotation to receive Java zero-code instrumentation automatically, without editing each application's Deployment spec by hand. What OpenTelemetry Kubernetes mechanism achieves this, and where does the triggering annotation actually go?

Check the answer

B. The pod-template annotation, not top-level Deployment metadata, is the detail this exact question is designed to catch you on.

Q29 (Fundamentals of Observability). A metric, a span, and a log record from the same process all carry the same attribute key, using the same value and semantics in each. What does this consistency demonstrate about semantic conventions as a competency?

Check the answer

B. One shared vocabulary across all three signals is what lets you correlate them at all — that's the design, not a coincidence.

Q30 (Collector). A gateway tier runs three Collector replicas behind a plain round-robin load balancer, each running tail sampling. Spans of the same trace often arrive at different replicas, and the tail-sampling decisions come out inconsistent per trace. What's the architectural fix, and why does plain round-robin fail here?

Check the answer

B. Trace-ID-based routing to a consistent downstream replica is the standard fix for exactly this stateful-processing affinity problem.

Q31 (API and SDK). During a migration, half of a fleet's services still run an older tracing library that only understands B3 headers, while the newer half uses W3C Trace Context. A team configures the newly-migrated services' propagators to accept both formats. What does this achieve?

Check the answer

B. Speaking both formats during a migration window is exactly why a propagator list, not a single value, is supported.

Q32 (Maintaining and Debugging Pipelines). An organization renames an attribute across its semantic conventions and rolls the change out gradually over several months. Old telemetry recorded before the rollout and new telemetry recorded after it both need to remain queryable together on the same dashboard. What OpenTelemetry mechanism exists specifically to support this kind of transition?

Check the answer

B. Schema URL plus published schema files is the whole mechanism — it's what lets a fleet migrate gradually instead of all at once.

Q33 (API and SDK). A span representing an HTTP request has a five-second gap in the middle where it's waiting on a rate limiter, and separately the request was triggered as a side effect of a completely different, earlier trace that isn't its direct parent. Which two span features are the right fit for annotating each of these, respectively?

Check the answer

B. Events are timestamped notes inside a span's own lifetime; links join a span to a causally related trace when parent-child doesn't fit — two different tools for two different problems.

Q34 (API and SDK). A latency dashboard shows a sharp spike in a histogram's p99 bucket. Without exemplars, an engineer would need to search logs and traces around that timestamp by hand to find a matching slow request. What do exemplars add to the metric data point that removes that manual search step?

Check the answer

B. A trace ID carried on the metric point is exactly what turns "click the spike" into "land in the trace."

Block 3 — Q35–50

Q35 (API and SDK). Two Resource objects, each carrying a different schema URL, are merged, and the SDK raises a schema URL conflict rather than silently picking one. What is the SDK protecting against by refusing to resolve this automatically?

Check the answer

B. A schema URL is a claim about what an attribute means — silently mixing two claims is exactly the failure a hard conflict prevents.

Q36 (Collector). A Collector fleet uses the prometheus receiver to scrape a large, dynamic set of Kubernetes pods across multiple Collector replicas. Without any additional coordination, what problem arises, and what OpenTelemetry Operator feature addresses it?

Check the answer

B. Sharding scrape targets is the mirror image of the tail-sampling affinity problem — here you want targets split apart, not spans kept together.

Q37 (Fundamentals of Observability). A team defines an SLO: "99.9% of checkout requests complete in under 400ms over a rolling 30 days," derived from telemetry already being collected. What is the SLI in this statement, precisely, and how does it differ from the SLO itself?

Check the answer

B. Measurement versus target is the exact distinction — and it's a distinction the exam expects you to hold precisely, not gesture at.

Q38 (API and SDK). A short-lived batch job creates several hundred spans, finishes its work, and exits the process immediately without flushing the SDK first. What is the most likely outcome for those spans, and why?

Check the answer

B. An unflushed exit is the single most common way a short-lived process loses its own telemetry.

Q39 (Collector). A transform processor rewrites a specific attribute value to a redacted placeholder whenever it matches a given condition, and the pipeline correctly lists transform in its processors array. What should an engineer expect to see downstream, for a span whose attribute matches that exact condition?

Check the answer

B. A correctly-wired, matching OTTL statement does exactly what it says — rewrites the matched value and leaves everything else alone.

Q40 (API and SDK). Service X runs with only the W3C Trace Context propagator configured. Service Y, which X calls, runs with only B3 configured. What happens to the trace when X calls Y?

Check the answer

B. Two individually-correct configurations can still produce a broken trace when they don't agree on a propagator — that's the point of this scenario.

Q41 (Collector). A filter processor is configured to drop spans whose target path is exactly /healthz, and it's correctly wired into the pipeline. A separate, unrelated span still shows up in the backend, but its actual target path is /health — no trailing "z". What explains this?

Check the answer

B. Nothing is misconfigured here — an exact-match condition simply didn't match a different string. Not every scenario on this paper is a bug.

Q42 (Fundamentals of Observability). A Collector's k8sattributes processor adds pod, namespace and node identity to incoming telemetry. Which layer of the data model do these attributes correctly belong to, and why does that placement matter for correlating logs, metrics and traces from the same pod?

Check the answer

B. Pod/node identity is "what produced this," which is precisely the Resource layer's job — and exactly why it's attached once rather than per record.

Q43 (API and SDK). An operations team needs to disable telemetry export for one specific service during an active incident, without touching application code beyond restarting it with a new setting. Which environment variable achieves this, and what's the scope of its effect?

Check the answer

B. A per-process, environment-driven kill switch is exactly the tool for "turn this off right now, everywhere this process runs," without a code change.

Q44 (Collector). A platform team wants to run the same Collector configuration as a per-node DaemonSet for local telemetry collection, and separately as a horizontally-scalable gateway Deployment, without hand-writing two entirely separate sets of Kubernetes manifests. What lets them express this declaratively?

Check the answer

B. The Operator's Collector CRD is exactly what separates "what to run" from "what shape to run it in."

Q45 (API and SDK). A metrics backend expects each exported data point to represent the total accumulated count since the process started, rather than just the increment since the last export. Which aggregation temporality setting matches that expectation, and what's the risk of using the other one against this backend?

Check the answer

B. Matching temporality to what the backend expects is not cosmetic — get it backwards and every number the backend shows is wrong.

Q46 (Fundamentals of Observability). A candidate assumes OpenTelemetry's four signals — traces, metrics, logs and profiles — are all equally mature and stable, since they're all part of "the same project." What's the more accurate picture?

Check the answer

B. Uneven maturity across signals is a real, current fact about the project — not a detail worth assuming away.

Q47 (Collector). A team adds a health-check endpoint and a profiling endpoint under a Collector's extensions: block, and separately lists memory_limiter and batch under processors:. What's the fundamental distinction between what these two categories of component do?

Check the answer

B. "In the data path" versus "outside any data path" is precisely the line that separates processors from extensions.

Q48 (API and SDK). A team's default histogram for request duration uses bucket boundaries poorly suited to their service, which is consistently fast — most data points land in one oversized bucket, making the histogram nearly useless. Without changing any application code, how can they fix the bucket boundaries?

Check the answer

B. Views exist specifically so a poor default like this can be fixed at the SDK configuration layer, with zero instrumentation-code changes.

Q49 (Maintaining and Debugging Pipelines). An engineer suspects a specific attributes processor is silently corrupting span attribute values somewhere mid-pipeline, but every downstream backend just shows the final, already-wrong result. Which two Collector-native tools let them inspect the pipeline's actual live behavior directly, without waiting on backend ingestion?

Check the answer

B. These are the two purpose-built, in-process debugging tools — reach for them before guessing from backend symptoms.

Q50 (API and SDK). A team configures a service's exporter endpoint via an environment variable in one environment, and via an explicit constructor argument in code in another. Assuming no other conflicting settings, what should the observed behavior be across the two environments?

Check the answer

B. Env-var and code-level configuration are meant to be two doors into the same room — that's what makes the SDK deployable without a rebuild in most environments.

Score yourself

☺ Like you're 10: Count your correct answers out of fifty, turn it into a percentage against the real 75% pass mark, then look at which domain cost you the most points — that second part is the part that actually helps.

The Linux Foundation's Multiple Choice Exam FAQ states that a score of 75% or above is required to pass any LF multiple-choice exam, and the OTCA is one. Treat 75% here as a target to clear comfortably, not a calibrated prediction of the real sitting — this paper's wording is ours, not the CNCF's, and it isn't tuned to match the real exam's difficulty.

DomainQuestions in this paperYour scoreIf you're under two-thirds, go here
🐘 API and SDKQ1, 3, 6, 8, 11, 13, 16, 17, 18, 21, 23, 26, 28, 31, 33, 34, 35, 38, 40, 43, 45, 48, 50/23The OpenTelemetry Data Model
🦫 CollectorQ2, 5, 9, 12, 20, 22, 27, 30, 36, 39, 41, 44, 47/13OpenTelemetry Collector
🦉 Fundamentals of ObservabilityQ4, 10, 15, 19, 25, 29, 37, 42, 46/9PCA · Glossary
🦊 Maintaining & Debugging PipelinesQ7, 14, 24, 32, 49/5OTCA — the exam
Total50 questions/5075% (38/50) to clear comfortably

Whatever you scored, sort your misses into two piles before you move on, because on a paper like this one they mean different things. A question you got wrong because you genuinely didn't know the fact or the mechanism is a real content gap — reread the linked domain page and redo that exact question cold in a couple of days. A question you got wrong despite roughly knowing the material — you second-guessed yourself, or missed the second clue in a layered stem under time pressure — is a confidence and reading-speed problem, not a knowledge gap, and the fix is more timed reps, not rereading content you already have. Either way, don't retake this exact paper minutes later; go read first, then come back.

Where each domain is taught

☺ Like you're 10: Every question above traces back to one of a handful of pages. Go back to the page, not to the wider internet.

Nothing in this paper examines anything that isn't covered somewhere on this course. The API/SDK and Collector pages carry most of the weight, since they carry most of the exam; Fundamentals leans on the metrics vocabulary PCA covers in depth, and Maintaining & Debugging is mostly the trap-and-toolkit material already inside OTCA — the exam itself.

Beyond the domain pages, the wider revision kit still applies: flashcards for the vocabulary, the self-check quiz for mixed recall, the glossary for anything a question assumed you already knew, and the OTCA study plan for how to sequence all of this against your remaining prep time.

🎬 At Mission Control
🐰

Remy: Forty-one out of fifty this time! Way better than Set 1.

🐘

Ellie: Which domain hid the other nine, Remy? A jump like that is only real if you can say which page fixed it.

🐰

Remy: ...Collector. Still Collector. I keep assuming a component that's configured is a component that's running.

🦊

Foxy: Wait, configuring something doesn't mean it's on? That explains three of my own outages, actually.

🐘

Ellie: Defined and wired are two separate steps, every single time — the exam asks that exact question more than once for a reason.

👺

Gizmo: Or just paste in a processor and assume the Collector's smart enough to notice it wants to be used. Vibes-based YAML! 😈

🐢

Timmy: That's precisely how an unredacted header rides downstream for two weeks, Gizmo. "The config parses" and "the pipeline runs it" are not the same claim.

🐰

Remy: Fine — back to the Collector guide, properly this time, before I even think about booking the real thing.

🐢 Timmy's checkpoint

1. Name the four OTCA domains and their weights, in weight order. 2. A filter processor is fully defined under processors in a Collector config — what else must be true before it ever touches a single record? 3. What's the difference between the OpenTelemetry API and the SDK, and what happens if you instrument code but never register an SDK? 4. Why does histogram have no asynchronous/observable form, unlike counter, up-down counter and gauge? 5. Name two distinct ways a trace can break at a service boundary. 6. Why do tail sampling and the spanmetrics connector both require every span of one trace to land on the same Collector replica, and what routes them there? 7. Name one OTCA exam detail that's officially published and one that deliberately isn't — and where would you confirm either before booking?

Check your answers
  1. The OpenTelemetry API and SDK 46%; The OpenTelemetry Collector 26%; Fundamentals of Observability 18%; Maintaining and Debugging Observability Pipelines 10%.
  2. It must be listed inside a pipeline under service.pipelines, for the relevant signal. A component defined but not referenced there parses fine and simply never runs — no warning, no log line.
  3. The API is the interface instrumentation calls and is a no-op by default; the SDK is the implementation you register at start-up, holding the provider, sampler, processor(s) and exporter. Instrument without registering an SDK and every span is discarded at creation — no telemetry is produced, and no error is raised.
  4. Counter, up-down counter and gauge are each collected by a callback at export time and so naturally support an asynchronous form; a histogram's distribution has to be built up from individual measurements as they happen, which only makes sense recorded synchronously — there is no meaningful "observe a distribution" callback.
  5. A service fails to extract an incoming context (starting a fresh trace), or neighbouring services use different propagators that can't read each other's headers; an async boundary where context isn't explicitly carried forward is a third.
  6. Both are stateful across the spans of one trace — a tail-sampling decision needs the whole trace, and span-derived metrics need consistent aggregation. The loadbalancing exporter routes by trace ID so all of a trace's spans reach the same downstream Collector replica.
  7. Officially published: the 90-minute duration and the 75% pass mark (from the Linux Foundation's Multiple Choice Exam FAQ). Not published: the real question count — any third-party figure for it is unverified. Confirm both, and everything else, on the official Linux Foundation OTCA page and the CNCF certification page before you register.

That's both papers. If you're clearing 75% or better on Set 1 and Set 2 alike, with no domain sagging on both, you have real, cross-checked evidence you're ready — not just one good day. If a domain still sags on both, reread it properly, give it a day to settle, and only then book the real thing.

⏱️ The two OTCA papers

Set 1 · Set 2 (you are here). Both are fifty questions on the same 23 · 13 · 9 · 5 domain split, so the scores are directly comparable — Set 1 leans on definitions and single-fact recall, Set 2 leans harder into layered, multi-clue scenario traps. See the OTCA study plan for where each paper fits against your remaining prep time, the practice-question bank for shorter drills in between, and OTCA — the exam for the full domain writeup and official logistics.