Certifications · OTCA · Mock Exam · Set 1

OTCA Mock Exam · Set 1

A complete 45-question OTCA practice paper, weighted question-for-question to the four domains of the official OTCA curriculum — 21 on the OpenTelemetry API & SDK, 12 on the Collector, 8 on Fundamentals of Observability, 4 on Maintaining & Debugging Pipelines. The real exam's question count isn't published by the Linux Foundation, so 45 is this course's own study convention rather than a promise about the real paper's length — what matters is that it's sat under the real published 90-minute budget and scored against the real published 75% pass mark, so the pacing and the bar both mean something. Every question below is followed immediately by a worked explanation, and every wrong answer names the trap it was built to catch — endpoint/protocol mismatches, a component defined but never wired into a pipeline, a sampler applied without ParentBased, and the rest of the failure modes that show up again and again once you've run OpenTelemetry for real. Sit it cold, in one sitting, then use the domain breakdown at the end to find out exactly which quarter of the syllabus needs another pass.

☺ Explain it like I'm 10

Think of this as a full dress rehearsal at Mission Control, not a pop quiz. Forty-five stations to check, in order, with the mission clock actually running — the same clock the real exam uses. Some stations you'll clear in seconds because you've drilled them a hundred times; others will make you stop and think. Either way, you check every single one, because on the real console a station you skip over reads exactly the same as a station you got wrong. At the end you don't just get one number — you get a report broken down by which system (API & SDK, Collector, Fundamentals, Debugging) actually needs more time in the simulator before launch.

🐢🐘Your hosts for this topic: Timmy the Turtle & Ellie the Elephant — Timmy holds the stopwatch for the full 90 minutes and won't stop it for anything, and Ellie is this course's OTCA host: she never forgets a signal she's seen before, and every explanation below is written the way she'd actually walk you through it.

Where Set 1 sits in your OTCA prep

☺ Like you're 10: Read the syllabus first, drill the questions second, sit the full mock third — in that order, not backwards.

The sensible sequence on this course is: read OTCA — the exam end to end for the four domains, the SDK pipeline, and the Collector's wiring trap; follow the OTCA study plan so that reading is paced rather than crammed into a weekend; work the practice question bank to learn the shape of a question and its common distractors in isolation; then sit this paper cold, as a single measurement of the whole syllabus at once, under a real clock. This paper deliberately assigns questions to each domain in the same proportion the CNCF assigns marks on the real exam — 46% API & SDK, 26% Collector, 18% Fundamentals, 10% Debugging — so a weak result in one domain here is unusually actionable: it names the exact page to reread, not just a vague sense of "did badly."

This is Set 1 of two on this course. Once this paper is solid, Set 2 covers the same four domains in the same proportion with an entirely different question set, so treat the two as two honest sittings rather than one paper read twice — repeating this exact set a second time mostly measures whether you memorized which letter you clicked last time, not whether you know the material.

Sit it like the real thing

☺ Like you're 10: No notes, no open tabs, one sitting, ninety minutes — and if you're not sure, guess anyway, because a blank answer can't possibly score better than a guess.

The OTCA is delivered online, remote-proctored, and closed-book: no documentation, no second monitor, no colleague, no AI assistant once the clock starts. Sit this practice paper under the same restriction rather than quietly loosening it "just this once" — close every other tab, and treat the 45 questions below exactly as you would in a locked-down proctored session. The Linux Foundation's Multiple Choice Exam FAQ doesn't publish a separate penalty for a wrong guess beyond simply not earning the point — nothing there suggests a blank answer is ever safer than a considered guess. Treat that as the reasonable working assumption it is, confirm it on the official page before you rely on it for real, and either way the strategy is unambiguous: never leave a question unanswered. Eliminate what you can rule out, then commit to your best remaining option.

⚠ Format specifics can change — verify before you book

The 90-minute duration and the 75% pass mark below are published facts from the Linux Foundation's own Multiple Choice Exam FAQ, which applies to every LF multiple-choice exam including this one. The real exam's question count is not published anywhere official — the 45 questions in this paper are a study convention this course chose, not a stand-in for a number the CNCF has stated. That means the "2 minutes a question" pacing below is this paper's pacing, calibrated to the one figure that is actually published (90 minutes), not a guarantee about how many questions you'll see on the real day. Price, retake policy, eligibility window, and certification validity all move over time too. Confirm everything current on the official Linux Foundation OTCA page before you register or pay. This is an independent, unofficial study resource and is not affiliated with the CNCF or The Linux Foundation.

Your 90-minute budget

☺ Like you're 10: Forty-five questions, ninety minutes — that's exactly two minutes each, split into three half-hour blocks so you can check your pace roughly every thirty minutes instead of guessing.

Forty-five questions across 90 minutes divides cleanly into 2 minutes per question, and this paper is split into three 30-minute, 15-question blocks so you have a clean checkpoint every half hour rather than discovering with ten minutes left that you're only on question 20. No single block leans on one domain — every block mixes API & SDK, Collector, Fundamentals, and Debugging questions in roughly the same proportion as the paper overall, which is exactly how a real associate-level exam is assembled.

90 minutes · 45 questions · 75% to pass (published LF pass mark) Block 1 Q1–15 · 30m (0–30) Block 2 Q16–30 · 30m (30–60) Block 3 Q31–45 · 30m (60–90) 0 30 60 90 Weighted to the four real OTCA domains API & SDK 46% Collector 26% Fund. 18% Debug 10% Every block mixes all four domains. An unanswered question never beats a guess — and the unwired-component trap shows up more than once.

If a question runs past two minutes without a confident answer, don't stall on it: eliminate what you can, commit to your best remaining option, and move on. Each question's explanation sits directly underneath it — treat opening it before you've committed to an answer as a spoiler that defeats the entire point of a timed sitting.

The paper — 45 questions in exam order

☺ Like you're 10: Read the stem once, pick one answer, then check yourself before moving on — every question is tagged with its domain so you can total your score by domain afterward.

Each question is tagged with its domain in parentheses; the real exam won't give you that label, so once you've sat this paper for the first time, consider a second read-through with the tags covered to see how many you can still place correctly on content alone. Two questions are marked (Select TWO) — full credit there requires both correct letters, exactly as a Linux Foundation multiple-response item is scored.

Block 1 — Q1–15 (minutes 0–30)

Q1 (API & SDK). A developer adds OpenTelemetry instrumentation calls throughout a service's request-handling code, but never sets up an SDK or registers a TracerProvider. What happens when the service runs?

Check the answer

B. The OpenTelemetry API is a no-op by design until an SDK is registered behind it — instrumentation compiles and runs fine, but spans are simply thrown away as they're created, silently. This is the single most common "why is nothing showing up" root cause.

Q2 (Collector). Which list correctly names all five of the OpenTelemetry Collector's component types?

Check the answer

A. Receivers get data in, processors change it in flight, exporters send it out, extensions add capabilities outside any data path, and connectors join two pipelines together. Knowing these five cold covers most of the Collector domain.

Q3 (Fundamentals). Every piece of OpenTelemetry telemetry shares the same three-layer shape. Which set correctly names those layers, from outermost to innermost?

Check the answer

B. Resource describes what produced the telemetry (like service.name), InstrumentationScope names the library and version that emitted it, and the record itself carries the signal-specific fields. D describes structure inside a trace only, not the shape every signal shares.

Q4 (API & SDK). In a trace SDK pipeline, which four components does a TracerProvider typically assemble to turn API calls into exported telemetry?

Check the answer

A. Option B lists Collector components, not SDK components — a common confusion since the two pipelines sound similar but sit on opposite sides of the wire: one inside your application, one as separate infrastructure.

Q5 (Debugging). A team suspects their Collector is silently dropping spans somewhere in the pipeline, but doesn't yet know whether the fault is at the receiver, a processor, or the exporter. What's the recommended first diagnostic step?

Check the answer

B. The Collector emits its own metrics describing what each pipeline stage is doing (service.telemetry.metrics). Reading those first localizes a fault to receiver, processor, or exporter before you touch config or restart anything — the fastest way to bisect the problem.

Q6 (API & SDK). Which OpenTelemetry metric instrument has no asynchronous (observable, callback-driven) counterpart in the specification?

Check the answer

C. Counter, UpDownCounter, and Gauge each have a synchronous and an asynchronous/observable form; Histogram is synchronous-only, because its per-event bucket recording has no meaningful callback-driven equivalent. That asymmetry is a favorite exam distractor.

Q7 (Collector). A Collector config defines a transform processor under the top-level processors: block, fully and correctly, but the traces pipeline's processors: list only names [memory_limiter, batch]. What happens to transform when the Collector starts?

Check the answer

B. A component must be listed inside a pipeline's receivers, processors, or exporters array to run at all — defining it elsewhere in the file is necessary but not sufficient, and the Collector gives no error or warning when a defined-but-unreferenced component sits inert.

Q8 (Fundamentals). What problem do OpenTelemetry semantic conventions — agreed names like service.name, http.request.method, and error.type — actually solve?

Check the answer

B. Semantic conventions are purely a naming and value agreement — the interoperability payoff is that tooling built against those names works everywhere, which is why they're a whole competency and not a footnote.

Q9 (API & SDK). What is the practical difference between a simple span processor and a batch span processor in the SDK?

Check the answer

B. Simple processors export inline, per span, adding latency and overhead unsuited to production load. Batch processors buffer and flush on a schedule or size threshold, trading a small delay for far better throughput.

Q10 (Collector). In a Collector pipeline's processor list, why is memory_limiter conventionally placed first, ahead of batch and any other processors?

Check the answer

B. Processors run in exactly the order listed. Putting memory_limiter first lets it reject or shed data under pressure before the Collector spends CPU and memory on later processors — protecting the process rather than reacting after the fact.

Q11 (API & SDK). An SDK's sampler is configured as ParentBased(TraceIdRatioBased(0.1)). A span arrives that already has an active, sampled parent context. What does the sampler do?

Check the answer

B. ParentBased defers to whatever decision the incoming context already carries when one exists, falling back to the wrapped sampler (here, a 10% ratio) only when there's no parent to defer to — this is what keeps a whole trace sampled, or not, consistently end to end.

Q12 (Fundamentals). A team wants one signal that tells them, at a glance, whether users are currently experiencing a problem with a service, before diving into any specific metric. Which observability practice is built around exactly that question?

Check the answer

B. Golden-signal-style frameworks exist precisely to compress a service's health into a handful of standard, comparable signals — this is the "Analysis and Outcomes" competency, a reading practice rather than a feature of any one tool.

Q13 (API & SDK). An SDK is configured with OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317 and OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf. What is most likely to happen?

Check the answer

B. gRPC listens on 4317 and HTTP on 4318 by convention. Mismatching the port against the configured protocol is a classic, silent failure — the application sees no error, only missing telemetry downstream.

Q14 (Collector). A Collector's otlp receiver is configured with both a grpc and an http protocol block. Which default ports does the OpenTelemetry ecosystem conventionally use for each?

Check the answer

A. 4317 for gRPC and 4318 for HTTP is the OTLP convention across the whole ecosystem — SDK exporters, the Collector's receiver, and most documentation all assume this pairing unless explicitly overridden.

Q15 (API & SDK). An attribute service.name is attached to telemetry. Which layer of the OpenTelemetry data model does it belong to?

Check the answer

A. service.name describes the entity producing the telemetry (the Resource), set once per process and shared across every span, metric, and log record it emits — unlike InstrumentationScope (per-library) or span attributes (per-record).

Block 2 — Q16–30 (minutes 30–60)

Q16 (API & SDK). How does OpenTelemetry's logging support differ structurally from its tracing and metrics support?

Check the answer

A. Rather than asking every application to rip out its existing logger, OpenTelemetry provides a bridge/appender that plugs into the logging framework already in use, correlating each log line with the active trace and span IDs.

Q17 (Collector). A platform team wants a Collector to scrape host-level CPU, memory, and disk metrics directly from the node it's running on. Which receiver is purpose-built for this?

Check the answer

C. hostmetrics collects operating-system-level metrics from the host the Collector runs on. otlp receives already-formatted telemetry pushed to it, filelog tails log files, and jaeger is a legacy trace-format receiver.

Q18 (Fundamentals). An engineer wants to add a user.email attribute to every span in a checkout service, to make debugging individual customer issues easier. What is the main instrumentation-quality concern with this?

Check the answer

B. Good instrumentation weighs cardinality (does this attribute value blow up storage and query cost?) and sensitivity (should this ever leave the process at all?) — a raw email address fails both tests; a hashed or tokenized ID is the usual compromise.

Q19 (API & SDK). A team stores a customer's session ID in OpenTelemetry baggage so every downstream service can log it. What should they keep in mind about baggage?

Check the answer

B. Baggage is genuinely useful for routing hints and correlation IDs, but it travels as a plaintext header to every service in the call chain — including third-party ones — and doesn't attach itself to spans automatically, which is why it comes with a recurring "don't put secrets here" warning.

Q20 (Debugging). An OTLP exporter's backend becomes slow, and the exporter's sending_queue starts filling up. Without any additional configuration, what happens once the queue is full?

Check the answer

B. sending_queue buffers export attempts and retries transient failures, but it's finite — once full, new data is dropped unless it's backed by durable storage via file_storage. Telemetry pipelines are deliberately lossy under sustained pressure; the choice is where the loss happens.

Q21 (API & SDK). A platform team wants Java services running in a Kubernetes cluster to get distributed tracing without any application code changes. Which mechanism, backed by the OpenTelemetry Operator, achieves this?

Check the answer

B. Zero-code (automatic) instrumentation is the "Agents" competency, which sits inside the API & SDK domain. On Kubernetes, the Operator reads an Instrumentation CR and a workload's pod-template annotation to inject the right language agent with no source changes.

Q22 (Collector). A Collector config includes a spanmetrics connector. What role does a connector play in a Collector's pipeline topology?

Check the answer

B. Connectors bridge two pipelines — spanmetrics sits as the exporter of a traces pipeline and the receiver of a metrics pipeline, deriving RED-style metrics from span data as it flows through.

Q23 (Fundamentals). A team wants to answer "exactly where did the time go across these four downstream calls, for this one slow request?" Which signal is purpose-built for that question?

Check the answer

B. Traces exist specifically to answer per-request, cross-service timing questions; metrics aggregate across many requests and lose per-request detail, and raw logs require manual correlation to reconstruct a timeline traces give you natively.

Q24 (API & SDK). Which of the following is a valid value for a Span's SpanKind?

Check the answer

B. The five defined SpanKind values are INTERNAL, SERVER, CLIENT, PRODUCER, and CONSUMER — describing the span's relationship to a remote call, not its sampling state or its position in the trace tree.

Q25 (Collector). A Collector fleet runs tail_sampling behind a load balancer that could route different spans of the same trace to different Collector replicas. Why is this a problem, and what fixes it?

Check the answer

B. Tail-based sampling is inherently stateful — it can't decide whether to keep a trace until it has seen the whole thing — so a naive load balancer that splits one trace across replicas breaks it. Routing consistently by trace ID (what loadbalancing does) keeps every span of a given trace together.

Q26 (API & SDK, Select TWO). OpenTelemetry's SDK is deliberately built around pluggable interfaces. Which TWO of the following are legitimate, spec-supported ways to extend or customize SDK behavior without forking the specification itself?

Check the answer

A and B. Samplers, processors, and exporters are explicit, documented extension points — the "Composability and Extension" competency. Changing the wire protocol (C) or silently swapping header formats without registering a matching propagator (D) breaks interoperability rather than extending it within the spec, and patching a binary (E) isn't a supported mechanism at all.

Q27 (Fundamentals). A dashboard shows a sudden spike in p99 latency on a metric graph. What OpenTelemetry feature lets an engineer click that spike and land directly in one of the actual slow traces that caused it?

Check the answer

B. Exemplars are the explicit bridge between the aggregate world of metrics and the per-request world of traces — a metric data point carries a sampled trace ID as an exemplar, so a spike on a graph can point straight at one concrete example of it.

Q28 (API & SDK). An application process calls its SDK's shutdown method before exiting. What does skipping this step risk?

Check the answer

B. A batch processor buffers spans in memory and flushes on a timer or size threshold. If the process exits before that flush happens and shutdown was never called to force one, whatever was still buffered is gone — a quiet way to lose exactly the last few seconds of telemetry before a crash or an unflushed exit.

Q29 (Collector, Select TWO). OTTL (the OpenTelemetry Transformation Language) is used to write conditional statements that reshape telemetry in flight. Which TWO Collector components are OTTL-based?

Check the answer

A and B. transform and filter both accept OTTL statements to modify or drop records based on conditions evaluated against the data itself. memory_limiter and batch operate on resource pressure and buffering rather than record content, and health_check is a non-data-path extension entirely.

Q30 (API & SDK). A team needs to disable all OpenTelemetry instrumentation in one specific service instance, without redeploying or changing any code, as a quick kill switch during an incident. Which environment variable does this?

Check the answer

B. OTEL_SDK_DISABLED is the dedicated, documented kill switch — set at the process level with no code change or redeploy needed. Zeroing the sampler ratio (A) still runs the SDK pipeline and only affects traces, not the other signals.

Block 3 — Q31–45 (minutes 60–90)

Q31 (API & SDK). A metrics SDK is configured with an aggregation temporality. What does this setting actually control?

Check the answer

A. Temporality is specifically about whether consecutive exports represent independent deltas or a running cumulative sum — a backend needs to know which it's receiving to aggregate correctly, and mismatched assumptions here is a common source of doubled- or halved-looking totals.

Q32 (Collector). In a Collector pipeline's processor list, batch is conventionally placed near the end, after filtering and sampling processors rather than before them. Why?

Check the answer

B. Processor order is execution order, so batching before you've dropped unwanted data means bundling records you're about to throw away. Putting filtering/sampling processors earlier and batch later avoids that wasted work.

Q33 (Fundamentals). Semantic conventions are published with stability levels, such as experimental and stable. Why does this matter to someone building dashboards or alerts on top of an attribute name?

Check the answer

B. The stability marker is a promise (or lack of one) about whether the name and semantics will hold going forward — treating an experimental attribute as a permanent contract is how dashboards quietly break on a semantic-convention upgrade.

Q34 (API & SDK). What is the primary design reason the OpenTelemetry API is a no-op by default, separate from the SDK that actually implements it?

Check the answer

B. The API/SDK split exists so instrumentation can be embedded deep in shared libraries without imposing a telemetry backend choice on every application that imports them — the SDK is opt-in, wired up once by the application itself.

Q35 (Debugging). A trace that should span three services shows two separate, disconnected traces instead — one covering the first service, and a brand-new one starting at the second. What is the most likely root cause?

Check the answer

B. A trace "snapping" at a service boundary is the signature symptom of a missing or failed context extraction — the receiving service never read the incoming traceparent, so its instrumentation had nothing to attach to and started a new root span instead.

Q36 (API & SDK). An SDK's propagator list is left unconfigured. What does OpenTelemetry use by default?

Check the answer

B. The spec's default OTEL_PROPAGATORS value is tracecontext,baggage — W3C Trace Context for the trace itself and W3C Baggage for user-defined context. b3 and others are opt-in additions, typically added during a migration off an older tracing system.

Q37 (Collector). Which of the following is an example of a Collector extension, as distinct from a receiver, processor, exporter, or connector?

Check the answer

C. Extensions add capabilities outside any data path — health_check exposes a readiness/liveness endpoint, unlike otlp (a receiver), batch (a processor), or spanmetrics (a connector), all of which sit directly in a pipeline's flow of records.

Q38 (Fundamentals). A team is choosing between manually adding OpenTelemetry API calls throughout their code and using zero-code/automatic instrumentation. What is the main trade-off?

Check the answer

B. Both are legitimate and commonly combined — automatic instrumentation gets broad, immediate coverage of library boundaries (HTTP frameworks, database clients) with near-zero effort, while manual spans and attributes capture business-specific detail automatic instrumentation can't know about.

Q39 (API & SDK). A background job picks up a message from a queue and needs to continue the trace of the request that originally enqueued it, potentially minutes later. What OpenTelemetry mechanism is designed for this kind of asynchronous, non-parent-child relationship between spans?

Check the answer

B. Links exist for exactly this case — async boundaries like queues and background jobs, where strict parent-child nesting doesn't fit the timing, but the two spans are still causally related and worth connecting.

Q40 (Collector). A Collector fleet uses the prometheus receiver across multiple replicas, scraping thousands of targets. Naively, every replica would scrape every target redundantly. What OpenTelemetry Operator feature solves this by sharding scrape targets across replicas?

Check the answer

B. The target allocator is the Operator component built specifically for this problem — it shards the set of scrape targets across Collector replicas so each target is scraped once, not once per replica. loadbalancing solves a related but distinct problem: routing spans of the same trace to the same replica.

Q41 (API & SDK). A Resource attached to a TracerProvider carries a schema_url. What is the practical purpose of that field?

Check the answer

B. Schema URLs are where schema management starts — as attribute names and meanings evolve across convention versions, the schema URL tells a consumer which version's rules to apply, letting old and new telemetry stay interpretable side by side during a migration.

Q42 (Debugging). A fleet is mid-migration between two versions of the semantic conventions, with some services still emitting the old attribute names and others already emitting the new ones. What does OpenTelemetry provide to keep both generations of telemetry queryable together during that transition?

Check the answer

B. OpenTelemetry publishes versioned, machine-readable schema files describing exactly how attributes changed between convention versions. Combined with the schema URL on each Resource, tooling can translate telemetry produced under an old version into the new shape without forcing every service to upgrade at once.

Q43 (API & SDK). An asynchronous (observable) metric instrument, such as an ObservableGauge, is registered with a callback function. When does that callback actually run?

Check the answer

C. Asynchronous instruments are callback-driven precisely so the SDK can pull a current value only when it's actually about to export — avoiding the overhead of the application pushing a value on every change, which is the synchronous instruments' job instead.

Q44 (Collector). A platform team wants a Collector instance with direct, low-latency access to node- and pod-level metadata — for a k8sattributes processor to enrich telemetry with k8s.pod.name and k8s.node.name before anything leaves the node. Which deployment shape fits best?

Check the answer

B. An agent-shaped Collector — DaemonSet or sidecar — is the only deployment mode with direct, low-latency access to node- and pod-level context. A central gateway is the right place for fleet-wide work like tail sampling and redaction, but it doesn't sit close enough to the workload to attach that local metadata cheaply.

Q45 (API & SDK). Two microservices in the same call chain are each independently configured with TraceIdRatioBased(0.1) as their sampler — neither wrapped in ParentBased. What is the likely consequence for a single end-to-end trace?

Check the answer

B. Without ParentBased, each service evaluates the ratio independently rather than deferring to the parent's decision — for a single trace this can mean service A samples it and service B doesn't (or vice versa), leaving a trace that's whole in one place and missing in the next. Wrapping in ParentBased is what keeps a decision consistent end to end.

Score yourself

☺ Like you're 10: Count your correct answers out of 45, compare against the real 75% pass mark, then look at which of the four systems cost you the most points — that second part is the useful part.

The Linux Foundation's Multiple Choice Exam FAQ states plainly that "a score of 75% or above must be earned to pass the Multiple Choice Exam," and that requirement covers every LF multiple-choice exam, OTCA included. On a 45-question paper, 75% of 45 is 33.75 — so 34 out of 45 (75.6%) is the number to clear, and clearing it by more than a hair is the sensible target, because this paper's difficulty is not calibrated to the real one: the wording is ours, not the CNCF's, and 75% here is not the same event as 75% there.

Before you total anything: the domain split below — 21 / 12 / 8 / 4 — comes from applying the official 46/26/18/10% weights to 45 questions. The raw shares are 20.7, 11.7, 8.1, and 4.5, and only one of those rounds cleanly. API & SDK (20.7) and Collector (11.7) round up to 21 and 12; Fundamentals (8.1) rounds down to 8. That leaves Debugging's 4.5 as an exact tie — rounding it up would push the paper to 46 questions, so it's rounded down to 4 to land the total on exactly 45. There's nothing principled in that last call; it's the arithmetic of hitting the target length, and it's the same split this course's Set 2 paper uses, so the two scores stay directly comparable.

DomainOfficial weightQuestions hereYour scoreIf you're under two-thirds, go here
🐘 The OpenTelemetry API and SDK46%21Q1, 4, 6, 9, 11, 13, 15, 16, 19, 21, 24, 26, 28, 30, 31, 34, 36, 39, 41, 43, 45 — /21OTCA — the exam · The OpenTelemetry Data Model
🦫 The OpenTelemetry Collector26%12Q2, 7, 10, 14, 17, 22, 25, 29, 32, 37, 40, 44 — /12The OpenTelemetry Collector
🦉 Fundamentals of Observability18%8Q3, 8, 12, 18, 23, 27, 33, 38 — /8The OpenTelemetry Data Model
🦊 Maintaining and Debugging Observability Pipelines10%4Q5, 20, 35, 42 — /4OTCA — the exam
Total100%45 questions/4534/45 (75.6%) as the target
◆ Key idea

A 34/45 built from four solid domains and a 34/45 built from three near-perfect domains plus a near-zero on the 46%-weighted API & SDK domain are very different results — the second is one heavier real-exam draw away from failing, even though both score the same total here. Always do the per-domain arithmetic, not just the headline number, and fix in weight order: API & SDK and Collector are 72% of the paper between them.

Turning a wrong answer into revision

☺ Like you're 10: For each one you missed, write down why your answer was wrong — not why the right one was right — then go read exactly the page that covers it.

This is the highest-value part of the exercise and almost nobody does it properly. Reading the correct answer produces recognition; writing down, in one sentence, why your own answer failed produces the discrimination that survives to exam day. Group your misses by domain when you're done — three misses in one domain is a revision session; three misses spread across all four is just a normal day. Beyond the domain pages linked in the table above, the practice question bank drills the same traps in isolation — endpoint/protocol mismatches, unwired Collector components, samplers applied without ParentBased — and the study plan turns a weak domain into a scheduled block of reading rather than a vague intention. Once this paper is genuinely solid, not just recently reviewed, move on to Set 2 for a second, independent measurement.

🎬 At Mission Control
🐰

Remy the Rabbit: Thirty-nine out of forty-five! Sampler behavior, span kinds, the unwired-processor trap — done, done, done, next!

🐢

Timmy: Which domain hid your misses, Remy? Thirty-nine sounds great until one 46%-weighted domain swallowed four of the six.

🐰

Remy the Rabbit: ...API & SDK, actually. I kept forgetting ParentBased matters when two services both set a ratio sampler.

🐘

Ellie: That's not a speed problem, then. You answered fast and confidently — you were just confidently wrong on one specific mechanism. Reread that one paragraph slowly before you sit anything else.

👺

Gizmo: Or just re-sit this exact paper four more times until the letters are muscle memory. Perfect score by Friday! 😏

🦊

Foxy: The letters don't reshuffle here, Gizmo — this is a static page, not the interactive quiz. Memorizing "it was C" teaches nothing that survives contact with different wording.

🐢

Timmy: Fix the real gap, then sit Set 2 once it's actually fixed — not before, or you'll just confirm the same gap twice under a different question number.

🐢 Timmy's checkpoint

1. Why does this paper assign questions to each domain in the same proportion as the real exam's official weights, rather than spreading them evenly across all four? 2. What's the safe assumption about guessing on the OTCA, and what strategy follows from it? 3. Why can this page's 45-question count not be treated as a preview of the real exam's actual question count? 4. You score 34/45 overall but only 1/4 on the Debugging domain — why is that more actionable than a flat 75.6% average would suggest? 5. Which exam details should you never trust from a third-party page, this one included?

Check your answers
  1. Because that's exactly how the CNCF builds the real paper's marks — 46% API & SDK, 26% Collector, 18% Fundamentals, 10% Debugging — so practicing (and scoring) in that same proportion is the closest a study paper can get to the real thing, and it makes a weak domain here point at a genuinely under-weighted revision gap rather than an artifact of even spacing.
  2. Nothing published suggests a wrong guess is scored worse than a blank answer on a Linux Foundation multiple-choice exam — so the strategy is unambiguous: never leave a question unanswered. Eliminate what you can, then commit to your best remaining option.
  3. Because the Linux Foundation has never published the OTCA's real question count. The 45 here is a study convention calibrated to the one figure that is published — the 90-minute duration — not a stand-in for a number the CNCF has actually stated.
  4. Because a flat 75.6% hides where the real gap sits. A domain score of 1/4 is a small sample, but combined with the 10% weight it's still a concentrated, nameable content gap fixable by rereading one page — while the headline average alone wouldn't tell you where to focus at all.
  5. Duration, question count, pass mark, price, retake policy, eligibility window, certification validity — and, over a long enough period, the domain weights themselves. Confirm them on the official Linux Foundation OTCA page and the CNCF certification page before registering — they are the only authority.

That's the full sitting. Reset the clock, close every tab except this one, and let the 45 questions above show you exactly which of the four domains is still soft — then go fix precisely that, and nothing else, before you move on to Set 2.

⏱ The two OTCA papers

Set 1 (you are here) · Set 2. Both are 45 questions weighted to the same 21 · 12 · 8 · 4 domain split and scored against the same published 75% pass mark, so the two scores are directly comparable — sit them a few days apart, not back to back, so the second one measures knowledge rather than short-term memory of the first. See the OTCA study plan for where each paper belongs in the weeks before your sitting, practice questions for drilling between papers, and OTCA — the exam for the domain pages themselves.