ARA-C01 Sample Questions

ARA-C01 Sample Questions & Answers

Architecture decisions, like data sharing and development-lifecycle design, carry the most weight, next to account and database strategy with security and governance, choosing load and transform solutions in the data pipeline, and troubleshooting performance.

Launch the full ARA-C01 simulator →

Showing 10 of 20 free samples.

  1. Question 1Beginner

    Snowflake Architecture · Design data sharing solutions, based on different use cases

    True or False: When sharing a table with a consumer account via a standard Secure Share, the data is physically copied to the consumer's account, and the consumer is responsible for the storage costs of the shared data.

    Show answer & explanation

    Correct answer: B

    The statement is false. Snowflake's Secure Data Sharing is built on its unique architecture that separates storage and compute. Data is never physically copied to the consumer's account. Instead, the consumer gets secure, live, read-only access to the provider's data. Because the data remains in the provider's account, the provider is responsible for all storage costs. The consumer is only responsible for the compute costs incurred from querying the shared data using their own virtual warehouses.

  2. Question 2Beginner

    Data Engineering · Determine the appropriate data transformation solution to meet business needs

    A media company is building a data pipeline to process video metadata files (JSON format) arriving in an S3 bucket. The JSON files have a deeply nested structure. The goal is to load this raw JSON into a staging table with a single VARIANT column and then transform and flatten the nested arrays into a structured analytical table. What is the most appropriate Snowflake function to use for un-nesting the JSON arrays during the transformation step?

    Show answer & explanation

    Correct answer: C

    The FLATTEN function is a table function specifically designed to explode semi-structured data, like JSON arrays, into a relational representation. It produces a lateral view of a VARIANT, OBJECT, or ARRAY column, effectively converting each element of the array into a separate row in the result set. PARSE_JSON is used to convert a string into a VARIANT, which is done at ingestion. JSON_EXTRACT_PATH_TEXT is used to extract scalar values from a specific path within the JSON, not to un-nest an entire array. CHECK_JSON is for validation.

  3. Question 3Advanced

    Performance Optimization · Troubleshoot performance issues with existing architectures

    An e-commerce company has a multi-cluster warehouse configured with a scaling policy set to ECONOMY. During the peak holiday season, they observe that user queries are frequently getting queued, leading to slow dashboard performance. The monitoring dashboard shows that while the warehouse has scaled out to its maximum cluster count, the average CPU utilization across all clusters remains low, around 30-40%. What is the most likely reason for this behavior?

    Show answer & explanation

    Correct answer: B

    The ECONOMY scaling policy is designed to conserve credits by starting new clusters only when the system estimates there's enough query load to keep the new cluster busy for at least 6 minutes. This can lead to queuing even if the current clusters are not fully utilized, as the policy waits to ensure the new cluster will be used efficiently. The low CPU utilization suggests the existing clusters are handling their current load, but the queuing indicates that the policy is too conservative for the bursty, high-concurrency workload of the holiday season. Changing the policy to STANDARD would start new clusters more aggressively, reducing queue time.

  4. Question 4Advanced

    Snowflake Architecture · Design data sharing solutions, based on different use cases

    Case Study: Global Retailer's Data Mesh Architecture

    A large retail corporation with headquarters in North America is implementing a decentralized Data Mesh architecture using Snowflake. They have business units in EMEA and APAC, each responsible for their own data products (e.g., Sales, Marketing, Supply Chain). Each business unit will have its own Snowflake account in their respective cloud region (AWS us-east-1, Azure West Europe, GCP asia-southeast1) to maintain data sovereignty and autonomy.

    Current Situation & Technical Requirements:

    1. The central BI team in North America needs to build consolidated global sales dashboards. This requires joining sales data from all three regional accounts.
    2. The solution must be real-time; as soon as a regional sales table is updated, the change should be reflected in the central account.
    3. The central BI team must not incur storage costs for the regional data. They should only pay for the compute they use to query it.
    4. The architecture must be resilient. If the primary cloud region for the central BI team (AWS us-east-1) becomes unavailable, they must be able to fail over to a secondary account in AWS us-west-2 with minimal data loss (RPO < 5 minutes) and be operational within an hour (RTO < 1 hour).

    Which architectural design best satisfies all the requirements of the global retailer?

    Show answer & explanation

    Correct answer: D

    This is the optimal solution. Using Secure Data Sharing meets requirements 1, 2, and 3: it provides live, real-time access to data across regions and clouds without copying it, so the central BI team only pays for compute. For requirement 4, the regional accounts must share their data with both the primary (us-east-1) and secondary (us-west-2) NA accounts. The databases created from these shares are not replicated via Account Replication. Instead, a Failover Group should be used to replicate the central account's own objects like users, roles, and warehouses. In a failover event, the secondary account is promoted, and it already has access to the live regional data via the pre-configured shares, allowing it to resume operations quickly.

  5. Question 5Intermediate

    Accounts and Security · Design an architecture that meets data security, privacy, compliance, and governance requirements

    A DevOps team is automating the deployment of a Snowflake environment using CI/CD. As part of the process, they need to programmatically check if a specific Row Access Policy is attached to a given table before proceeding with other changes. Which information source should they query to get this information reliably?

    Show answer & explanation

    Correct answer: C

    The POLICY_REFERENCES function (or the SNOWFLAKE.ACCOUNT_USAGE.POLICY_REFERENCES view for historical lookups) is the correct tool for this task. It is specifically designed to show which security policies (like masking or row access) are set on which objects. Querying this function with the policy name will return the objects it is attached to, or querying with the object name will return the policies attached to it. The TABLES view does not contain policy attachment details. GET_DDL shows the table's DDL but not the policy attachments, which are managed separately via ALTER TABLE ... ADD ROW ACCESS POLICY. The APPLICABLE_ROLES view shows role information, not policy attachments.

  6. Question 6Beginner

    Data Engineering · Determine the appropriate data loading or data unloading solution to meet business needs

    An architect needs to load a continuous stream of small (1-5 MB) CSV files from an Azure Blob Storage container into a Snowflake table with the lowest possible latency and minimal credit consumption. The solution should be fully managed and automatically trigger loads as new files arrive. Which Snowflake feature is purpose-built for this scenario?

    Show answer & explanation

    Correct answer: B

    Snowpipe is Snowflake's continuous data ingestion service, designed for exactly this use case: loading micro-batches of data as they become available in an external stage. It is serverless, meaning you don't manage a virtual warehouse, which minimizes credit consumption for sporadic, small loads. Configuring auto-ingest with an Azure Event Grid notification provides the lowest latency, as the load is triggered immediately upon file creation rather than on a fixed schedule. A task-based approach would consume warehouse credits for the entire time it runs, even if there are no new files, making it less cost-effective and introducing latency up to the schedule interval.

  7. Question 7Intermediate

    Performance Optimization · Troubleshoot performance issues with existing architectures

    A query against a 10 TB table with a well-defined clustering key on ORDER_DATE is performing poorly. The query filters on a specific CUSTOMER_ID. The architect checks the clustering information and confirms the table is well-clustered by ORDER_DATE. Analysis of the query profile shows that micro-partition pruning is ineffective. What is the most likely reason for the poor performance?

    Show answer & explanation

    Correct answer: A

    Micro-partition pruning is only effective when the query's filter predicates align with the columns in the table's clustering key. In this scenario, the table is clustered by ORDER_DATE, but the query filters by CUSTOMER_ID. Since the CUSTOMER_ID values are likely spread randomly across all the date-based micro-partitions, Snowflake cannot prune any partitions and must perform a full table scan. The problem is the mismatch between the clustering strategy and the query pattern. High cardinality or low cardinality of the key itself is not the direct cause; the mismatch is.

  8. Question 8Intermediate

    Accounts and Security · Design an architecture that meets data security, privacy, compliance, and governance requirements

    A company is designing its role hierarchy. They have defined a set of functional roles (e.g., SALES_ANALYST, FINANCE_AUDITOR) that are granted to users. They have also defined a set of access roles (e.g., DB_SALES_READ, DB_FINANCE_PII_READ) that are granted privileges on database objects. What is the Snowflake best practice for combining these two types of roles?

    Show answer & explanation

    Correct answer: C

    The Snowflake best practice for designing a role hierarchy is to grant privileges on objects to access roles, grant those access roles to functional roles, and finally grant the functional roles to users. This creates a clean, manageable, and scalable RBAC model. It decouples users and their business functions from the underlying permissions on physical data objects, making it easier to manage access as the organization changes.

  9. Question 9AdvancedSelect 3

    Snowflake Architecture · Determine the appropriate data recovery solution in Snowflake

    An organization has a critical production database in their Snowflake account running on AWS us-east-1. They have a business continuity requirement for a cross-cloud disaster recovery site on Azure eastus2. The Recovery Point Objective (RPO) is 10 minutes, and the Recovery Time Objective (RTO) is 30 minutes. Which Snowflake features must be configured to meet this DR requirement? (Select THREE)

    Show answer & explanation

    Correct answers: A, C, E

    Database replication is the core mechanism for asynchronously copying the data from the primary account (AWS) to the secondary account (Azure). This is what allows the data to be available in the DR site.

    A Failover Group is essential for meeting the RTO. It bundles the databases for replication and allows for a single command to fail over all objects in the group, including account-level objects like users and roles, to the secondary account. This automates and speeds up the recovery process.

    A separate Snowflake account must be provisioned in the target cloud and region (Azure eastus2) to act as the replication target and the failover site. Replication occurs between two distinct accounts.

  10. Question 10Intermediate

    Data Engineering · Outline key tools in Snowflake's ecosystem and how they interact with Snowflake

    A data science team is using Snowpark for Python to perform complex transformations and train a machine learning model. They are running their code on a large virtual warehouse. They notice that their Snowpark DataFrame operations are slow. When they inspect the generated SQL queries in the query history, they see a very complex, multi-level nested query. Which Snowpark operation is the most effective way to break up the complex query plan, persist an intermediate result, and potentially improve performance?

    Show answer & explanation

    Correct answer: C

    Due to Snowpark's lazy execution, DataFrame operations are chained together and compiled into a single complex SQL query when an action is called. The .cache_result() method is an action that evaluates the DataFrame, executes the corresponding SQL, and stores the result in a temporary table. Subsequent operations on this cached DataFrame will then query the simpler temporary table instead of re-executing the entire complex upstream logic. This is the standard technique for breaking the query plan and materializing intermediate results to improve performance and reliability in complex Snowpark workflows. .collect() and .to_pandas() are actions, but they pull data to the client side, which is not what's needed here. persist() is not a valid Snowpark Python method.

Ready for the real thing?

The full ARA-C01 simulator has every exam-style question, timed mode, and instant scoring.