Google Professional Cloud Database Engineer (PCDE) — Questions 676750

1000 questions total · 14pages · All types, answers revealed

Page 9

Page 10 of 14

Page 11
676
MCQhard

A company has a BigQuery dataset with many views. They need to ensure that only the latest 30 days of data is used in BI reports for performance. The source table is partitioned by ingestion_time. Which approach reduces query cost and improves performance?

A.Use BigQuery BI Engine to cache results
B.Create a view with WHERE _PARTITIONTIME >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
C.Create a materialized view with the date filter
D.Use a scheduled query to copy the last 30 days to a separate table
AnswerC

Materialized views precompute and store the filtered results, reducing query cost and improving performance through incremental updates.

Why this answer

Option C is correct because a materialized view precomputes and stores the filtered result set, allowing BigQuery to serve BI queries directly from the materialized view's storage without scanning the entire source table. This eliminates the need to re-process the full table on every query, significantly reducing query cost and improving performance for the 30-day sliding window.

Exam trap

Google Cloud often tests the distinction between standard views (which are just saved queries) and materialized views (which store results), leading candidates to incorrectly choose a standard view with a WHERE clause, thinking it will reduce cost, when in fact it does not reduce data scanned.

How to eliminate wrong answers

Option A is wrong because BI Engine caches query results in memory, but it does not reduce the amount of data scanned on the first query or when the cache is invalidated; the source table must still be fully scanned initially, and the 30-day filter is not automatically applied. Option B is wrong because a standard view with a WHERE clause on _PARTITIONTIME does not precompute or store results; each query against the view still scans all partitions that match the filter, and BigQuery must evaluate the filter on every execution, which does not reduce cost or improve performance compared to querying the table directly. Option D is wrong because a scheduled query that copies the last 30 days to a separate table introduces data duplication, additional storage costs, and maintenance overhead (e.g., scheduling, cleanup of old data), and it does not provide the automatic, real-time sliding window that a materialized view offers.

677
MCQhard

You are building a globally distributed leaderboard application that requires strongly consistent reads with latency under 10 ms and high write throughput. Which Google Cloud database service is most suitable?

A.Cloud Bigtable
B.Cloud Spanner
C.Memorystore
D.Firestore
AnswerB

Spanner offers strong consistency across regions, low latency, and high write throughput.

Why this answer

Cloud Spanner is the correct choice because it provides strongly consistent reads across globally distributed regions with latency under 10 ms, while also supporting high write throughput. It uses TrueTime and synchronous replication to ensure ACID transactions and global consistency, meeting the exact requirements of a globally distributed leaderboard application.

Exam trap

The trap here is that candidates often confuse 'low latency' with 'strong consistency' and choose Cloud Bigtable or Memorystore for their speed, overlooking the critical requirement for globally consistent reads that only Spanner can provide.

How to eliminate wrong answers

Option A is wrong because Cloud Bigtable is a NoSQL wide-column database designed for high throughput and low latency, but it offers only eventual consistency, not strongly consistent reads. Option C is wrong because Memorystore is an in-memory cache (Redis/Memcached) that provides low latency but lacks native global distribution and strong consistency across regions; it is typically used as a caching layer, not a primary globally consistent database. Option D is wrong because Firestore provides strong consistency within a single region but offers eventual consistency for multi-region deployments, and its write throughput is limited compared to Spanner, making it unsuitable for a globally distributed leaderboard with high write throughput.

678
MCQeasy

Refer to the exhibit. You are reviewing a Firestore security rules file. What is the main security flaw in the database schema design that these rules expose?

A.The rules do not protect against brute force attacks
B.The senderId field is not indexed
C.The delete rule allows admin to delete any message
D.Users can set the visibility field, allowing them to make messages public
AnswerD

The create rule does not restrict the visibility value, so users can bypass intended privacy.

Why this answer

Option D is correct because the Firestore security rules allow any authenticated user to set the `visibility` field on a message document. This means a user could change the visibility to 'public', making private messages accessible to all users regardless of the intended audience. The rules do not validate that the user setting the visibility is the sender or an admin, exposing a data access control flaw.

Exam trap

Cisco often tests the misconception that indexing or brute force protection are security concerns in Firestore, when the real flaw is unvalidated field writes that bypass intended access control.

How to eliminate wrong answers

Option A is wrong because brute force attacks are mitigated by Firebase Authentication's built-in rate limiting and account locking, not by Firestore security rules; the rules shown do not expose any vulnerability to brute force. Option B is wrong because indexing is a performance optimization for queries, not a security mechanism; the absence of an index does not create a security flaw in the schema design. Option C is wrong because the delete rule shown allows only the sender or an admin to delete a message, which is a legitimate access control pattern; the flaw is not that admins can delete messages, but that users can arbitrarily set visibility.

679
Multi-Selecteasy

A DevOps team is using Pub/Sub to process high-volume event streams. They notice that the subscriber is falling behind and messages are being redelivered frequently. They need to increase throughput. Which TWO actions should they take? (Choose TWO)

Select 2 answers
A.Increase the acknowledgement deadline to give subscribers more time to process messages
B.Enable message ordering keys to ensure orderly processing
C.Change the subscription type from pull to push for faster delivery
D.Increase the number of parallel pull consumers in the subscriber
E.Decrease the flow control max outstanding messages to reduce load on subscribers
AnswersA, D

A longer acknowledgement deadline reduces the chance of redelivery due to timeout, allowing more time for processing.

Why this answer

Increasing the acknowledgement deadline gives subscribers more time to process messages, reducing redeliveries. Using multiple parallel pull consumers increases the rate at which messages are pulled. Flow control should be increased, not decreased, to allow more outstanding messages.

Ordering keys reduce throughput because they limit parallelism. Subscription type is fixed at creation time.

680
MCQmedium

A financial company runs BI queries on a BigQuery table that is partitioned by ingestion time. The table is 1 TB and receives streaming inserts every minute. Analysts query the last 24 hours of data. The queries are slow. The table is clustered by transaction_id. What is the likely cause?

A.Streaming buffer causes delays.
B.Queries use SELECT *.
C.Partition expiration is set too short.
D.The cluster column is not used in queries.
AnswerD

Without a filter on transaction_id, clustering provides no benefit; data within partitions is unordered.

Why this answer

Clustering sorts data within partitions based on the cluster column. If queries filter or aggregate by `transaction_id`, clustering can significantly reduce the amount of data scanned. However, if analysts query the last 24 hours of data without referencing `transaction_id` in WHERE or GROUP BY clauses, the clustering provides no benefit, and the query must scan the entire partition, leading to slow performance.

Exam trap

Cisco often tests the misconception that clustering alone speeds up all queries, when in reality it only helps if the cluster column is used in filters or aggregations; the trap is assuming any table with clustering will automatically improve query performance regardless of query patterns.

How to eliminate wrong answers

Option A is wrong because the streaming buffer primarily affects data consistency and latency for recently inserted rows, not the overall query speed on a 1 TB table queried over 24 hours. Option B is wrong because while SELECT * can increase data scanned, it is not the likely cause of slowness given the table is partitioned and clustered; the core issue is that clustering is not being leveraged. Option C is wrong because partition expiration controls data retention, not query performance; a short expiration would remove old data, not slow queries on existing data.

681
MCQeasy

A developer wants to deploy a containerized application to Cloud Run using the command line. They need to set the maximum number of concurrent requests per container instance to 80. Which flag should they use with 'gcloud run deploy'?

A.--platform
B.--cpu-throttling
C.--max-instances
D.--concurrency
AnswerD

--concurrency sets the maximum number of concurrent requests per instance.

Why this answer

Option D is correct because the `--concurrency` flag in `gcloud run deploy` directly sets the maximum number of simultaneous requests that a single container instance can handle. By specifying `--concurrency=80`, the developer limits each instance to processing up to 80 concurrent requests, which helps control resource usage and scaling behavior in Cloud Run.

Exam trap

Cisco often tests the distinction between instance-level limits (`--max-instances`) and per-instance request limits (`--concurrency`), leading candidates to confuse scaling limits with concurrency settings.

How to eliminate wrong answers

Option A is wrong because `--platform` specifies the target platform (e.g., `managed` or `gke`) for the deployment, not the request concurrency limit. Option B is wrong because `--cpu-throttling` does not exist as a valid flag in `gcloud run deploy`; Cloud Run uses CPU throttling based on request activity, but there is no such flag to set concurrency. Option C is wrong because `--max-instances` sets the maximum number of container instances that can be created for the service, not the number of concurrent requests per instance.

682
MCQmedium

An organization is implementing Binary Authorization for GKE. They need to ensure that only container images signed by their CI system are deployed. Which service must be enabled and configured to enforce this?

A.Cloud Key Management Service (KMS)
B.Artifact Registry with Container Analysis
C.Binary Authorization attestor and policy
D.Cloud Build service account with 'iam.serviceAccountUser' role
AnswerC

Binary Authorization uses attestors and policies to enforce that only signed images are deployed.

Why this answer

Binary Authorization is a managed service that requires an attestor to verify signatures. The attestor is configured with a public key, and the CI system signs images with the private key.

683
MCQhard

A developer reports that their application cannot connect to a Cloud SQL instance using private IP, but public IP works. The Cloud SQL instance is in VPC peering with the application's VPC. The application is in the same region. What is the most likely cause?

A.The VPC peering connection is not established.
B.The private IP range of the Cloud SQL instance conflicts with the application's VPC.
C.The Cloud SQL proxy is not running.
D.The Cloud SQL instance has 'require SSL' enabled.
AnswerB

IP overlap in peered VPCs causes routing issues, preventing private IP connectivity while public IP remains unaffected.

Why this answer

Option B is correct because when a Cloud SQL instance is configured with a private IP address that overlaps with the application's VPC CIDR range, the VPC peering connection cannot route traffic correctly. This is due to the fact that VPC peering requires non-overlapping IP ranges to establish proper routing tables; overlapping ranges cause route conflicts and connectivity failures. Since public IP works, the issue is isolated to private IP routing, making IP range conflict the most likely cause.

Exam trap

Google Cloud often tests the misconception that VPC peering automatically handles overlapping IP ranges, when in fact overlapping ranges cause routing failures that prevent private IP connectivity even if the peering connection itself is established.

How to eliminate wrong answers

Option A is wrong because if the VPC peering connection were not established, public IP would also fail (since the application would be in a different network), and the question states public IP works. Option C is wrong because the Cloud SQL proxy is a tool for connecting to Cloud SQL via public IP or IAM authentication, but it is not required for private IP connectivity; the application can connect directly to the private IP without the proxy. Option D is wrong because requiring SSL affects encryption of the connection, not the ability to establish a TCP connection; if SSL were required, the connection would fail with an SSL error, not a complete inability to connect via private IP.

684
Multi-Selectmedium

A database engineer is designing a schema for a Cloud Spanner database. Which three practices should they follow to ensure good performance? (Choose three.)

Select 3 answers
A.Use split points to distribute data across nodes.
B.Use locking read (SELECT ... FOR UPDATE) for all transactional reads.
C.Design primary keys to avoid monotonically increasing values near the beginning of the key.
D.Use interleaved tables for parent-child relationships to colocate data.
E.Create secondary indexes on every column to speed up queries.
AnswersA, C, D

Explicit splits help avoid hot spots.

Why this answer

Option A is correct because explicitly defining split points in Cloud Spanner allows you to control how data is distributed across nodes, which can prevent hot spots and improve read/write throughput. By specifying split boundaries, you ensure that frequently accessed data is spread evenly, avoiding performance bottlenecks.

Exam trap

Google Cloud often tests the misconception that all transactional reads require locking to ensure consistency, but Cloud Spanner's snapshot isolation provides serializable reads without locks, making SELECT ... FOR UPDATE an anti-pattern for most workloads.

685
MCQmedium

A DevOps engineer needs to set up billing export to analyze costs by team and environment. They have organized projects with labels: team (e.g., 'platform', 'data') and environment (e.g., 'prod', 'dev'). Which billing export configuration should they use?

A.Use the Cloud Billing API to stream costs and store them in Firestore.
B.Export billing data to a Cloud Storage bucket and use a custom script to parse labels.
C.Set up BigQuery billing export in the billing account. The export includes labels, enabling cost analysis by team and environment.
D.Configure budgets and alerts for each label combination.
AnswerC

BigQuery export includes labels, resource IDs, and more, allowing straightforward SQL queries.

Why this answer

Option C is correct because BigQuery billing export automatically includes resource labels in the exported tables, allowing direct SQL-based cost analysis by team and environment without custom scripting. This is the native, scalable, and recommended approach for multi-dimensional cost breakdowns in Google Cloud.

Exam trap

The trap here is that candidates confuse budgets/alerts (Option D) with cost analysis exports, or assume that Cloud Storage export (Option B) is simpler than BigQuery, missing that BigQuery's native label support eliminates the need for custom parsing.

How to eliminate wrong answers

Option A is wrong because the Cloud Billing API streams cost data but does not automatically include labels in a queryable format, and Firestore is not designed for analytical cost queries. Option B is wrong because exporting to Cloud Storage requires a custom script to parse labels from the CSV/JSON files, adding complexity and maintenance overhead compared to BigQuery's native label support. Option D is wrong because budgets and alerts only notify on spending thresholds; they do not provide historical cost analysis or label-based breakdowns.

686
MCQeasy

A team wants to visualize real-time CPU utilization across a fleet of Compute Engine instances in a single dashboard. Which chart type in Cloud Monitoring is most appropriate?

A.Stacked bar chart
B.Scatter plot
C.Heatmap
D.Line chart
AnswerD

Correct. Line charts are designed for time-series data, showing how metrics change over time.

Why this answer

Line charts are ideal for time-series data like CPU utilization over time, showing trends and variations. Stacked bar charts are better for categorical comparisons, heatmaps for density, and scatter plots for correlation. For multiple instances over time, line charts are standard.

687
MCQmedium

A company has multiple teams in a GCP organization. They want to isolate environments (prod, staging, dev) and give each team a separate project for development. Which folder structure is recommended?

A.Create a flat list of projects with naming conventions like `team-project-env`
B.Create a single folder per team, with projects for each environment inside
C.Create folders for each environment (prod, staging, dev), and within each, folders for teams/products containing projects
D.Create folders per product, and within each, environment folders
AnswerC

This is the Google-recommended structure for environment isolation and policy inheritance.

Why this answer

Option C is correct because it aligns with Google Cloud's recommended resource hierarchy for multi-team, multi-environment isolation. By creating folders for each environment (prod, staging, dev) and then sub-folders for teams/products, you can apply consistent IAM policies and organization policies at the environment level (e.g., restrict prod access) while delegating project-level control to teams. This structure also supports the principle of least privilege and simplifies auditing.

Exam trap

Cisco often tests the misconception that organizing by team first (Option B) is simpler, but the trap is that this ignores the need for environment-wide policy enforcement, which is a core requirement for compliance and security in multi-environment setups.

How to eliminate wrong answers

Option A is wrong because a flat list of projects with naming conventions does not provide hierarchical isolation; IAM policies must be applied per project, leading to management overhead and increased risk of misconfiguration. Option B is wrong because creating a single folder per team with environment projects inside prevents applying environment-wide policies (e.g., deny public IPs on all prod projects) without duplicating policies across team folders. Option D is wrong because organizing by product first and then environment makes it difficult to apply consistent environment-level controls (e.g., compliance rules for prod) across different products, and it mixes team boundaries with environment boundaries, complicating access management.

688
Multi-Selectmedium

A team wants to use Cloud Profiler to identify CPU hot functions in a production service. Which TWO statements about Cloud Profiler are correct? (Choose 2)

Select 2 answers
A.It provides flame graphs to visualize function call stacks
B.It can profile only Java applications
C.It has a typical overhead of about 0.5% of CPU
D.It requires modifying application code to add profiling calls
E.It profiles all functions by default with no configuration
AnswersA, C

Flame graphs are a key visualization in Cloud Profiler.

689
MCQmedium

Your application uses structured logging in JSON format. You want to ensure that each log entry is automatically correlated with the corresponding trace in Cloud Trace. Which field must be included in the JSON payload?

A."severity" field set to "ERROR"
B."httpRequest" object with requestUrl and status
C."trace" field with the trace ID formatted as projects/PROJECT_ID/traces/TRACE_ID
D."labels" field containing custom metadata
AnswerC

Correct. The trace field in structured logs enables correlation with Cloud Trace.

Why this answer

Cloud Logging correlates logs with traces via the 'logging.googleapis.com/trace' field (or 'trace' in the LogEntry), which should contain the trace ID in the format 'projects/[PROJECT_ID]/traces/[TRACE_ID]'. The 'httpRequest' field is for HTTP request data, 'severity' for log level, and 'labels' for custom metadata. Only the trace field provides correlation.

690
MCQhard

Refer to the exhibit. A database administrator notices that the Spanner instance has only 3 nodes, but the application experiences high read latency during peak hours. The team needs to improve performance without over-provisioning. What should they do?

A.Increase node count to 6
B.Use an interleaved table
C.Enable point-in-time recovery
D.Change to a multi-region configuration
E.Create a secondary index
AnswerE

Secondary indexes enable faster lookups and avoid full table scans, improving read latency.

Why this answer

Option C is correct because creating a secondary index can reduce full table scans, lowering read latency without requiring additional nodes. Option A (increase nodes) is over-provisioning if current CPU is low. Option B (interleaved table) may improve join performance but not general reads.

Option D (PITR) increases storage cost without improving latency. Option E (multi-region) adds write latency and cost.

691
MCQmedium

Your Cloud SQL for MySQL instance is experiencing high CPU usage due to a burst of concurrent connections. You want to handle up to 500 concurrent connections without over-provisioning the instance. What should you do?

A.Create read replicas to distribute read traffic.
B.Right-size the instance to a tier that supports 500 concurrent connections.
C.Enable automatic storage increase to handle the load.
D.Use Cloud SQL Auth Proxy with a connection pooler like PgBouncer.
AnswerB

Choosing a tier with enough vCPU and memory allows 500 connections without over-provisioning.

Why this answer

Cloud SQL for MySQL has a maximum connections limit (based on tier). To handle 500 concurrent connections, you need to choose a tier with sufficient vCPU and memory. The max_connections is typically calculated as (available memory)/1257280 * 500, but the simplest approach is to use a tier that supports at least 500 connections (e.g., db-n1-standard-2 or higher).

However, using Cloud SQL Auth Proxy with PgBouncer is for PostgreSQL, not MySQL. Connection pooling with ProxySQL or a similar tool could help, but the question says 'without over-provisioning', so right-sizing the tier is key.

692
Multi-Selecthard

Which THREE are valid considerations when designing BigQuery tables for BI reporting?

Select 3 answers
A.Use nested and repeated fields to avoid JOINs
B.Create indexes on frequently queried columns
C.Use partitioning on date columns to reduce query cost
D.Cluster tables on high-cardinality columns used in filters
E.Denormalize dimension tables into fact tables for common queries
AnswersC, D, E

Partitioning is a key cost-control feature.

Why this answer

Option C is correct because partitioning BigQuery tables by date columns (e.g., using _PARTITIONTIME or a DATE/TIMESTAMP column) allows the query engine to prune entire partitions during query execution. This significantly reduces the amount of data scanned, directly lowering query costs (since BigQuery charges per byte processed) and improving performance for time-range filters.

Exam trap

Google Cloud often tests the misconception that traditional relational database features like indexes apply to BigQuery, but BigQuery's architecture relies on partitioning and clustering instead of indexes for query optimization.

693
Multi-Selecthard

Which THREE considerations are critical when migrating from Cassandra to Cloud Bigtable?

Select 3 answers
A.Using CQL for queries
B.Denormalizing data to avoid joins
C.Maintaining eventual consistency model
D.Row key design for even distribution
E.Using secondary indexes for efficient filtering
AnswersB, C, D

Bigtable is a wide-column store and does not support joins; data must be denormalized.

Why this answer

Option B is correct because Cloud Bigtable is a NoSQL wide-column database that does not support joins. Denormalization is a standard practice in Bigtable to model relational data into a single table, ensuring efficient single-row lookups and avoiding the performance penalty of multi-table queries that would require application-level joins.

Exam trap

Google Cloud often tests the misconception that CQL is a universal NoSQL query language, but in reality it is proprietary to Cassandra and not compatible with Bigtable's API.

694
Multi-Selectmedium

A DevOps team uses Cloud Build to build a multi-service application. They have three services: frontend, backend, and worker. They want to run builds for all three services in parallel to speed up the pipeline. Which of the following cloudbuild.yaml configurations are valid for achieving parallel execution? (Choose TWO).

Select 1 answer
A.Set waitFor: ['-'] on the first step and omit waitFor on the others.
B.Set waitFor: ['frontend', 'backend', 'worker'] on a subsequent step to run after all three.
C.Set waitFor: ['-'] on all three steps.
D.Use a single step with multiple entrypoints and args.
E.Define three steps (frontend, backend, worker) without any waitFor field.
AnswersC

This makes each step run immediately, i.e., in parallel.

Why this answer

Parallel steps can be achieved by setting waitFor: ['-'] on each step. Another way is to use the 'waitFor' field to explicitly list dependencies. The correct options show valid parallel configuration.

695
MCQmedium

A financial services company runs a critical application on Cloud SQL for PostgreSQL. They require point-in-time recovery (PITR) with the ability to recover to any second within the past 7 days. However, their current backup configuration only allows recovery to the previous 7 days, but not within seconds. What should they do to enable PITR?

A.Enable point-in-time recovery and set the transaction log retention to 7 days.
B.Use the Cloud SQL query insight feature to replay queries.
C.Enable binary logging and set the binary log retention period to 7 days.
D.Increase the number of automated backups to 7 per day.
AnswerA

PITR in Cloud SQL for PostgreSQL uses transaction logs (WAL) retained for the specified period.

Why this answer

Option A is correct because enabling point-in-time recovery (PITR) on Cloud SQL for PostgreSQL automatically uses write-ahead log (WAL) archiving to allow recovery to any second within a specified retention period. Setting the transaction log retention to 7 days ensures that the archived WAL segments are kept for exactly 7 days, enabling recovery to any point within that window. This directly satisfies the requirement for second-granularity recovery over the past 7 days.

Exam trap

The trap here is that candidates confuse the number of automated backups (full backups) with the retention of transaction logs required for PITR, leading them to select Option D, or they mistakenly apply MySQL binary logging concepts (Option C) to a PostgreSQL environment.

How to eliminate wrong answers

Option B is wrong because Cloud SQL Query Insights is a performance monitoring and diagnostic feature that captures query metrics and execution plans; it does not replay queries or provide any recovery capability. Option C is wrong because binary logging is a MySQL-specific feature; Cloud SQL for PostgreSQL uses WAL (write-ahead logging) for PITR, not binary logs, and there is no 'binary log retention period' setting for PostgreSQL. Option D is wrong because increasing the number of automated backups (e.g., to 7 per day) only increases the frequency of full backups, not the retention of transaction logs; PITR requires transaction log retention, not more full backups.

696
Matchingmedium

Match each Cloud SQL backup type to its retention policy.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

Configurable retention up to 365 days

Retained until manually deleted

Retained for point-in-time recovery window

Stored in a different region for disaster recovery

Defined start time and window for automated backups

Why these pairings

Cloud SQL backup types: Automated backups have configurable retention (default 7 days). On-demand backups are retained until deleted (max 365 days). Point-in-time recovery logs are kept for the same period as automated backup retention.

Common confusions involve swapping these policies.

697
MCQmedium

A company needs to control cost by setting a budget alert on their billing account. They want to be notified when spending exceeds 80% of the budget. What should they configure?

A.Export billing data to BigQuery and set up a scheduled query with a Cloud Function to send alerts.
B.Create a budget in the GCP Billing console with alert threshold at 80%.
C.Create a budget alert rule in Cloud Monitoring with a metric threshold.
D.Use Cloud Scheduler to run a script that checks billing API and sends email.
AnswerB

Budgets and alerts are configured in the Billing console with threshold rules.

Why this answer

Option B is correct because Google Cloud's native budget alerts in the Billing console allow you to set a threshold (e.g., 80%) and automatically send email notifications when actual spending exceeds that percentage of the budget. This is the simplest, most direct, and recommended approach for cost control without needing additional services or custom code.

Exam trap

The trap here is that candidates often over-engineer the solution by choosing complex automation (like BigQuery exports or Cloud Scheduler scripts) instead of recognizing that Google Cloud provides a simple, built-in budget alert feature in the Billing console that directly meets the requirement.

How to eliminate wrong answers

Option A is wrong because exporting billing data to BigQuery and setting up a scheduled query with a Cloud Function is overly complex and unnecessary for a simple threshold alert; it introduces latency, additional cost, and maintenance overhead when the built-in budget alert already provides the same functionality. Option C is wrong because Cloud Monitoring alert rules are designed for monitoring resource metrics (e.g., CPU, memory), not billing amounts; billing data is not exposed as a metric in Cloud Monitoring, so a metric threshold alert cannot be created for spending. Option D is wrong because using Cloud Scheduler to run a script that checks the billing API and sends email is a custom, brittle solution that requires managing authentication, error handling, and scheduling, whereas the native budget alert handles all of this automatically and reliably.

698
Multi-Selectmedium

A DevOps engineer is designing a landing zone for a large enterprise. Which THREE components are essential for a well-architected landing zone? (Choose THREE.)

Select 3 answers
A.A shared VPC project to host common network resources.
B.A centralized security project for services like Cloud Armor, Security Command Center, and Cloud DLP.
C.A centralized logging project to store audit logs from all projects.
D.A single billing account per team.
E.A separate project per developer for sandbox environments.
AnswersA, B, C

Shared VPC allows centralized network management and connectivity.

Why this answer

A landing zone typically includes a shared VPC for network connectivity, a centralized logging project for audit logs, and a security project for centralized security services like Cloud Armor and Security Command Center.

699
MCQmedium

An application running on Cloud SQL experiences high read latency. The team wants to offload read traffic from the primary instance and improve performance. Which approach should they take?

A.Create a single read replica and route read-only queries to it
B.Add more memory to the primary instance
C.Enable the query cache
D.Use Cloud SQL Auth Proxy
AnswerA

Read replicas handle SELECT queries, offloading the primary.

Why this answer

Cloud SQL read replicas allow distributing read traffic, reducing load on the primary instance and improving read performance.

700
MCQhard

A data analyst runs a query that joins two large tables on a high-cardinality column with many NULL values. Which action is most likely to resolve the error?

A.Use a DISTINCT clause on the join key.
B.Increase the query timeout setting.
C.Add a WHERE clause to filter out NULLs from the join key.
D.Use a UNION ALL to combine tables.
AnswerC

Filtering NULLs reduces row count and shuffle.

Why this answer

Option C is correct because filtering out NULLs from the join key with a WHERE clause prevents the database from attempting to match NULL values, which cannot be equated in a standard SQL join (since NULL != NULL). This reduces the cardinality of the join operation and avoids potential performance degradation or errors caused by the large number of NULLs being processed in a high-cardinality column.

Exam trap

The trap here is that candidates may think increasing the timeout (Option B) is a universal fix for any query error, when in reality the error is often due to resource exhaustion from NULL handling, not insufficient execution time.

How to eliminate wrong answers

Option A is wrong because using DISTINCT on the join key does not resolve the issue of NULLs in the join; it only removes duplicate non-NULL values from the result set, which does not address the underlying problem of NULL mismatches or performance. Option B is wrong because increasing the query timeout setting only allows the query to run longer without failing, but does not fix the root cause of the error (e.g., excessive memory or disk usage from NULL handling). Option D is wrong because UNION ALL combines results from two queries vertically, not horizontally; it does not perform a join and therefore cannot resolve errors related to joining on a high-cardinality column with NULLs.

701
MCQhard

A company has a BigQuery table with a TIMESTAMP column and wants to query data for a specific date range efficiently. Which WHERE clause ensures partition pruning if the table is partitioned by that TIMESTAMP column?

A.WHERE timestamp_col BETWEEN TIMESTAMP('2023-01-01') AND TIMESTAMP('2023-01-31')
B.WHERE TIMESTAMP_TRUNC(timestamp_col, DAY) BETWEEN '2023-01-01' AND '2023-01-31'
C.WHERE timestamp_col >= '2023-01-01' AND timestamp_col < '2023-02-01'
D.WHERE DATE(timestamp_col) BETWEEN '2023-01-01' AND '2023-01-31'
AnswerA

Direct comparison on the partition column allows BigQuery to prune partitions based on the range.

Why this answer

Option A is correct because it directly references the TIMESTAMP column without wrapping it in a function, allowing BigQuery's partition pruning to eliminate irrelevant partitions. When a table is partitioned by a TIMESTAMP column, the query engine can compare the partition boundaries directly against the literal TIMESTAMP values in the WHERE clause, scanning only the partitions that fall within the specified range.

Exam trap

Google Cloud often tests the misconception that any filter on a partitioned column will trigger pruning, but the trap here is that wrapping the partition column in a function (like DATE, TIMESTAMP_TRUNC, or implicit casts) disables pruning, so only a bare column reference with compatible literal types guarantees efficient partition elimination.

How to eliminate wrong answers

Option B is wrong because TIMESTAMP_TRUNC(timestamp_col, DAY) is a function applied to the partition column, which prevents partition pruning; BigQuery must evaluate the function for every row, scanning all partitions. Option C is wrong because comparing a TIMESTAMP column to a string literal ('2023-01-01') forces an implicit type conversion, which can disable partition pruning and may lead to incorrect results due to timezone or format assumptions. Option D is wrong because DATE(timestamp_col) is a function that extracts the date portion, and like other functions on the partition column, it disables partition pruning, causing a full table scan.

702
MCQhard

Your Cloud SQL for PostgreSQL instance is experiencing high CPU utilization during peak hours. You notice that the query `SELECT * FROM orders WHERE order_date >= '2024-01-01'` is frequently run against a table with 10 million rows. The table has a B-tree index on `order_date`. What is the most likely cause of the high CPU usage, and how should you address it?

A.The index is fragmented; rebuild the index to improve performance.
B.Increase the instance machine type to provide more CPU capacity.
C.The query retrieves all columns, causing significant heap lookup overhead; rewrite the query to select only required columns.
D.The index on `order_date` is not being used; add a hint to force index usage.
AnswerC

Selecting only needed columns reduces I/O and CPU, as fewer heap lookups are required.

Why this answer

Option C is correct because the query uses `SELECT *`, which forces PostgreSQL to fetch all columns from the heap (the main table storage) even though the index on `order_date` can efficiently locate the matching rows. This results in significant heap lookup (also known as bitmap heap scan or index scan with tuple retrieval) overhead, consuming CPU cycles for each row fetched. Reducing the selected columns to only those needed minimizes I/O and CPU usage by avoiding unnecessary data retrieval from the heap.

Exam trap

Google Cloud often tests the misconception that high CPU is always due to missing or unused indexes, but here the index is used and the real problem is the overhead of fetching all columns from the heap, which candidates overlook when they focus solely on index usage.

How to eliminate wrong answers

Option A is wrong because B-tree index fragmentation in PostgreSQL is typically not a primary cause of high CPU usage; while index bloat can affect performance, the main issue here is the `SELECT *` causing excessive heap lookups, not index fragmentation. Option B is wrong because increasing the instance machine type treats the symptom (high CPU) rather than the root cause (inefficient query design), and it incurs unnecessary cost without addressing the underlying query pattern. Option D is wrong because the index on `order_date` is very likely being used (PostgreSQL's planner will use it for a range scan on a large table), but the high CPU stems from the heap lookups for all columns, not from the index being ignored; forcing index usage would not reduce the heap access overhead.

703
MCQeasy

A team wants to automatically adjust the node count in a GKE cluster based on pending pod resource requests. Which component should they enable?

A.Cluster Autoscaler
B.Vertical Pod Autoscaler
C.Node auto-provisioning
D.Horizontal Pod Autoscaler
AnswerA

Cluster Autoscaler adjusts node count based on resource demands.

Why this answer

The Cluster Autoscaler automatically adds or removes nodes from the cluster based on pending pods or underutilized nodes.

704
MCQhard

You need to monitor a critical batch job that runs daily on Compute Engine. If the job does not complete within 2 hours, you want to be paged via PagerDuty. The job emits a custom metric 'batch_duration' as a GAUGE that records the duration of the last completed run. What alerting policy condition should you use?

A.Forecast condition: predict that duration will exceed 2 hours.
B.Metric absent condition: with duration of 2 hours on the 'batch_duration' metric.
C.Log-based metric alert: count log entries indicating job failure.
D.Metric threshold condition: threshold > 7200 (seconds) on the 'batch_duration' metric.
AnswerB

This triggers if the metric stops reporting for 2 hours, indicating the job did not complete.

Why this answer

Since the metric only has a value when the job completes, you need to detect the absence of data. If the job fails or doesn't run, the metric will stop reporting. A 'metric absent' condition triggers if no data is received for a specified duration (e.g., 2 hours).

This is more reliable than a threshold on the gauge value, which might still show an old value.

705
MCQmedium

A DevOps engineer needs to create a dashboard as code for Cloud Monitoring. They want to version-control the dashboard definition. Which method should they use?

A.Use gcloud alpha monitoring dashboards create command with a JSON file
B.Create the dashboard via the Cloud Console and export the JSON representation
C.Use Grafana with Cloud Monitoring data source and export dashboard JSON
D.Use the Cloud Monitoring API to create dashboards from a Terraform resource
AnswerD

Terraform supports google_monitoring_dashboard resource, allowing infrastructure-as-code for dashboards.

Why this answer

Cloud Monitoring dashboards can be defined using the REST API or gcloud commands, and the JSON/YAML definition can be stored in version control.

706
Multi-Selectmedium

A team is designing a schema for a user activity logging system using Bigtable. Each log entry includes a user ID, activity type, timestamp, and details. The access pattern requires retrieving all activities for a specific user within a time range. Which TWO row key designs are suitable? (Choose TWO.)

Select 2 answers
A.timestamp#user_id
B.random_uuid
C.reverse_timestamp
D.user_id#activity_type#timestamp
E.user_id#timestamp
AnswersD, E

Allows filtering by activity type within a user.

Why this answer

Option D (user_id#activity_type#timestamp) is correct because it groups all activities for a user under a single row key prefix, enabling efficient row range scans for a specific user. The activity_type suffix allows filtering by activity type if needed, while the timestamp ensures uniqueness and ordered storage. Option E (user_id#timestamp) is correct because it directly supports the access pattern of retrieving all activities for a user within a time range by scanning rows with the user_id prefix and filtering on the timestamp component.

Exam trap

Google Cloud often tests the misconception that a timestamp-first key is optimal for time-range queries, but the actual requirement is user-specific retrieval, which demands a user-first key design to avoid full-table scans.

707
MCQhard

A company uses BigQuery for BI reporting with a star schema. The fact table 'sales' is partitioned by date and clustered by 'product_id'. The dimensions 'product' and 'customer' are updated nightly via merge statements. Recently, a report that joins 'sales' with 'product' on 'product_id' and filters on sale_date for the last 7 days started timing out. The query plan shows a 'SCAN' of the entire 'product' table. Which optimization should be applied to improve performance?

A.Partition the 'product' table by 'product_id'
B.Partition the 'sales' table by 'product_id' instead of date
C.Remove clustering from the 'sales' table
D.Cluster the 'product' table on 'product_id'
AnswerD

Clustering on product_id improves join performance by collocating rows with the same product_id, reducing data scanned.

Why this answer

Option D is correct because clustering the 'product' table on 'product_id' physically co-locates rows with the same product_id into the same blocks, drastically reducing the amount of data scanned when the report joins on that column. The query plan's full SCAN of the 'product' table indicates that BigQuery must read every row, even though only a subset of products are referenced by the last 7 days of sales. Clustering on product_id enables block-level pruning, so only the relevant blocks are read, eliminating the full table scan.

Exam trap

Google Cloud often tests the misconception that partitioning is the universal solution for all performance issues, but here the problem is a full scan of the dimension table during a join, which clustering on the join key solves without the limitations and overhead of partitioning.

How to eliminate wrong answers

Option A is wrong because partitioning the 'product' table by 'product_id' is not supported in BigQuery — partitioning requires a date, timestamp, or integer range column, not an arbitrary ID, and it would create an excessive number of partitions, degrading performance. Option B is wrong because partitioning the 'sales' table by 'product_id' instead of date would break the existing date-based pruning for the last-7-days filter, likely increasing the scan size and defeating the purpose of the optimization. Option C is wrong because removing clustering from the 'sales' table would worsen performance by eliminating the existing block-level pruning on product_id, making the join even slower.

708
MCQhard

An engineer wants to create a dashboard that shows the number of HTTP 5xx errors per minute from an application that writes structured logs. The application logs are in Cloud Logging. Which approach should be used?

A.Export logs to BigQuery and run a query every minute to count errors.
B.Use the Cloud Monitoring API to create a custom metric for error counts from logs.
C.Create an alert policy that triggers on error logs and counts them via a notification channel.
D.Create a log-based metric with a counter for log entries containing '5xx' and use it in a dashboard.
AnswerD

Log-based counter metrics count matching log entries per minute.

709
MCQeasy

A team is adopting GitOps for infrastructure. They want to ensure that all Terraform configuration changes are automatically applied after merging to the main branch. Which CI/CD approach best supports this?

A.Run `terraform plan` on every commit and require manual approval before apply.
B.Have developers apply changes locally using `terraform apply`.
C.Use Cloud Deployment Manager with a trigger on Cloud Source Repository commits.
D.Use a CI/CD pipeline that runs `terraform apply` after a merge to the main branch.
AnswerD

This automates application on merge, aligning with GitOps principles.

Why this answer

GitOps uses Git as the single source of truth, and changes are automatically applied to the target environment when merged to the main branch. A CI/CD pipeline triggered on merge that runs `terraform apply` achieves this.

710
Multi-Selecthard

A Cloud Pub/Sub subscription is used to ingest real-time events. The subscriber's processing rate is slower than the publish rate, causing messages to back up. The team needs to increase throughput without losing messages. Which three actions should they take? (Choose three.)

Select 3 answers
A.Increase the number of subscriber clients (parallel pull consumers)
B.Set ordering keys on the subscription
C.Use a push subscription instead of pull
D.Increase the max outstanding messages per subscriber client
E.Use a pull subscription with an asynchronous puller
AnswersA, D, E

More subscribers pull messages concurrently, increasing overall throughput.

Why this answer

Increasing the acknowledgement deadline prevents premature redelivery but does not increase throughput. Using flow control (max outstanding messages) can actually reduce throughput. To increase throughput: increase the number of subscriber clients (more parallel pulls), use pull subscriptions (more efficient than push for high volume), and increase the max outstanding messages per client (allows more concurrent processing).

Ordering keys are not needed for throughput and can reduce it.

711
Multi-Selecthard

A financial services company uses BigQuery for BI reporting. They need to design a data model that ensures data consistency and avoids duplicate records in the fact table. Which three practices should they follow? (Choose three.)

Select 3 answers
A.Use the OVERWRITE partition option for incremental loads.
B.Apply a unique constraint on the fact table.
C.Use a daily load job that replaces the entire table with WRITE_TRUNCATE.
D.Implement a staging table with a unique identifier and use INSERT ... SELECT DISTINCT.
E.Use DML statements with MERGE to upsert data.
AnswersA, D, E

Overwriting specific partitions avoids duplicates within those partitions.

Why this answer

Option A is correct because using the OVERWRITE partition option for incremental loads ensures that only the specific partition being loaded is replaced, preventing duplicate records within that partition while preserving data in other partitions. This approach maintains data consistency by avoiding full table overwrites and is efficient for incremental updates in BigQuery.

Exam trap

The trap here is that candidates often assume BigQuery supports traditional database constraints like unique constraints (Option B) or that full table overwrites (Option C) are acceptable for incremental loads, when in fact BigQuery's architecture requires partition-level or DML-based deduplication strategies.

712
MCQeasy

Which of the following is an example of toil according to SRE principles?

A.Manually restarting failed pods in a Kubernetes cluster
B.Reviewing code from a junior developer
C.Writing a new feature for the application
D.Designing a new microservice architecture
AnswerA

Manual, repetitive, and can be automated — classic toil.

Why this answer

Toil is manual, repetitive, automatable work with no enduring value. Manually restarting failed pods is a classic example.

713
Multi-Selecteasy

Which TWO actions improve query performance and reduce cost in BigQuery for BI workloads?

Select 2 answers
A.Cluster tables on columns used in GROUP BY
B.Partition tables on columns frequently used in WHERE clauses
C.Load data using batch loads instead of streaming
D.Store data in CSV format
E.Use SELECT * in all queries
AnswersA, B

Clustering improves aggregation performance.

Why this answer

Clustering tables on columns used in GROUP BY improves query performance by physically co-locating rows with similar values, reducing the amount of data scanned during aggregation. Partitioning on columns frequently used in WHERE clauses allows BigQuery to prune entire partitions from the scan, directly reducing both cost (bytes billed) and query execution time. These two optimizations are specifically recommended for BI workloads where repeated, selective queries are common.

Exam trap

Google Cloud often tests the misconception that any data loading method (batch vs. streaming) or any file format (CSV) directly improves query performance, when in fact only storage and query-time optimizations like partitioning and clustering reduce bytes scanned.

714
MCQmedium

An e-commerce platform uses Cloud Bigtable for real-time analytics on customer behavior. The table uses a row key of 'customer_id#timestamp' (customer ID followed by reverse timestamp). Queries for a specific customer's recent events are fast, but queries that filter by event type (e.g., 'purchase') across many customers are slow. What schema change can improve query performance for event-type filtering?

A.Create a separate column family for each event type.
B.Add a secondary index on the event_type column.
C.Use a separate Bigtable instance for each event type.
D.Change the row key to 'event_type#customer_id#timestamp'.
AnswerD

This allows efficient range scans for a specific event type across all customers.

Why this answer

Option D is correct because Cloud Bigtable's performance depends heavily on row key design for efficient scans. By changing the row key to 'event_type#customer_id#timestamp', queries filtering by event type can use a single row key prefix scan, which is fast and avoids full table scans. This leverages Bigtable's lexicographic ordering to group all events of the same type together, making event-type filtering a range scan rather than a filter across unrelated rows.

Exam trap

Cisco often tests the misconception that Bigtable supports secondary indexes like a relational database, leading candidates to choose Option B, but Bigtable's architecture requires all access patterns to be designed into the row key.

How to eliminate wrong answers

Option A is wrong because column families in Bigtable are used for grouping related columns and access control, not for indexing or partitioning data by value; they do not improve query performance for filtering on a column value like event type. Option B is wrong because Bigtable does not support secondary indexes; it relies solely on the row key for data access, and adding a secondary index is not a feature of Bigtable. Option C is wrong because using a separate Bigtable instance for each event type would introduce significant operational overhead, data duplication, and cross-instance query complexity without solving the fundamental row key design issue.

715
MCQhard

You are optimizing a Cloud SQL for MySQL instance for an OLTP application. You observe frequent buffer pool contention and high disk reads per second. The instance has 16 vCPUs and 120 GB memory. What is the most effective initial tuning action?

A.Increase the max_connections parameter to handle more concurrent sessions.
B.Reduce max_heap_table_size to avoid in-memory temp tables spilling to disk.
C.Increase innodb_buffer_pool_size to 80% of available memory.
D.Enable query cache to cache SELECT results.
AnswerC

This allows more data in memory, reducing disk I/O.

Why this answer

The correct answer is C because buffer pool contention and high disk reads per second are classic symptoms of an undersized InnoDB buffer pool. For a dedicated Cloud SQL for MySQL OLTP instance with 120 GB memory, increasing innodb_buffer_pool_size to 80% (96 GB) maximizes cached data and index pages in memory, reducing physical disk I/O and contention. This directly addresses the root cause—insufficient memory for the working set—without introducing side effects like connection overhead or query cache invalidation.

Exam trap

Google Cloud often tests the misconception that increasing max_connections or enabling the query cache is a universal performance fix, but the trap here is that buffer pool contention and high disk reads specifically point to an undersized innodb_buffer_pool_size, not to connection limits or caching of SELECT results.

How to eliminate wrong answers

Option A is wrong because increasing max_connections does not reduce buffer pool contention or disk reads; it may actually worsen contention by allowing more concurrent sessions to compete for the same limited buffer pool resources. Option B is wrong because reducing max_heap_table_size would force more temporary tables to disk, increasing disk reads per second, which is the opposite of the desired effect. Option D is wrong because the query cache is deprecated and removed in MySQL 8.0; even in earlier versions, it introduces mutex contention and is ineffective for write-heavy OLTP workloads, failing to address buffer pool contention or disk I/O.

716
MCQhard

An organization has a Cloud Deploy delivery pipeline with a canary deployment strategy to GKE. They want to automatically pause the rollout if the canary revision's error rate exceeds 5% for 5 minutes. Which feature should they use?

A.Canary deployment strategy with metric analysis
B.PreDeploy hook
C.Rollback on deploy failure
D.Manual approval gate
AnswerA

Cloud Deploy's canary strategy can use Cloud Monitoring metrics to automatically verify and progress or rollback.

Why this answer

Cloud Deploy can integrate with Cloud Monitoring metrics to automate canary verification. By defining a canary deployment strategy with metric-based analysis, the rollout can be paused or rolled back if predefined thresholds are breached.

717
MCQhard

A large e-commerce platform uses BigQuery for business intelligence. They have a fact table `orders` (10 TB, partitioned by order_date, clustered by customer_id) and a dimension table `customers` (2 TB, not partitioned, not clustered). The BI team runs a daily dashboard query that joins these tables on customer_id and filters on order_date = CURRENT_DATE() and customer_country = 'US'. The query currently scans the full `customers` table and 2 GB of the `orders` table, taking 30 seconds. The business wants to reduce cost and latency. The `customers` table has 500 million rows and is updated incrementally every hour. Which action will most effectively reduce the amount of data scanned and query time?

A.Cluster the `customers` table on customer_id.
B.Denormalize customer country and other attributes into the `orders` table.
C.Create a materialized view that joins `orders` and `customers` on customer_id.
D.Partition the `customers` table by customer_id.
AnswerA

Clustering by customer_id enables block-level pruning during the join, drastically reducing data scanned.

Why this answer

Clustering the `customers` table on `customer_id` will physically co-locate rows with the same `customer_id`, allowing the query to use block-level pruning when joining with the filtered `orders` table. Since the query filters `orders` by `order_date = CURRENT_DATE()` (2 GB scanned) and then joins on `customer_id`, BigQuery can skip reading most of the `customers` table if it is clustered on the join key, drastically reducing the 2 TB full scan and lowering both cost and latency.

Exam trap

Google Cloud often tests the misconception that partitioning is always the best optimization for large tables, but here partitioning by `customer_id` is invalid in BigQuery, and the real performance gain comes from clustering on the join key to enable block-level pruning.

How to eliminate wrong answers

Option B is wrong because denormalizing customer attributes into the `orders` table would increase storage costs and data duplication (10 TB fact table would grow significantly), and while it might avoid the join, it does not address the root cause of scanning the full `customers` table; it also complicates incremental updates. Option C is wrong because a materialized view that joins both tables would need to be refreshed every hour to reflect incremental customer updates, and it would still require scanning the full `customers` table during creation or refresh, not reducing the per-query scan for the current daily filter. Option D is wrong because partitioning the `customers` table by `customer_id` is not supported in BigQuery (partitioning must be on a date/timestamp or integer range column), and even if possible, it would not help since the query does not filter on a partition column for `customers`.

718
MCQmedium

An e-commerce application uses Cloud Spanner for its global inventory database. The application experiences high write latency during peak hours. After reviewing the schema, the database engineer notices that the primary key is an auto-incrementing integer. What is the most likely cause of the high write latency?

A.The application is using read-only transactions instead of read-write transactions.
B.The database is configured with a backup retention period of 2 seconds.
C.The application is using read replicas that are out of date.
D.The monotonically increasing primary key creates a hotspot.
AnswerD

Spanner distributes data by key range; sequential keys cause all new rows to be written to a single node, creating a hotspot.

Why this answer

Cloud Spanner distributes data across splits based on the primary key range. A monotonically increasing integer primary key, such as an auto-incrementing ID, causes all new writes to target the same split (the highest key range), creating a hotspot. This single split becomes a bottleneck, leading to high write latency during peak hours, as Spanner cannot parallelize the writes across multiple nodes.

Exam trap

Google Cloud often tests the misconception that auto-incrementing keys are always optimal for performance, but in distributed databases like Spanner, they cause hotspots; candidates may incorrectly attribute latency to backup settings or read replicas instead of the key design flaw.

How to eliminate wrong answers

Option A is wrong because read-only transactions do not cause write latency; they are used for reading data and do not impact write performance. Option B is wrong because a backup retention period of 2 seconds is not a valid configuration (minimum retention is typically 1 day) and has no direct effect on write latency. Option C is wrong because read replicas (read-only nodes) are used for scaling reads, not writes; stale replicas do not cause high write latency.

719
MCQhard

You are configuring error budget burn rate alerts for an SLO with a 30-day window. The SLO target is 99.9%. You want to alert if the error budget is projected to be fully consumed in 2 hours, using a fast burn rate. Which alerting policy configuration should you use?

A.Burn rate threshold: 14, lookback window: 6 hours
B.Burn rate threshold: 14, lookback window: 1 hour
C.Burn rate threshold: 5, lookback window: 1 hour
D.Burn rate threshold: 5, lookback window: 6 hours
AnswerB

This is the standard fast burn alert configuration. A burn rate of 14 means the budget would be consumed in ~2.14 days. The 1-hour window catches rapid consumption.

Why this answer

Fast burn alert: burn rate > 14x for 1-hour window. If full budget consumed in 2 hours, burn rate = (30 days * 1440 min/day) / (2 hours * 60 min/hour) = 43200 / 120 = 360. But the standard fast burn alert uses a 1-hour window and a burn rate threshold of 14, which corresponds to consuming the budget in ~2 hours (43200/14 ≈ 3085 min ≈ 2.14 days).

To alert on 2-hour consumption, you need a custom alert with a burn rate of 14 and a lookback window of 1 hour (the standard fast burn configuration). That alert triggers when the rate of budget consumption would exhaust the budget in ~2 hours if sustained.

720
Matchingmedium

Match each Google Cloud tool to its purpose in database management.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

Web-based UI for managing resources

Command-line tool for managing Google Cloud services

Browser-based terminal with pre-installed tools

Infrastructure as code for provisioning databases

Observability and alerting for database performance

Why these pairings

Cloud SQL, Cloud Spanner, and BigQuery are core Google Cloud database tools. Cloud SQL is for managed relational databases, Cloud Spanner for globally distributed relational databases, and BigQuery for analytics. Distractors confuse Cloud SQL with NoSQL services and Cloud Spanner with caching services.

721
Multi-Selecteasy

A company wants to use Cloud Logging to monitor for a specific error pattern in their application logs. They want to create a metric that counts occurrences of the error and then set up an alert when the count exceeds 100 in 5 minutes. Which TWO components are required? (Choose 2)

Select 2 answers
A.Notification channel (e.g., email)
B.Log-based distribution metric
C.Alerting policy with metric threshold condition
D.Cloud Monitoring dashboard
E.Log-based counter metric
AnswersC, E

Triggers when the counter metric exceeds 100 over a sliding window.

Why this answer

A log-based counter metric counts matching log entries. An alerting policy can then be configured to trigger when the metric exceeds a threshold. The metric itself does not need to be distribution-based (that's for histogram values).

The alignment period is part of the alert condition, not a separate component.

722
Multi-Selecteasy

Which TWO are effective strategies to control costs when running BI queries on BigQuery? (Choose two.)

Select 2 answers
A.Set a maximum bytes billed limit for user projects.
B.Create materialized copies of tables for each dashboard.
C.Schedule queries to run every minute to keep the cache warm.
D.Enable BI Engine for all tables to speed up queries.
E.Use flat-rate reservations for predictable workloads.
AnswersA, E

It prevents queries from scanning too much data.

Why this answer

Option A is correct because setting a maximum bytes billed limit for user projects in BigQuery allows you to cap the amount of data processed per query, preventing runaway costs from accidental or inefficient queries. This is a direct cost control mechanism that enforces a hard stop on query bytes processed, ensuring that users cannot exceed a predefined budget.

Exam trap

The trap here is that candidates often confuse performance optimization strategies (like BI Engine or caching) with cost control measures, but the question specifically asks for strategies that control costs, not improve speed.

723
MCQeasy

A DevOps engineer is bootstrapping a new Google Cloud organization. They need to enforce that all Compute Engine VM instances must use Shielded VM features. Which method should they use?

A.Create a custom IAM role that grants compute.instances.create permission only for Shielded VM projects.
B.Use Deployment Manager templates that include Shielded VM initialization config.
C.Apply an organization policy with constraint constraints/compute.requireShieldedVm at the organization level.
D.Enable Shielded VM as a default in the Compute Engine service quota settings.
AnswerC

Organization policies enforce resource constraints across the hierarchy, and requireShieldedVm ensures all VMs have Shielded VM enabled.

Why this answer

Organization policies allow you to centrally constrain resource usage across the entire resource hierarchy. The 'constraints/compute.requireShieldedVm' policy enforces Shielded VM on all new VMs. IAM roles control access but not resource configurations.

724
MCQmedium

A site reliability engineer is defining an SLO for a service that processes user uploads. The team wants to measure success as the proportion of uploads completed within 2 seconds. Which type of SLI should they use?

A.Throughput-based SLI measuring requests per second
B.Freshness-based SLI measuring time since last successful upload
C.Latency-based SLI measuring proportion of requests under a threshold
D.Availability-based SLI using successful/total requests
AnswerC

This directly captures the requirement: fraction of uploads completed within 2 seconds.

Why this answer

This scenario describes a request-based SLI where each upload is a request, and success is defined by latency being under a threshold (2 seconds). Request-based SLIs count good requests (those meeting the criteria) over total requests.

725
MCQhard

An organization wants to implement privileged access management (PAM) for their Google Cloud environment. They need to grant temporary, just-in-time access to production projects for incident responders. Which GCP service should they use?

A.Use Cloud IAM Conditions to grant roles with a time constraint (e.g., request.time < timestamp).
B.Create custom roles that are only granted during incident response drills.
C.Use Cloud Audit Logs to monitor and revoke access after the incident.
D.Use VPC Service Controls to allow access only from specific IPs.
AnswerA

IAM Conditions can include temporal conditions, providing just-in-time access that expires automatically.

Why this answer

Cloud IAM Conditions with Access Context Manager can be used to enforce time-based conditions on IAM roles. Additionally, using Cloud IAM's 'iam.roles.update' with time-based conditions or using the Cloud Asset Inventory for access approval are not standard. The best approach is to use Cloud IAM Conditions to grant roles that expire after a defined duration, combined with Access Approval for review.

726
MCQmedium

Refer to the exhibit. Which of the following statements is true regarding this schema design?

A.Deleting a Singer row will automatically delete all associated Album rows.
B.The Albums table cannot have any secondary indexes because of the INTERLEAVE clause.
C.The Albums table's rows are physically stored independent of the Singer table.
D.The Albums table's primary key must include the SingerId column only.
E.The ON DELETE CASCADE clause ensures that deleting an Album row will delete the corresponding Singer row.
AnswerA

The ON DELETE CASCADE clause enforces this behavior.

Why this answer

Option A is correct because the `ON DELETE CASCADE` clause on the foreign key from `Albums` to `Singer` ensures that when a row in the `Singer` table is deleted, all rows in the `Albums` table that reference that singer are automatically deleted. This is a standard referential integrity behavior in relational databases, and in Cloud Spanner (the technology context for PCDE), it is enforced at the database level to maintain consistency.

Exam trap

Google Cloud often tests the direction of `ON DELETE CASCADE` — candidates mistakenly think it deletes the parent when a child is deleted, but it only propagates from parent to child.

How to eliminate wrong answers

Option B is wrong because the `INTERLEAVE` clause does not prevent secondary indexes on the `Albums` table; Cloud Spanner allows secondary indexes on interleaved tables, though they must be created with the `INTERLEAVE IN` option to maintain locality. Option C is wrong because the `INTERLEAVE` clause physically stores child rows (Albums) adjacent to their parent row (Singer) in the same split, not independently. Option D is wrong because the `Albums` table's primary key must include `SingerId` as the first column (due to interleaving), but it can and typically does include additional columns (e.g., `AlbumId`) to uniquely identify rows.

Option E is wrong because `ON DELETE CASCADE` propagates deletion from the parent (Singer) to the child (Albums), not the reverse; deleting an `Album` row does not delete the corresponding `Singer` row.

727
MCQmedium

Refer to the exhibit. Which BigQuery SQL query correctly flattens the items into rows?

A.SELECT * FROM orders WHERE items IS NOT NULL
B.SELECT * FROM orders, UNNEST(items) AS items
C.SELECT * FROM orders INNER JOIN items ON true
D.SELECT * FROM orders CROSS JOIN UNNEST(items) AS items
AnswerD

UNNEST with CROSS JOIN correctly flattens the nested field.

Why this answer

Option D is correct because `CROSS JOIN UNNEST(items)` is the standard BigQuery syntax to flatten a repeated (array) column into individual rows. The `UNNEST` operator expands each array element into a separate row, and `CROSS JOIN` ensures that all non-array columns from the `orders` table are preserved alongside each element. This is the only option that correctly transforms the nested `items` array into a normalized row-per-item structure.

Exam trap

Cisco often tests the requirement that `UNNEST` must be paired with a join (like `CROSS JOIN` or `LEFT JOIN`) and that using `UNNEST` alone or with a `WHERE` clause is syntactically invalid in BigQuery, leading candidates to mistakenly choose Option B.

How to eliminate wrong answers

Option A is wrong because `WHERE items IS NOT NULL` only filters out rows where the entire `items` array is NULL, but does not flatten the array into individual rows; the result still contains arrays. Option B is wrong because `UNNEST(items) AS items` without a `CROSS JOIN` or `LEFT JOIN` is syntactically invalid in BigQuery; `UNNEST` must be used with a join operator (typically `CROSS JOIN` or `LEFT JOIN`). Option C is wrong because `INNER JOIN items ON true` assumes `items` is a separate table, but in this context `items` is a nested array column within the `orders` table, not a standalone table; this would cause a table-not-found error.

728
MCQmedium

A company uses Cloud Deploy with a delivery pipeline that has dev, staging, and prod targets. They want to require manual approval before promoting a release to prod. How should they configure this?

A.Add an approval gate in the prod target configuration
B.Configure a postDeploy hook that requires approval
C.Use Cloud Build triggers with manual invocation for prod deployments
D.Set the prod target's deployment strategy to 'BlueGreen'
AnswerA

Cloud Deploy supports approval gates on targets; manual approval is required before promotion.

729
Multi-Selecthard

You are planning capacity for a Cloud Spanner instance. Which TWO factors directly affect the number of nodes required?

Select 2 answers
A.Number of users
B.Read throughput in queries per second (QPS)
C.Number of indexes
D.Write throughput in queries per second (QPS)
E.Storage size in GB
AnswersB, D

Read QPS directly determines CPU and node requirements.

Why this answer

Cloud Spanner node capacity is primarily determined by compute and I/O requirements, which are directly driven by read and write throughput (QPS). Each node provides a fixed amount of processing power and throughput; therefore, to handle a given QPS, you must provision enough nodes to meet the peak read and write demand. Storage size (Option E) is not a direct factor because Spanner automatically uses available node resources for storage, and you can add nodes for throughput without exceeding storage limits.

Exam trap

The trap here is that candidates often assume storage size is a primary driver for node count, but Spanner decouples throughput and storage, so you must focus on QPS requirements first, especially in exam scenarios where throughput is the bottleneck.

730
MCQeasy

A BI team wants to create a report that shows daily active users for the last 7 days. Which SQL construct is most appropriate for fast performance on a large dataset?

A.SELECT COUNT(DISTINCT user_id) ... WHERE date >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
B.SELECT DISTINCT user_id ...
C.SELECT COUNT(user_id) ... GROUP BY user_id
D.SELECT APPROX_COUNT_DISTINCT(user_id) ... WHERE date >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
AnswerD

Approximate distinct is fast and sufficient for trend analysis.

Why this answer

Option D is correct because APPROX_COUNT_DISTINCT uses HyperLogLog (HLL) algorithm, which provides near-exact distinct counts with significantly less memory and faster performance than COUNT(DISTINCT) on large datasets. This is ideal for a daily active users report over 7 days where exact precision is not critical.

Exam trap

Google Cloud often tests the misconception that COUNT(DISTINCT) is always the correct choice for distinct counts, ignoring the performance implications on large datasets where approximate counting functions are the appropriate BI solution.

How to eliminate wrong answers

Option A is wrong because COUNT(DISTINCT user_id) requires sorting or hashing all unique user_id values, which becomes extremely slow and memory-intensive on large datasets. Option B is wrong because SELECT DISTINCT user_id returns all individual user IDs without counting them, failing to produce the required daily active user count. Option C is wrong because COUNT(user_id) counts all rows including duplicates, not distinct users, and GROUP BY user_id would produce per-user counts rather than a single daily total.

731
Multi-Selectmedium

An SRE team is defining SLIs for a data pipeline that ingests events from a pub/sub topic and writes to BigQuery. Which two metrics are good SLIs for pipeline freshness? (Choose TWO.)

Select 2 answers
A.CPU utilization of Dataflow workers
B.Age of the oldest unprocessed message in the subscription
C.Number of events published per second
D.Total number of rows in BigQuery
E.Latency between event ingestion and availability in BigQuery
AnswersB, E

Indicates backlog staleness.

Why this answer

Pipeline freshness measures how up-to-date the data is. Latency of most recent event from ingestion to table and age of oldest unprocessed message are direct measures.

732
Multi-Selecthard

An engineer is configuring an alerting policy for a latency metric. They want to reduce noise by requiring that the condition be met for at least 3 out of the last 5 alignment periods. Which settings must be adjusted? (Choose 3)

Select 3 answers
A.Alignment period
B.Duration
C.Number of violation periods
D.Evaluation frequency
E.Condition threshold
AnswersA, C, D

The alignment period defines the window for each data point.

733
MCQmedium

You are configuring an alerting policy in Cloud Monitoring to notify when the 99th percentile latency of your application exceeds 500 ms for 5 minutes. Which metric type and reducer should you use?

A.DISTRIBUTION metric type with PERCENTILE reducer
B.CUMULATIVE metric type with MEAN reducer
C.GAUGE metric type with MAX reducer
D.DELTA metric type with SUM reducer
AnswerA

Distribution metrics record histograms, and the 99th percentile reducer calculates the percentile value from the distribution.

Why this answer

The 99th percentile requires a distribution metric that records a histogram of latency values. The reducer 'PERCENTILE' (not listed as a standard option, but the correct approach is to use a distribution metric with '99th PERCENTILE' reducer) is needed. However, Cloud Monitoring alerting does not support percentile reducers directly; you must use a log-based metric or export to a different system.

In this exam context, the correct answer is to use a distribution metric with a percentile aggregation. Among the options, only 'distribution' with a percentile reducer is correct.

734
Multi-Selecteasy

A developer needs to deploy a containerized application to Cloud Run using the gcloud command. Which two flags are required to successfully deploy?

Select 2 answers
A.--region
B.--max-instances
C.--image
D.--concurrency
E.--ingress
AnswersA, C

Required to specify the region where the service will be deployed.

Why this answer

The gcloud run deploy command requires --image to specify the container image and --region to specify the region. Other flags like --ingress and --max-instances are optional.

735
Multi-Selectmedium

A BI team is troubleshooting a slow BigQuery query. Which TWO actions can help identify the bottleneck?

Select 2 answers
A.Review the query execution plan in the BigQuery UI.
B.Increase the number of slots to maximum.
C.Remove all WHERE clauses to simplify.
D.Rewrite the query to use only CTEs.
E.Check the bytes processed and shuffle bytes.
AnswersA, E

Execution plan reveals stages, timing, and data shuffling.

Why this answer

Reviewing the query execution plan in the BigQuery UI (Option A) is correct because it provides a visual breakdown of query stages, including shuffle operations, data distribution, and stage-level timing. This allows the BI team to pinpoint which stage is consuming the most time or resources, such as a skewed join or a slow aggregation, directly identifying the bottleneck.

Exam trap

Google Cloud often tests the misconception that adding more resources (slots) or simplifying the query (removing WHERE clauses) is a diagnostic step, when in fact these actions change the query's behavior rather than identifying the existing bottleneck.

736
Multi-Selectmedium

A Database Engineer is deploying a Cloud SQL for PostgreSQL instance for a financial services application that requires high availability and automatic failover. The engineer also needs to ensure that backups are taken daily and retained for 30 days. Which TWO actions should the engineer take? (Choose two.)

Select 2 answers
A.Create a cross-region replica and configure automatic failover.
B.Enable automated backups and set backup retention to 30 days.
C.Enable high availability (HA) configuration on the instance with a regional persistent disk.
D.Schedule a Cloud Scheduler job to export the database to Cloud Storage daily.
E.Enable point-in-time recovery (PITR) with a 7-day retention.
AnswersB, C

Automated backups with 30-day retention satisfies the requirement.

Why this answer

Option B is correct because Cloud SQL automated backups can be configured with a retention period of up to 365 days, and setting it to 30 days meets the requirement for daily backups with 30-day retention. Option C is correct because enabling high availability (HA) on a Cloud SQL instance with a regional persistent disk provides automatic failover to a standby instance in a different zone within the same region, ensuring high availability for the financial services application.

Exam trap

Google Cloud often tests the distinction between high availability (automatic failover within a region) and disaster recovery (cross-region replicas), leading candidates to incorrectly select cross-region replicas for failover when they are read-only and require manual promotion.

737
MCQhard

An application running on Cloud Run is experiencing high tail latency. The team wants to visualize which functions are consuming the most CPU time. Which Google Cloud tool should they use and how should they instrument the application?

A.Cloud Profiler with OpenTelemetry or Profiler agent
B.Cloud Monitoring with custom metrics for CPU
C.Cloud Trace with automatic instrumentation
D.Cloud Logging with structured logs
AnswerA

Cloud Profiler provides flame graphs showing CPU consumption per function, ideal for identifying hot functions.

Why this answer

Cloud Profiler provides continuous profiling (CPU, heap, etc.) with low overhead. For Cloud Run, the Profiler can be enabled via the Cloud Profiler Java agent or OpenTelemetry.

738
MCQeasy

An SRE team has defined a service's availability SLI as the proportion of successful requests over a 5-minute window. They set an SLO of 99.9% over 30 days. What is the error budget for a 30-day period?

A.43 minutes 12 seconds
B.4 hours 19 minutes
C.7 minutes 12 seconds
D.43 minutes 12 seconds per week
AnswerA

0.1% of 30 days = 0.001 * 43200 min = 43.2 min = 43 min 12 sec.

Why this answer

Error budget = (100% - SLO) * total time. For 30 days (43200 minutes), 0.1% of that is 43.2 minutes. The closest option is 43 minutes 12 seconds.

739
Multi-Selecthard

A DevOps engineer is designing a CI/CD pipeline for a Cloud Run service. They need to implement a canary deployment that sends 10% of traffic to a new revision initially, then gradually increases to 100% if metrics are healthy. They also need to roll back instantly if the canary fails. Which THREE configurations should they use? (Select THREE)

Select 3 answers
A.Configure Cloud Deploy with a canary strategy and metric thresholds
B.Use tags on the new revision for testing without affecting traffic
C.Use gcloud run deploy with --no-traffic to deploy the new revision without receiving traffic
D.Use gcloud run deploy with --to-revisions to split traffic, e.g., NEW=10, OLD=90
E.Use a manual approval gate in Cloud Deploy
AnswersA, B, D

Cloud Deploy can automate canary progression with metrics and rollback.

Why this answer

Option A is correct because Cloud Deploy supports canary deployments with automated metric thresholds (e.g., latency, error rate) that control traffic progression. This allows the pipeline to gradually shift from 10% to 100% traffic based on real-time health checks, enabling automated rollback if thresholds are breached.

Exam trap

Cisco often tests the distinction between deploying a revision without traffic (Option C) and implementing a fully automated canary with metric-based progression (Option A), where candidates mistakenly think `--no-traffic` alone satisfies the gradual increase requirement.

740
MCQmedium

A Cloud SQL instance stores financial data. They need to meet a 1-hour RPO and 30-minute RTO. What backup configuration should they use?

A.Export once a day to Cloud Storage.
B.Automatic backups plus binary logging to enable point-in-time recovery (PITR).
C.Enable high availability.
D.Automatic backups with a schedule of 1 hour.
AnswerB

PITR with binary logs allows recovery to any point in the last 7 days, meeting the 1-hour RPO.

Why this answer

Option B is correct because automatic backups combined with binary logging enable point-in-time recovery (PITR), which allows restoring the database to any point within the backup retention period. This configuration meets the 1-hour RPO by recovering transactions committed within the last hour, and the 30-minute RTO by using the most recent full backup plus binary logs to restore quickly.

Exam trap

Google Cloud often tests the distinction between high availability (HA) and backup/recovery; candidates mistakenly think HA alone satisfies RPO/RTO requirements, but HA only ensures uptime, not point-in-time data recovery.

How to eliminate wrong answers

Option A is wrong because exporting once a day to Cloud Storage provides an RPO of up to 24 hours, far exceeding the required 1-hour RPO, and restoring from an export can take significantly longer than 30 minutes. Option C is wrong because enabling high availability (HA) provides failover to a standby instance in case of zone failure, but does not address data backup or recovery point objectives; it does not protect against data corruption or accidental deletion. Option D is wrong because automatic backups with a 1-hour schedule create full backups every hour, but without binary logging, you can only restore to the exact backup timestamps, not to any point within the hour, so the effective RPO could be up to 1 hour plus the time to complete the backup, and recovery time may exceed 30 minutes due to the need to restore the full backup.

741
Multi-Selectmedium

A team wants to implement a GitOps workflow for deploying applications to GKE. They want to use a tool that continuously reconciles the cluster state with a Git repository. Which TWO tools can they use? (Select TWO)

Select 2 answers
A.Cloud Deploy
B.Cloud Build
C.Argo CD
D.Skaffold
E.Config Sync
AnswersC, E

Argo CD is a popular GitOps operator for Kubernetes.

Why this answer

Argo CD is a declarative GitOps tool that continuously monitors a Git repository and automatically reconciles the cluster state to match the desired state defined in the repository. It directly supports the GitOps workflow requirement by polling or using webhooks to detect changes and applying them to GKE clusters.

Exam trap

Cisco often tests the distinction between CI/CD pipeline tools (Cloud Build, Cloud Deploy) and GitOps reconciliation tools (Argo CD, Config Sync), leading candidates to select Cloud Deploy or Cloud Build because they associate them with deployment automation, even though they lack continuous drift detection from a Git repository.

742
Multi-Selectmedium

Which TWO are best practices for designing a star schema in BigQuery for BI? (Choose two.)

Select 2 answers
A.Store dimension attributes in a single denormalized dimension table instead of multiple normalized tables.
B.Partition fact tables by low-cardinality columns like gender.
C.Pre-aggregate all measures at every possible grain in the fact table.
D.Avoid using joins entirely by storing all data in one wide table.
E.Use surrogate keys for dimension tables instead of natural keys.
AnswersA, E

Denormalization reduces join complexity.

Why this answer

Option A is correct because in BigQuery, storing dimension attributes in a single denormalized dimension table (star schema) reduces the number of joins required in BI queries, improving query performance and simplifying SQL. BigQuery's columnar storage and distributed architecture handle denormalized dimensions efficiently, avoiding the overhead of multiple normalized tables that would require complex joins and slow down analytical queries.

Exam trap

Google Cloud often tests the misconception that denormalization is always bad, but in BigQuery's architecture, denormalized dimension tables are a best practice for BI workloads, unlike traditional OLTP databases.

743
MCQhard

Your company runs a global application on Cloud Spanner. You notice that recent schema changes have caused a significant increase in latency for cross-node transactions. The previous schema used interleaved tables for parent-child relationships, but the new schema uses separate tables with foreign keys. What is the most likely cause of the increased latency?

A.The new schema uses foreign keys that require cross-node transactions.
B.The new schema does not use commit timestamps for versioning.
C.The new schema lacks secondary indexes on foreign key columns.
D.The Spanner instance was not resized after the schema change.
AnswerA

Foreign keys between separate tables can lead to distributed transactions across nodes.

Why this answer

The new schema uses separate tables with foreign keys instead of interleaved tables. In Cloud Spanner, interleaved tables guarantee that parent and child rows are co-located on the same split, allowing local joins without cross-node communication. Foreign keys between non-interleaved tables can reference rows stored on different splits, forcing distributed transactions that require two-phase commit across nodes, which significantly increases latency.

Exam trap

The trap here is that candidates may think foreign keys inherently cause performance issues due to constraint checking, but the real cause is the loss of data locality and resulting cross-split coordination in Spanner's distributed architecture.

How to eliminate wrong answers

Option B is wrong because commit timestamps are used for versioning and consistency, not for reducing cross-node transaction latency; omitting them would not cause the described latency increase. Option C is wrong because secondary indexes on foreign key columns improve query performance but do not eliminate the need for cross-node coordination when the referenced rows are on different splits. Option D is wrong because resizing the Spanner instance (adding/removing nodes) affects throughput and storage capacity, not the fundamental latency of cross-node transactions caused by non-interleaved schemas.

744
MCQeasy

A company uses Cloud SQL for SQL Server. They want to store JSON data in a column and query it efficiently. What should they do?

A.Store each JSON field as a separate column.
B.Store JSON in an nvarchar(max) column and use JSON_VALUE in queries.
C.Use a TEXT column with no indexing.
D.Store JSON as a binary column and parse in application.
AnswerB

SQL Server's JSON support allows querying inside nvarchar(max) columns.

Why this answer

Cloud SQL for SQL Server supports JSON functions like JSON_VALUE to extract and query data from JSON stored in nvarchar(max) columns. This allows efficient querying without schema changes, leveraging SQL Server's built-in JSON support. Option B is correct because it uses the recommended data type and function for JSON storage and querying in SQL Server.

Exam trap

Cisco often tests the misconception that JSON must be stored in a special column type (like JSON in MySQL) or that TEXT columns are equivalent, but SQL Server requires nvarchar(max) for JSON functions and indexing.

How to eliminate wrong answers

Option A is wrong because storing each JSON field as a separate column defeats the purpose of JSON's flexible schema and increases schema complexity, making it harder to handle dynamic or nested data. Option C is wrong because TEXT columns are deprecated in SQL Server and do not support JSON functions like JSON_VALUE, nor can they be indexed efficiently for JSON queries. Option D is wrong because storing JSON as binary requires application-level parsing, losing the ability to use server-side JSON functions and indexes, which degrades query performance and adds complexity.

745
MCQhard

Refer to the exhibit. The application requires low-latency reads for users in Europe. The current cluster is in us-central1. What should they do?

A.Add a new cluster in a European region (e.g., europe-west1).
B.Increase the number of nodes in the existing cluster.
C.Use a multi-cluster instance with existing cluster.
D.Change the storage type to SSD in the existing cluster.
AnswerA

Adding a cluster in Europe allows reads to be served from a nearby location, reducing latency.

Why this answer

Adding a new cluster in a European region (e.g., europe-west1) is correct because it places data physically closer to users, reducing network latency for read operations. In a multi-region deployment, the application can read from the nearest cluster, achieving low-latency reads without changing the existing cluster's configuration. This approach leverages geographic proximity to minimize round-trip time (RTT) for European users.

Exam trap

Google Cloud often tests the misconception that scaling up (more nodes or faster storage) can solve geographic latency issues, when in fact only adding a regional cluster addresses the fundamental physics of network propagation delay.

How to eliminate wrong answers

Option B is wrong because increasing the number of nodes in the existing us-central1 cluster does not reduce the physical distance between European users and the data; network latency is dominated by propagation delay, not node count. Option C is wrong because a multi-cluster instance (e.g., in Cloud Spanner) is designed for global strong consistency and high availability, but it does not inherently provide low-latency reads for a specific region unless a new cluster is added in that region; the existing cluster alone cannot serve European users with low latency. Option D is wrong because changing the storage type to SSD improves I/O performance (e.g., lower disk latency) but does not address the network latency caused by geographic distance; the bottleneck for European users is the long-haul network path, not storage speed.

746
MCQhard

A company stores sensor data in BigQuery. They have a table 'sensor_readings' with columns: sensor_id, reading_time, value. The table is partitioned by reading_time (hourly) and clustered by sensor_id. A BI query aggregates average value per sensor for the last week. The query still scans many bytes. What is the most likely cause?

A.The query uses SELECT * instead of specific columns
B.Clustering on sensor_id is ineffective
C.The table is not using columnar storage
D.Partition granularity is too fine for the query range
AnswerD

Hourly partitions for a week means 168 partitions scanned; coarser partitioning (daily) would scan 7 partitions, reducing bytes.

Why this answer

Option D is correct because the query scans a full week of data (168 hourly partitions), and each partition must be read entirely even though only a subset of sensors may be active. Hourly partitioning over a 7-day range means the query engine must scan all 168 partitions, which can result in a large number of bytes being processed. Clustering on sensor_id helps within each partition but does not reduce the number of partitions scanned; the fine granularity of hourly partitioning is the primary cause of excessive bytes scanned.

Exam trap

Google Cloud often tests the misconception that clustering alone solves all performance issues, but the trap here is that clustering only helps when the query filters or aggregates on the clustered column—without such a filter, clustering does not reduce bytes scanned, and overly fine partitioning is the real culprit.

How to eliminate wrong answers

Option A is wrong because using SELECT * instead of specific columns would increase the bytes scanned, but the question states the query aggregates average value per sensor, which likely already selects only the needed columns; the core issue is partition pruning, not column projection. Option B is wrong because clustering on sensor_id is effective for reducing bytes scanned within each partition when filtering by sensor_id, but the query does not filter on sensor_id—it aggregates across all sensors—so clustering provides no benefit here. Option C is wrong because BigQuery always uses columnar storage (Capacitor format); the table is inherently columnar, so this is not a possible cause.

747
Multi-Selecthard

A company uses Cloud Spanner with a schema that includes a table 'Events' with primary key (EventId, Timestamp). They need to run range queries on Timestamp across all events. They notice slow queries. Which two actions can improve query performance? (Choose two.)

Select 2 answers
A.Create a secondary index on Timestamp.
B.Create a covering index that includes all queried columns.
C.Add a hash prefix to EventId to distribute writes.
D.Use interleaving with a parent table on EventId.
E.Change the primary key to (Timestamp, EventId).
AnswersA, B

A secondary index on Timestamp allows efficient range scans.

Why this answer

Option A is correct because creating a secondary index on Timestamp allows Cloud Spanner to efficiently perform range queries on that column without scanning the entire table. Without this index, Spanner must perform a full table scan, which is slow for large datasets. The secondary index provides a sorted structure that directly supports the range scan operation.

Exam trap

Cisco often tests the distinction between indexing strategies that improve write distribution (like hash prefixes) versus those that improve read performance for range scans, and candidates mistakenly choose hash prefixes for range queries.

748
MCQhard

A financial services company is using Terraform to manage their Google Cloud infrastructure. They have multiple environments (dev, staging, prod) and want to use a single Terraform configuration with separate state files per environment. They also need to store the Terraform state securely in a shared backend. Which approach should they use?

A.Use Terraform Cloud's workspaces feature with a GCS backend configured in the Terraform Cloud workspace settings.
B.Create separate Terraform configurations for each environment and store state in a single GCS bucket with different object names.
C.Use Terraform workspaces with a local backend and store state files in a Cloud Storage bucket manually.
D.Use Terraform workspaces with a GCS backend. Each workspace automatically creates a separate state file (e.g., env:/dev/project.tfstate).
AnswerD

Workspaces with a remote backend like GCS store state per workspace in the same bucket with different paths, enabling secure collaboration.

Why this answer

Terraform workspaces allow using the same configuration with separate state files for each environment. Using a GCS backend with a prefix per workspace stores the state files in separate objects.

749
Multi-Selectmedium

An SRE team wants to implement chaos engineering on their GKE cluster. Which TWO options are valid tools or services for injecting faults into GKE workloads?

Select 2 answers
A.Cloud Audit Logs
B.Chaos Mesh
C.Cloud Endpoints
D.Cloud Scheduler
E.Traffic Director with HTTP fault filter
AnswersB, E

Chaos Mesh is a popular chaos engineering tool for Kubernetes.

Why this answer

Chaos Mesh is a dedicated chaos engineering platform for Kubernetes. Traffic Director's HTTP fault filter can inject faults at the proxy level for services within a mesh. Both can be used on GKE.

750
MCQhard

An organization uses Terraform to manage infrastructure across multiple projects. They want to use a single shared Terraform state file for their production environment but isolate state for development environments. The team uses Terraform Cloud workspaces. Which state management approach is most appropriate?

A.Use Terraform Enterprise instead of Terraform Cloud because it supports state isolation.
B.Use a single GCS bucket as the backend and store all states in the same prefix.
C.Use a single Terraform workspace for all environments, with separate state files via the -state flag.
D.Create separate Terraform Cloud workspaces for production and development environments.
AnswerD

Correct. Workspaces provide isolated state per environment.

Why this answer

Terraform Cloud workspaces provide isolated state per workspace. Using separate workspaces for production and development keeps state isolated while leveraging a single Terraform Cloud organization.

Page 9

Page 10 of 14

Page 11
Google Professional Cloud Database Engineer PCDE Questions 676–750 | Page 10/14 | Courseiva