Google Cloud Professional Data Engineer · 22% practice allocation

Google Cloud Professional Data Engineer: Designing data processing systems Practice Questions

5 free sample questions from the Designing data processing systems domain, with answers and explanations. The full Professional Data Engineer bank has 252 questions across 5 domains. Questions are scenario-based and written from the official Google Cloud exam guide.

1.

A company processes IoT sensor data with Dataflow, writing results to BigQuery. The pipeline occasionally encounters duplicate events from the source (sensors may retry). The company uses BigQuery as the source of truth for analytics. How should you handle deduplication?

  • A. Accept duplicates in BigQuery and deduplicate during analysis queries using GROUP BY and ROW_NUMBER()
  • B. Let duplicates flow to BigQuery and use INSERT OR IGNORE on the BigQuery side with a unique constraint
  • C. Implement deduplication in Dataflow using a Stateful ParDo with a side input bloom filter✓ Correct
  • D. Configure Dataflow to use exactly-once processing semantics and rely on the framework to deduplicate
Explanation

Option 1 is correct. Stateful ParDo with a bloom filter (or dedup state) can deduplicate events in Dataflow before writing to BigQuery, ensuring clean data upstream. This is the most reliable approach. Option 2 is partially viable but INSERT OR IGNORE is not a native BigQuery operation (you'd need MERGE or upserts via DML, which is slower). Option 3 is misleading; exactly-once processing in Dataflow does not deduplicate application-level duplicates (sensor retries)—it only prevents framework-level duplication. Option 4 is poor practice; deduplicating during queries is inefficient (slower analytics) and masks data quality issues.

2.

A healthcare provider is storing 10 years of de-identified patient records in BigQuery and needs to comply with HIPAA requirements, including audit logging and data residency. The DLP API is being used to detect sensitive information. Which of the following does the DLP API NOT directly provide?

  • A. Generation of de-identification rules to redact or mask detected sensitive values
  • B. Detection of personally identifiable information (PII) patterns such as Social Security Numbers or medical record numbers
  • C. Inspection and classification of sensitive data within BigQuery tables or Cloud Storage files
  • D. Automatic encryption and key management for sensitive fields in BigQuery tables✓ Correct
Explanation

Option 1 is correct: The DLP API is a detection and classification service, not an encryption or key management service. It identifies sensitive data but doesn't encrypt it or manage keys. Encryption is handled separately via CMEK, TDE (Transparent Data Encryption), or other mechanisms. The DLP API's role is to find sensitive data so you can decide how to protect it, not to encrypt it directly.

Option 0 is incorrect: This is exactly what the DLP API does—it has pre-built and custom infoTypes to detect SSNs, medical record numbers, phone numbers, credit card numbers, and other PII.

Option 2 is incorrect: DLP API can inspect BigQuery tables and Cloud Storage files directly using built-in connectors. Classification and inspection are core DLP features.

Option 3 is incorrect: The DLP API can generate de-identification transformations including redaction rules (replacing sensitive values with 'REDACTED'), masking, and bucketing. It also supports custom transformation rules. This is a standard DLP capability.

3.

Your company processes daily batch jobs that transform 5 TB of data in Cloud Storage using Spark. The jobs run once per day at 2 AM and must complete within 2 hours. Compute resources are completely idle outside the job window. Which approach minimizes cost while meeting the SLA?

  • A. Use BigQuery with Spark-like transformations via federated queries on Cloud Storage
  • B. Create an on-demand Dataproc cluster via Cloud Scheduler, terminate after job completion✓ Correct
  • C. Run a Dataflow batch pipeline with autoscaling and shuffle service enabled
  • D. Use a persistent Dataproc cluster with autoscaling, set minimum nodes to 1, maximum to 50
Explanation

Option 2 is correct because on-demand cluster creation eliminates idle compute costs outside the 2-hour window; Cloud Scheduler can trigger cluster creation and teardown automatically. Option 1 fails the cost requirement—even with 1 minimum node running 22 hours daily unnecessarily increases costs. Option 3 is feasible but less efficient; BigQuery's federated queries on Cloud Storage are slower for complex Spark transformations and can be more expensive at scale. Option 4 is reasonable but Dataflow has higher base costs than Dataproc for batch; Dataflow excels at streaming and autoscaling, but on-demand cluster creation is more cost-effective here.

4.

You are designing a Bigtable schema for a multi-tenant SaaS analytics platform where each tenant has millions of time-series events. Queries often filter by tenant_id, metric_type, and timestamp range. Which row key design is most efficient?

  • A. metric_type | tenant_id | timestamp
  • B. reverse_timestamp | tenant_id | metric_type
  • C. tenant_id | timestamp | metric_type
  • D. tenant_id | metric_type | reverse_timestamp✓ Correct
Explanation

Option 1 is correct. This row key design ensures that queries filtering by tenant and metric type hit a contiguous range of rows (good for Bigtable's range-based retrieval), and reverse_timestamp (e.g., Long.MAX_VALUE - timestamp) groups recent events together, avoiding hot spots. Option 2 is suboptimal because leading with reverse_timestamp causes hot spots during writes (all recent events concentrate on a few tablets). Option 3 is poor because metric_type (likely low cardinality) at the front creates uneven distribution and scattered queries. Option 4 uses sequential timestamp which again causes hot spots on the tablet containing the current time range.

5.

A company uses BigQuery for analytics and implements a disaster recovery (DR) strategy where daily snapshots of critical datasets are created and retained for 30 days. Snapshots are stored in a separate GCP project (the DR project) with different IAM policies than the primary project. An incident occurs: a table is accidentally truncated in production, and the team needs to restore from a snapshot in the DR project. What is the primary limitation the team will encounter, and how should this be addressed in the DR plan?

  • A. Snapshots can be shared across projects via Sharing mode, but the DR project must have 'bigquery.admin' role on the source project; after restoring, validate that row counts match
  • B. Snapshots in the DR project cannot be queried directly; you must clone the snapshot to a table first, which may take several hours for large tables✓ Correct
  • C. Snapshots expire after 24 hours in a different project due to cross-project isolation; the team should store snapshots in Cloud Storage instead
  • D. BigQuery snapshots cannot be moved between projects; you must re-create the snapshot in the DR project immediately after each backup
Explanation

Option 0 is correct: BigQuery snapshots are read-only logical copies; they cannot be directly queried or restored. To recover, you must clone the snapshot into a new table using bq cp --clone, which requires a copy operation. For large tables (e.g., 100+ GB), this operation may take minutes to hours depending on the table size and system load. The DR plan should account for this recovery time in the RTO calculation. This is a realistic constraint of BigQuery's snapshot model.

Option 1 is incorrect: Snapshots can be moved (referenced) across projects using cross-project snapshot sharing. The source and target projects must have proper IAM permissions, but it's technically possible. The limitation isn't movement but the clone operation required for recovery.

Option 2 is incorrect: Snapshots don't expire after 24 hours in different projects. They persist for the retention period (30 days in this case), regardless of project boundaries. Storing in Cloud Storage is an alternative but adds complexity (serialization/deserialization costs and latency).

Option 3 is incorrect: While snapshots can be shared via cross-project permissions, requiring 'bigquery.admin' on the source project is overly permissive. Sharing snapshots requires 'bigquery.dataEditor' on the dataset containing the snapshot. The row count validation is good practice but isn't the primary limitation to address.

Test yourself across every Professional Data Engineer domain

The free Professional Data Engineer practice test mixes about 20 questions weighted like the exam. The full 252-question bank adds instant grading, flashcards and a timed mock exam.

Study this domain

Designing data processing systems study guide (Professional Data Engineer) →

Other Professional Data Engineer domains

← All Google Cloud Professional Data Engineer study resources