SnowPro Advanced: Data Engineer · 10% of the exam

Collaboration and Cost Optimization: free practice questions

5 sample questions from our 25-question bank for this domain — answers and explanations included. These are the same scenario-based style as the real Snowflake exam.

1. A data engineering team wants to publish a proprietary geospatial dataset to the Snowflake Marketplace as a paid listing. They need to ensure that potential buyers can evaluate the data quality before purchasing. Which Snowflake Marketplace feature allows providers to offer a subset of the data for evaluation without requiring a separate manual process?

  • A. Trial listings, which grant time-limited or row-limited access to the full dataset automatically.✓ Correct
  • B. Personalized listings, which allow the provider to manually send sample files to each prospective buyer.
  • C. Data Clean Rooms, which expose a privacy-safe aggregated version of the dataset for evaluation.
  • D. Reader Accounts provisioned by the provider for each prospective buyer during the sales process.
Explanation

The Snowflake Marketplace supports trial listings that automatically grant prospective consumers limited access (e.g., time-limited or data-limited) to evaluate the dataset before committing to a purchase, without requiring the provider to manage this manually. Option B (personalized listings) is a real Marketplace concept for customized pricing/data per consumer, but it does not provide automated sample access — it requires manual negotiation and fulfillment. Option C misapplies Data Clean Rooms, which are designed for privacy-preserving joint analysis between collaborating parties, not for marketplace trial access. Option D (Reader Accounts) is a valid sharing mechanism but requires the provider to manually provision and manage an account per prospect, defeating the self-service automation goal.

2. A Snowflake data engineer is designing a pipeline that processes 500 GB of raw JSON files daily. Intermediate transformation results are stored in Snowflake tables for only 24 hours before being overwritten. The team wants to minimize storage costs without impacting pipeline functionality. Which table type should be used for these intermediate tables, and what Time Travel setting is appropriate?

  • A. Permanent tables with DATA_RETENTION_TIME_IN_DAYS = 1, to allow recovery if the pipeline fails.
  • B. Transient tables with DATA_RETENTION_TIME_IN_DAYS = 0, eliminating Fail-safe storage overhead.✓ Correct
  • C. Temporary tables with DATA_RETENTION_TIME_IN_DAYS = 1, persisting data across sessions for reuse.
  • D. External tables pointing to the raw S3 files, bypassing Snowflake storage entirely.
Explanation

Transient tables incur no Fail-safe storage costs (Fail-safe is unavailable for transient tables) and support DATA_RETENTION_TIME_IN_DAYS of 0 or 1. Setting retention to 0 eliminates all Time Travel storage overhead for data that is replaced every 24 hours, minimizing cost. Option A uses permanent tables, which carry a mandatory 7-day Fail-safe period, doubling storage charges unnecessarily. Option C is incorrect because temporary tables exist only for the duration of a session; they cannot persist data across pipeline runs or sessions as implied, and they also cannot have a retention period of 1 day in a cross-session context. Option D avoids storage costs but requires querying semi-structured data directly from S3 on every run, losing the performance and caching benefits of native Snowflake storage for intermediate transformations.

3. A Snowflake account has Search Optimization Service (SOS) enabled on a 10 TB table used by a fraud detection pipeline. The pipeline runs point-lookup queries (equality predicates on high-cardinality columns) hundreds of times per hour. The data engineering team is reviewing the monthly bill and notices that SOS is a significant cost driver. Which of the following are valid strategies to reduce SOS costs while maintaining acceptable query performance? (Select TWO.)

  • A. Disable SOS on the entire table and add clustering keys on the high-cardinality predicate columns instead, as clustering achieves equivalent performance for point lookups.
  • B. Use the ALTER TABLE … DROP SEARCH OPTIMIZATION ON COLUMN command to remove SOS only from low-selectivity columns that do not benefit from it, retaining it on the columns actually used in fraud queries.✓ Correct
  • C. Reduce the table's Time Travel retention to 0 days, which lowers SOS maintenance overhead because fewer historical versions are indexed.
  • D. Partition the 10 TB table into smaller Snowflake tables by date range, so SOS is enabled only on the current partition that fraud queries target, reducing the indexed data volume.✓ Correct
  • E. Switch the fraud detection queries to use a dedicated X-Large warehouse; larger warehouses skip SOS and perform full partition scans faster.
Explanation

Option B is correct: Snowflake allows column-level SOS management. Removing SOS from columns not used in selective lookups reduces both the storage cost of the search access paths and the maintenance compute required to keep them updated. Option D is correct: SOS storage and maintenance costs scale with indexed data volume. Partitioning the table by date and enabling SOS only on the active partition (e.g., last 30 days of fraud-relevant data) significantly reduces the indexed volume while keeping performance for the targeted queries. Option A is incorrect: Clustering keys improve micro-partition pruning for range scans and low-cardinality columns but are not effective for point lookups on high-cardinality columns (e.g., transaction IDs, device fingerprints) — this is precisely the use case SOS is designed for. Option C is incorrect: SOS maintenance cost is driven by data mutations (DML), not by Time Travel retention settings; reducing Time Travel does not lower SOS costs. Option E is fabricated; larger warehouses still use SOS when it is enabled — they do not skip it in favor of full scans.

4. A healthcare data provider wants to share de-identified patient outcome data with three pharmaceutical research partners. Each partner must only see data relevant to their own drug trials, with no cross-partner data visibility. All three partners have existing Snowflake accounts. The provider wants to minimize administrative overhead when adding new partners in the future. Which approach BEST satisfies all requirements?

  • A. Create a single Secure Share with a parameterized Secure View that filters rows based on the consuming account name (CURRENT_ACCOUNT()), attach all three partners to the same share.✓ Correct
  • B. Create three separate Shares, each containing a full copy of the dataset, and rely on partners to filter their own data.
  • C. Publish the dataset to the Snowflake Marketplace as a private listing with row-level access controlled by a post-install configuration script that partners must run.
  • D. Provision three Reader Accounts (one per partner) and load filtered subsets of the data into each Reader Account's dedicated database.
Explanation

A Secure View using CURRENT_ACCOUNT() (or CURRENT_ORGANIZATION_ACCOUNT()) as a filter predicate allows the provider to attach multiple consumer accounts to a single Share while enforcing row-level data isolation — each partner automatically sees only the rows relevant to their account. Adding a new partner requires only attaching their account to the existing Share, minimizing administrative overhead. Option B creates three separate Shares with full copies, which multiplies storage costs and administrative effort for each new partner — it also relies on partners to self-enforce data restrictions, which violates isolation requirements. Option C misuses the Marketplace (designed for broad distribution, not controlled partner sharing) and relies on a post-install script that is insecure and operationally fragile. Option D uses Reader Accounts, which are designed for external parties without existing Snowflake accounts — since all partners already have Snowflake accounts, Reader Accounts add unnecessary management overhead and are not the right fit.

5. A data engineering team manages a Snowflake account shared across five business units. The VP of Engineering wants each business unit's Snowflake spending capped at $5,000 per month, with automated alerts when spending reaches 80% of the cap and automatic enforcement at 100%. Which Snowflake feature set should the data engineer implement?

  • A. Create one account-level Resource Monitor with a $25,000 monthly limit and split the credit alerts proportionally across five notification thresholds.
  • B. Create a Snowflake Budget object for each business unit's set of warehouses, setting a $5,000 monthly spending limit with an 80% alert threshold, and create warehouse-level Resource Monitors with SUSPEND actions at the $5,000 equivalent credit value.✓ Correct
  • C. Use Snowflake's native cost allocation tags on each warehouse and configure a third-party FinOps tool to enforce per-business-unit limits and send alerts.
  • D. Set the MAX_CLUSTER_COUNT on each business unit's multi-cluster warehouse to a value that limits maximum possible credit consumption to $5,000 per month based on the warehouse size.
Explanation

Option B is correct: This requires two complementary features. Snowflake Budgets provide object-level spending limits with configurable alert thresholds (e.g., alert at 80%) and are specifically designed for cost governance at a granular level. However, Budgets primarily provide visibility and alerts — for hard enforcement (automatic suspension), warehouse-level Resource Monitors with SUSPEND or SUSPEND_IMMEDIATE actions at the credit equivalent of $5,000 are needed. Using both together achieves the full requirement: proactive alerts at 80% via Budgets and hard enforcement at 100% via Resource Monitors. Option A is incorrect because a single account-level Resource Monitor cannot enforce per-business-unit limits — it aggregates all warehouse spend, so one business unit overspending would penalize others; the thresholds on a single monitor also cannot be split per-BU. Option C is incorrect because Snowflake does not have native 'cost allocation tags' in the same sense as AWS/Azure; while query tags exist for attribution, enforcement via a third-party tool is not a Snowflake-native solution and does not meet the requirement for automated enforcement. Option D is incorrect because MAX_CLUSTER_COUNT controls concurrency scaling (number of parallel warehouse clusters) in multi-cluster mode, not total credit spend; it cannot translate directly to a dollar cap.

20 more questions in this domain

Practice the full bank with instant grading, flashcards, and a timed mock exam.

Start practicing free
Collaboration and Cost Optimization — Free SnowPro Advanced: Data Engineer Practice Questions | DataCertPrep — Certification Prep