Snowflake · Free Practice Questions · Last reviewed May 2026
24real exam-style questions organised by domain, each with the correct answer highlighted and a plain-English explanation of why it's right — and why the others are wrong.
An architect notices a large table is frequently queried using a range filter on a timestamp column. The table is currently clustered by a high-cardinality ID column. What is the most efficient way to improve query performance?
Add a search optimization service index on the timestamp column.
Increase the warehouse size to handle the large table scan.
Define a clustering key on the timestamp column.
Defining a clustering key on the timestamp column allows Snowflake to organize data into micro-partitions based on time ranges. This enables partition pruning, where the engine skips partitions that fall outside the query range. This significantly reduces data retrieval time and improves overall performance for time-series analytical workloads.
Convert the table to a temporary table to reduce metadata overhead.
Which action should an architect take to optimize a query that is experiencing significant 'Remote Disk Spilling' during a join operation on large datasets?
Enable multi-cluster warehouse auto-scaling.
Increase the warehouse size.
Increasing the warehouse size doubles the compute and memory resources per node. This extra memory capacity allows the query processing engine to perform operations like hash joins entirely in memory, eliminating the performance penalty of writing temporary data to remote storage, which is the primary cause of slow performance.
Change the table join order in the SQL statement.
Remove the query from the warehouse and use a serverless task.
Which Snowflake feature should be used to improve performance for point lookups on tables with billions of rows?
Automatic Clustering.
Search Optimization Service.
The Search Optimization Service provides an indexed access path that enables extremely fast performance for point lookups. By maintaining specialized metadata, it allows the query processor to jump directly to the specific micro-partitions containing the requested data, bypassing the need for scanning the vast majority of the table storage.
Materialized Views.
Result Caching.
Which THREE factors should be considered when evaluating the cost-benefit of enabling the Search Optimization Service on a large table? (Choose three.)
The frequency and selectivity of point lookup queries.
Search optimization is most effective when queries are frequent and highly selective, returning only a small number of rows. If queries are infrequent or scan a large portion of the table, the cost of the service will likely outweigh the performance benefits provided by the indexed lookup structure.
The rate of DML operations on the table.
DML operations (INSERT, UPDATE, DELETE) trigger updates to the search optimization metadata. High rates of DML can lead to increased maintenance costs and potential latency in index updates. Understanding the DML volume is crucial to ensuring that the performance gains in queries are not negated by the maintenance overhead.
The total number of rows in the table.
The storage costs associated with the search optimization indices.
Search optimization creates additional data structures that reside in storage and incur costs. Architects must weigh these ongoing storage costs against the performance requirements of the business. If the performance requirement is not critical, the added storage cost may not be justified for the given table or column.
The number of concurrent users accessing the warehouse.
An architect is optimizing a query that joins a large fact table and a small dimension table. The query is slow. What should be the first step to improve performance?
Create a clustering key on the fact table.
Analyze the Query Profile to check for broadcast joins.
The Query Profile reveals how the join is being performed. A broadcast join sends the small dimension table to every node, which is optimal. If it is not being broadcast, the architect can investigate why the optimizer chose a different method and potentially adjust the query to force better behavior.
Increase the warehouse size to its maximum.
Convert the dimension table into a temporary table.
Refer to the exhibit. What is the most likely performance issue here?
The warehouse is too small for the amount of data.
The table is not effectively clustered by the date column.
When a query filters by a specific range and scans all partitions, it is a clear sign that the physical data layout does not support the query filter. By clustering the table by the date column, the engine can identify and skip partitions that fall outside the specified date range.
The result cache is disabled.
The query is missing a search optimization index.
Want more Performance Optimization practice?
Practice this domainWhich TWO of the following statements correctly describe the behavior of Key Pair Authentication in Snowflake?
The private key is stored in the Snowflake user object.
The public key must be associated with the user profile.
To enable key pair authentication, the public key must be converted to a specific format and associated with the Snowflake user via an ALTER USER command. Snowflake uses this stored public key to verify the signature generated by the client's private key during the authentication sequence, confirming the user's identity.
Key pair authentication is only supported for the ACCOUNTADMIN role.
Key rotation involves updating the public key in the Snowflake user object.
Key rotation is a standard security practice that involves generating a new key pair and updating the public key stored within the Snowflake user profile. This ensures that even if a private key is compromised, it has a limited lifetime, maintaining the integrity and security of the automated service connections.
Snowflake manages the generation of the private key.
An architect is designing a security model where a specific service account should only have access to perform SELECT operations on tables within a specific schema. How should this be implemented to adhere to the principle of least privilege?
Grant the SECURITYADMIN role to the service account.
Create a custom role, grant USAGE on database and schema, then grant SELECT on all tables.
This approach isolates the service account's permissions to only the necessary operations (SELECT) within the required scope (Database/Schema). By avoiding the use of powerful predefined roles, the architect ensures that the service account remains restricted, minimizing the blast radius if the service account's credentials were to be inadvertently exposed.
Assign the ACCOUNTADMIN role to the service account.
Grant SELECT on the whole database to the PUBLIC role.
Which THREE of the following are valid methods for securing data in transit for connections to Snowflake?
Enforcing TLS 1.2+ for all client drivers.
Snowflake requires TLS 1.2 for all encrypted communications. Ensuring that client drivers, connectors, and applications are configured to support this protocol is essential. It provides the necessary cryptographic handshake to verify the server's identity and ensure that the traffic between the client and Snowflake remains encrypted and tamper-proof throughout the transit.
Using Snowflake Private Link for private connectivity.
Private Link allows traffic to stay within the cloud provider's backbone network rather than traversing the public internet. This significantly reduces the attack surface by ensuring that data traffic is isolated from public traffic, providing a highly secure and private channel for sensitive data transfers to and from Snowflake.
Implementing client-side data encryption with PGP.
Restricting access to approved IP addresses via Network Policies.
Network policies provide a fundamental layer of security by ensuring that only traffic originating from trusted, known IP addresses can reach the Snowflake instance. By limiting the source of traffic, architects reduce the risk of unauthorized connection attempts and ensure that only managed networks can initiate data transfers into the Snowflake environment.
Enabling the Snowflake data sharing feature.
An architect needs to audit all queries executed by users in the last 30 days. Which approach is most efficient?
Query the INFORMATION_SCHEMA.QUERY_HISTORY view.
Query the SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY view.
The ACCOUNT_USAGE.QUERY_HISTORY view contains query metadata for up to 365 days, making it the correct choice for a 30-day lookback requirement. It is designed for audit and analysis purposes, providing a centralized and consistent view of all query activity across the account without requiring the maintenance of custom logging solutions.
Enable query logging in the user profile.
Use the GET_QUERY_HISTORY() function.
Which feature is essential for ensuring that queries on PII (Personally Identifiable Information) columns are masked from unauthorized users?
Row-Level Security (RLS).
Dynamic Data Masking (DDM).
Dynamic Data Masking is specifically designed to redact or obfuscate sensitive data at query time based on the active role of the user. This is the optimal way to handle PII as it ensures data integrity while allowing for functional access to the rest of the table's data, meeting compliance standards for data security.
Data Encryption at Rest.
Object Tagging.
An organization has a Network Policy applied at the Account level to restrict IP ranges. A specific user requires access from a home office IP not in the account range. How should the architect configure this while maintaining the strictest security posture?
Modify the existing account-level network policy to include the user's home IP address.
Create a new role for the user and attach the network policy to that specific role.
Create a user-level network policy and assign it directly to that specific user account.
User-level network policies take precedence over account-level policies, allowing architects to define exceptions for specific identities. By creating a policy that includes the unique IP and assigning it directly to the user, the architect ensures that only that specific identity can bypass the broader organizational restrictions.
Disable the account-level network policy and rely solely on multi-factor authentication for security.
Want more Accounts and Security practice?
Practice this domainA data engineer is designing an automated ingestion pipeline using Snowpipe Streaming to ingest high-frequency clickstream data from Kafka into Snowflake tables. The architecture requires low latency and cost-effective continuous loading. Which underlying Snowflake architectural feature makes Snowpipe Streaming uniquely capable of bypassing the traditional internal staging phase?
It leverages serverless tasks to automatically stage and bulk load streaming batches every minute.
It writes data directly to internal table micro-partitions via client-side API calls, avoiding file staging.
Snowpipe Streaming uses client-side API calls to write rows straight into internal table micro-partitions, bypassing the internal staging phase entirely. This removes the file-write-and-load cycle that standard Snowpipe depends on, delivering the low latency and continuous, cost-effective ingestion the Kafka clickstream pipeline requires.
It requires continuous execution of a dedicated virtual warehouse to transform and commit micro-batches.
It automatically converts incoming streaming payloads into Parquet files before final table insertion.
Refer to the exhibit. Task T2 is a child task of T1. If T1 completes successfully but the stream 'S1' is empty, what will be the status and behavior of Task T2?
T2 will fail with an error indicating that the stream contains no records for processing.
T2 will enter a 'SKIPPED' state and will not consume any warehouse credits.
When the condition in the WHEN clause (SYSTEM$STREAM_HAS_DATA) evaluates to false, Snowflake skips the task execution. This is the intended behavior for efficient pipeline design, ensuring that the warehouse is not started and no credits are billed for tasks that have no work to perform.
T2 will run and perform a full table scan of the stream, resulting in zero rows inserted.
T2 will wait until S1 has data before executing, potentially delaying the rest of the DAG.
A data engineer is loading a large CSV file into Snowflake using the COPY INTO command. They want the load to continue even if some rows have errors, and they need to review the errors later. Which parameter should be added to the COPY command?
ON_ERROR = 'ABORT_STATEMENT'
ON_ERROR = 'CONTINUE'
The CONTINUE option instructs Snowflake to ignore errors and keep loading data from the file. This is a common pattern in data engineering for handling 'dirty' source data, allowing the pipeline to remain resilient while providing a mechanism to audit and fix rejected rows after the load completes.
ON_ERROR = 'SKIP_FILE'
VALIDATION_MODE = 'RETURN_ERRORS'
Refer to the exhibit. An architect reviews the status of a Snowpipe and notices a high 'pendingFileCount'. The warehouse is not under heavy load. What is the most effective way to improve the ingestion throughput for this pipe?
Scale up the virtual warehouse assigned to the pipe to a larger size.
Reduce the number of files by aggregating data into larger files (100-250 MB) before they reach the S3 bucket.
Snowflake's ingestion services are most efficient when processing files in the 100MB to 250MB range. Having many small files increases the overhead of metadata management and file opening, which can lead to a backlog. Consolidating files reduces this overhead and allows Snowpipe to process more data per unit of time.
Increase the MAX_CONCURRENCY_LEVEL parameter in the Pipe definition to allow more parallel loads.
Use the ALTER PIPE ... REFRESH command to force the pipe to process the pending files faster.
An architect is designing a staging area for a daily ETL process where data is loaded, transformed, and then moved to a permanent production table. The staging data is only needed for 24 hours and does not require long-term Fail-safe protection. Which table type is most cost-effective?
Permanent Tables
Temporary Tables
Transient Tables
Transient tables provide a middle ground by persisting until explicitly dropped but without the Fail-safe requirement. They support Time Travel for up to one day, which is sufficient for most ETL staging needs, and they eliminate the long-term storage costs associated with the Fail-safe period.
External Tables
A data engineer is concerned about the performance of a large-scale batch transformation that runs every night. Which TWO techniques can be used to improve the performance of a complex join between two very large tables (billions of rows)?
Define a Clustering Key on the join columns for both large tables.
When both tables in a join are clustered on the join key, Snowflake can perform a more efficient join by pruning micro-partitions that do not contain matching values. This significantly reduces the amount of data that must be scanned and shuffled across the network, leading to much faster query execution.
Increase the size of the virtual warehouse to provide more memory and prevent spilling to disk.
Large joins often require substantial memory for building hash tables. If the warehouse is too small, Snowflake will 'spill' data to the local SSD or even remote storage, which is much slower. A larger warehouse provides more RAM per node, keeping the join operation in-memory and improving performance.
Use the SEARCH_OPTIMIZATION_SERVICE on the join columns of the smaller table.
Convert the tables to Iceberg format to utilize external metadata indexing.
Enable Query Acceleration Service (QAS) for the warehouse running the ETL.
Want more Data Engineering practice?
Practice this domainWhich statement accurately describes the characteristics of micro-partitions in Snowflake's architecture?
They are physical files that users must manually define using partition keys.
They are immutable files that are encrypted and stored in the storage layer.
Micro-partitions are immutable, meaning they cannot be modified once written. When data is updated or deleted, Snowflake creates new versions of the partitions. These files are automatically encrypted at rest and stored in the cloud provider's object storage. This immutability is the foundation for Snowflake's data versioning capabilities.
They use a row-based storage format to optimize for high-frequency OLTP writes.
They are stored in the Cloud Services layer to allow for faster metadata access.
A database architect needs to design a high-churn table that receives millions of updates daily. To minimize storage costs associated with Fail-safe and Time Travel while maintaining some recovery capability, which table type and configuration should be used?
Permanent table with Time Travel set to 0 days.
Transient table with Time Travel set to 1 day.
Transient tables provide a balance by allowing up to 1 day of Time Travel for accidental deletion recovery while completely eliminating the 7-day Fail-safe period. This architecture is ideal for high-churn data where the cost of Fail-safe storage would outweigh the benefit of long-term emergency recovery provided by Snowflake support.
Temporary table with Time Travel set to 90 days.
Permanent table with a cluster key defined on the update timestamp.
In Snowflake's architecture, what happens to the existing data in a table when a new Cluster Key is defined and the Automatic Clustering service is enabled?
The table is immediately locked and the data is rewritten to match the new key.
Snowflake uses a serverless background service to incrementally re-cluster the data.
Automatic Clustering is a serverless feature that monitors the clustering health of tables. When a key is defined, the service uses its own compute resources to reshuffle data into new micro-partitions that better align with the key. This process is incremental and prioritizes the most 'out-of-order' partitions to improve query pruning efficiency.
The user must run the RECLUSTER command to trigger the data movement manually.
Existing data remains unchanged; only new data will be clustered using the new key.
Which layer of the Snowflake architecture is responsible for ensuring ACID compliance and transactional integrity?
The Storage Layer, which uses immutable files to prevent data corruption.
The Virtual Warehouse Layer, which executes the commit and rollback commands.
The Cloud Services Layer, which manages metadata and transaction state.
The Cloud Services layer acts as the global coordinator for all transactions. It maintains the metadata that tracks which micro-partitions belong to which version of a table and manages the locks required to ensure ACID compliance. This architecture allows for multiple virtual warehouses to access the same data consistently without conflict.
The Network Layer, which ensures that data packets are delivered without errors.
A Data Provider wants to share data with a Consumer who does not have a Snowflake account. Which TWO architectural components are required to facilitate this type of sharing?
A Reader Account created and managed by the Data Provider.
Reader Accounts are a specific architectural feature designed for consumers who do not have their own Snowflake account. The Data Provider creates the account within their own organization and provides the login credentials to the consumer. The provider is responsible for all costs incurred by the virtual warehouses within the reader account.
A Private Data Exchange listing that is restricted to the consumer's IP.
A Share object containing grants on the database and schema.
A Share is the architectural container used in Snowflake to define which objects (tables, views, etc.) are visible to another account. To share data, the provider creates a share, adds the necessary database objects to it, and then assigns the share to the consumer's account (in this case, the Reader Account).
A Storage Integration that allows the consumer to access the provider's S3 bucket.
A Secure View that masks the provider's metadata from the consumer.
Refer to the exhibit. An architect needs to optimize this warehouse to handle a batch process that performs a massive table scan followed by a complex join on 10 billion rows. What is the most effective architectural change?
Increase the max_cluster_count to 5 to enable multi-cluster scaling.
Change the size of the warehouse from X-SMALL to LARGE.
Vertical scaling by increasing the warehouse size is the correct architectural approach for improving the performance of large, complex queries. A 'Large' warehouse has 8 nodes compared to the 1 node of an 'X-Small'. This provides more parallel processing power and significantly more memory to handle the massive join operation and prevent data spilling.
Set the auto_resume property to TRUE to ensure the warehouse starts automatically.
Alter the warehouse type from STANDARD to SNOWPARK-OPTIMIZED.
Want more Snowflake Architecture practice?
Practice this domainThe ARA-C01 exam has 60–90 questions and must be completed in 120 minutes. The passing score is 700/1000.
Scenario-based questions covering exam objectives with detailed answer explanations.
The exam covers 4 domains: Performance Optimization, Accounts and Security, Data Engineering, Snowflake Architecture. Questions are weighted by domain — higher-weight domains appear more on your actual exam.
No. These are original exam-style practice questions written against the official Snowflake ARA-C01 exam objectives. They are not copied from the real exam. Courseiva focuses on genuine understanding, not memorisation of braindumps.
Courseiva tracks your accuracy per domain and routes you toward weak areas automatically. Free, no account required.