How to use DVA-C02 flashcards effectively
Flashcards work through active recall — the process of retrieving information from memory rather than passively re-reading it. Research consistently shows that active recall produces stronger, longer-lasting memory than re-reading study guides. For DVA-C02 preparation, this means flashcards are one of the highest-return study tools available.
Attempt recall first
Read the DVA-C02 question on each card, pause, and attempt to formulate the answer in your own words before revealing. This retrieval attempt — even if wrong — dramatically strengthens memory compared to immediately reading the answer.
Review wrong cards again
When you get a card wrong, note it and add it back to your review pile. Spaced repetition — seeing difficult cards more frequently — is the mechanism that makes flashcard study far more efficient than linear reading.
Study by domain
Group your DVA-C02 flashcard sessions by domain for the first 3–4 weeks. Master one domain before moving to the next. In the final week, shuffle all cards together to test cross-domain recall — which is what the real DVA-C02 exam requires.
Short sessions beat marathon reviews
20–30 flashcard cards per session, done daily, produces better retention than a single 200-card marathon session. Five short daily sessions per week over 4 weeks gives you over 400 total card reviews — enough to reliably pass DVA-C02.
DVA-C02 flashcard preview
Sample cards from the DVA-C02 flashcard bank. Read the question, think of the answer, then read the explanation below.
A developer has an AWS Lambda function that processes messages from an Amazon SQS queue. The function is configured with a batch size of 10, reserved concurrency of 5, and a timeout of 5 minutes. The SQS queue has a large backlog, and CloudWatch metrics show high throttling (Throttles) for the Lambda function. The function is idempotent and can process up to 100 messages in a single invocation. What is the MOST effective way to increase throughput without increasing the reserved concurrency?
Increase the batch size to 100.
The Lambda function is throttled because with reserved concurrency of 5, at most 5 concurrent executions can happen. Each invocation processes 10 messages (batch size). To increase throughput without increasing reserved concurrency, the developer can increase the batch size. By increasing the batch size to 100, each invocation will process more messages, thus reducing the number of invocations needed and lowering the chance of throttling. The function's timeout of 5 minutes is sufficient to handle 100 messages. Additionally, increasing the maximum number of batches per invocation (via partial batch response) is not directly applicable here. Increasing the number of concurrent executions is not allowed. Reducing the reserved concurrency would reduce throughput. Therefore, increasing the batch size is the best option.
A developer has an AWS Lambda function that needs to read objects from an S3 bucket in another account. The Lambda function's execution role includes an IAM policy that allows s3:GetObject on the bucket. The bucket owner has added a bucket policy that grants s3:GetObject to the Lambda execution role. However, the Lambda function receives Access Denied errors. The S3 bucket uses SSE-KMS for encryption. What is the most likely cause?
The Lambda function does not have kms:Decrypt permission on the KMS key used by the bucket.
When SSE-KMS is used, the calling principal must have kms:Decrypt permission on the KMS key. The bucket policy cannot grant KMS permissions; the key policy must allow the Lambda execution role. The IAM policy for the role already allows s3:GetObject, so that is not the issue. Versioning and region are not relevant to access denial in this scenario.
A developer is using AWS CodeDeploy with a blue/green deployment strategy to update an application running on Amazon ECS with the Fargate launch type. After the new (green) task set is created and traffic is shifted to it, users immediately report errors when trying to write data. The developer discovers that the green task set is connecting to a different database than the blue task set. The database endpoints are configured in the ECS task definition. What is the simplest way to prevent this issue in future deployments?
Modify the blue/green deployment configuration to use the same database endpoint for both task sets by updating the environment variables in the task definition before deployment.
The simplest way to ensure both blue and green task sets connect to the same database is to use environment variables or a configuration file to define the database endpoint, and set it to the same value for both deployments. Alternatively, use Amazon DynamoDB or Amazon RDS with a cluster endpoint. Using the same task definition with environment variables pointing to the same database ensures consistency across deployments.
A developer deployed a new version of an AWS Lambda function that is part of a serverless application. The function uses an Amazon DynamoDB table as a data store. After deployment, the developer notices that the function's latency has increased significantly for some requests. CloudWatch traces show that the increase is due to DynamoDB throttle events. The function is configured with a reserved concurrency of 100 and the DynamoDB table has 5 read capacity units (RCUs) and 5 write capacity units (WCUs). What is the most effective way to reduce the throttling while maintaining application performance?
Increase the read and write capacity units on the DynamoDB table
The likely cause is that the function's reserved concurrency allows many concurrent invocations, each trying to read/write to the table, exceeding the low provisioned capacity (5 RCU/WCU). Increasing the read and write capacity of the DynamoDB table (Option B) directly addresses the throttling by allowing more operations per second. Option A (Decrease reserved concurrency) would reduce throughput but may cause request queuing. Option C (Add a DynamoDB Accelerator (DAX) cluster) speeds up reads but does not solve write throttling, and DAX is for caching. Option D (Enable auto scaling) is good but immediate need is to handle the current load; also auto scaling requires a few minutes to adjust, and with only 5 units it may not scale fast enough.
A developer is building a REST API using Amazon API Gateway that will serve static content from an Amazon S3 bucket. The API should cache responses for frequently accessed objects to reduce latency. Which API Gateway feature should the developer enable?
API Gateway caching with TTL set per method.
API Gateway provides built-in caching that can be enabled on a per-method basis. When caching is enabled, API Gateway caches responses from the backend (S3 in this case) for a set Time-to-Live (TTL). This reduces the number of requests to the backend and lowers latency. CloudFront could also be used, but that would be a CDN in front of API Gateway, not a feature of API Gateway itself. Lambda@Edge is for CloudFront. S3 Transfer Acceleration speeds up uploads, not caching.
A developer is running a web application on multiple Amazon EC2 instances behind an Application Load Balancer (ALB). The application needs to store user session state that must be available across all instances. The session data is small and temporary but must survive individual instance failures. Which AWS service should the developer use to store this session state?
Store session state in an Amazon ElastiCache cluster
Session state should be stored externally from the EC2 instances to survive failures and be shared across instances. Amazon ElastiCache (Memcached or Redis) is a common solution for distributed session caching. Amazon DynamoDB or S3 can also be used, but ElastiCache offers low latency and is purpose-built for caching.
A developer has an AWS Lambda function that processes messages from an Amazon SQS standard queue. The function is idempotent and currently has a batch size of 10. The developer wants to increase throughput and increases the batch size to 100. After the change, CloudWatch metrics show a significant increase in throttles and the queue backlog is growing. The function's reserved concurrency is set to 10. What is the most effective action to resolve the throttling and improve throughput?
Increase the reserved concurrency of the Lambda function
Increasing the batch size causes each invocation to process more messages, but if the function's reserved concurrency is too low, many invocations may be throttled. By increasing reserved concurrency, more invocations can run concurrently, allowing the function to consume messages from the queue faster and reduce the backlog. The batch size increase alone may not help if the function cannot run enough concurrent executions. Increasing memory can improve per-message processing speed but is less effective here since the bottleneck is concurrency. Using a FIFO queue does not address standard queue throughput. Decreasing the batch size would reduce throttling but not improve throughput.
A developer is managing an application running on Amazon EC2 instances behind an Application Load Balancer. Users report that the application becomes unresponsive after several hours, and restarting the instance temporarily fixes the issue. The developer suspects a memory leak but cannot add custom instrumentation. Which AWS service can collect memory utilization metrics and help identify the memory leak with minimal configuration?
Install the CloudWatch agent on the EC2 instances to collect memory metrics and emit them to CloudWatch.
Amazon CloudWatch Agent can be installed on EC2 instances to collect operating system-level metrics, including memory utilization, and send them to CloudWatch. This provides visibility into memory usage over time without requiring code changes. The agent can be configured via Systems Manager or manually, and the metrics can be used to set alarms or analyze trends to detect memory leaks.
A developer is building a serverless web application using AWS Lambda and Amazon DynamoDB. The application needs to perform complex aggregations on data stored in DynamoDB. Which AWS service should the developer use to perform these aggregations efficiently without reading all the data into Lambda?
DynamoDB Streams with AWS Lambda
Amazon DynamoDB Streams can be used to trigger a Lambda function that maintains aggregated data in a separate table (materialized view). Alternatively, AWS Glue is designed for ETL and analytics, but it is not event-driven. Amazon EMR is for large-scale big data processing. Amazon Redshift is a data warehouse. The most efficient serverless approach is to use DynamoDB Streams with Lambda to aggregate in real-time.
A developer has an Amazon S3 bucket containing private user documents. The application must generate a time-limited URL for users to download their own documents without requiring the users to have AWS credentials. Which solution should the developer use?
Create a pre-signed URL for each object using the AWS SDK with an appropriate expiration time.
Pre-signed URLs allow temporary access to S3 objects without changing bucket policies or sharing AWS credentials. The URL is signed with the developer's IAM credentials and expires after a specified time. CloudFront signed URLs are for content delivered via CloudFront, not direct S3 access. Bucket policies grant broad access, and IAM user credentials cannot be shared with end users. The correct approach is to generate a pre-signed URL using the AWS SDK.
A developer is building a serverless application using AWS Step Functions to orchestrate multiple AWS Lambda functions. One of the Lambda functions occasionally fails due to a transient error. The developer wants the Step Functions execution to automatically retry the failed task up to three times with exponential backoff. Which configuration should the developer set in the Step Functions state machine definition?
Use the Amazon States Language (ASL) Retry field in the Task state definition.
Step Functions uses the Amazon States Language (ASL) to define state machines. The Retry field in a Task state allows specifying error handling, including maximum retries and backoff rules. The Lambda function itself cannot configure retries; retry logic must be in the state machine. The Catch field handles errors after retries are exhausted or if not specified.
A developer is designing a REST API using Amazon API Gateway that experiences high traffic with many repeated requests for the same data. The developer wants to reduce backend load and improve response times. Which feature should the developer enable on the API Gateway method?
Enable API Gateway caching
API Gateway caching allows you to cache responses from the backend for a specified time-to-live (TTL). This reduces calls to the backend for identical requests and improves latency. Lambda response caching would require custom code and is not built-in. ElastiCache is an external cache. CloudFront caching is at the CDN level, not specifically for API Gateway.
A developer is troubleshooting an AWS Lambda function that processes large CSV files (up to 1 GB) uploaded to an Amazon S3 bucket. The function uses Python and the pandas library to perform data transformations. Recently, the function started timing out on large files. CloudWatch Logs show that the function's execution time is close to the 15-minute Lambda timeout, and memory utilization peaks at around 80% of the configured 3,008 MB. The function has not been modified in months. Which action will most likely resolve the timeout issue without requiring code changes?
Increase the memory allocation of the Lambda function to the maximum available (10,240 MB)
Lambda's performance scales with memory allocation: more memory also provides proportional CPU power. For CPU-bound tasks like pandas processing, increasing memory reduces execution time significantly. The function is not memory-constrained (only 80% used), but by increasing memory, the function gets more CPU, which speeds up the processing. The timeout is already at the maximum (15 minutes), so increasing it further is not possible. Using S3 Select would reduce the data read, but that requires code changes to use S3 Select API. Increasing the batch size of the S3 event notification is irrelevant; the function processes one file per invocation.
A developer is debugging an issue where an Amazon S3 bucket policy is not allowing cross-account access for a user from another AWS account. The bucket policy grants access to the other account's root user. The IAM user in the other account has an IAM policy that allows s3:GetObject on the bucket. When the user tries to download an object, they get an Access Denied error. What is the most likely cause?
The bucket is encrypted with SSE-KMS and the user does not have kms:Decrypt permission
When a bucket uses SSE-KMS encryption, the requesting user must have both s3:GetObject and kms:Decrypt permissions on the KMS key. Even if the bucket policy and IAM policy grant S3 access, the missing KMS permission will result in Access Denied. The other options are less likely: the bucket policy specifying the account root is sufficient for cross-account; object ACLs are irrelevant when bucket policies are used; and ListBucket is not required for GetObject.
A developer is monitoring an AWS Lambda function that processes messages from an SQS queue. CloudWatch metrics show that the function's throttles are high when the queue backlog grows. The function has a reserved concurrency of 50 and a batch size of 10. The SQS queue has a visibility timeout of 30 seconds. The function processes each batch in about 5 seconds. Which action will most effectively reduce throttles?
Increase the Lambda function's batch size
Throttles occur when more concurrent Lambda invocations are attempted than the reserved concurrency allows. Increasing the batch size allows the function to process more messages per invocation, thus reducing the number of concurrent executions required to process the same backlog. This directly reduces the likelihood of hitting the reserved concurrency limit. Increasing reserved concurrency might help but does not reduce the number of invocations; it only raises the limit. Visibility timeout and message retention do not affect throttles. Therefore, increasing the batch size is the most effective action.
A developer is deploying a web application on AWS Elastic Beanstalk. The environment must maintain the same number of running instances throughout the deployment to ensure capacity. The developer also wants to minimize downtime. Which deployment policy should be used?
Rolling with additional batch
The 'Rolling with additional batch' policy launches a new batch of instances before taking any old instances out of service. This temporarily increases capacity during deployment but avoids downtime. Rolling policy replaces instances in batches without adding extra capacity, which can reduce capacity temporarily. Immutable creates a new environment, but it doubles the number of instances initially.
A developer is troubleshooting an AWS Lambda function that experiences high latency for the first few invocations after being idle. The function is written in Python and uses a large library (e.g., Pandas). The function connects to an RDS database in a VPC. What is the most effective way to reduce the latency for the first invocation after idle?
Enable provisioned concurrency on the function.
Lambda cold starts occur when the function is invoked after being idle, requiring initialization of the runtime and dependencies. Provisioned concurrency keeps a specified number of execution environments initialized and ready to respond immediately, eliminating cold start latency for those environments. Increasing memory can improve CPU performance but does not eliminate the initialization overhead. Lambda layers and moving to DynamoDB do not directly address cold starts.
A developer is troubleshooting an AWS Lambda function that is triggered by an S3 event. The function occasionally fails with a timeout error. CloudWatch logs show that the timeout occurs during the processing of large files. The function has a memory setting of 128 MB and a timeout of 3 seconds. The developer wants to process large files without modifying the code. Which parameter should the developer adjust first?
Increase the function's memory
Increasing the memory allocation for a Lambda function also increases its CPU allocation, which can significantly speed up processing. This may allow the function to complete within the existing timeout. While increasing the timeout may also help, adjusting memory first is more effective because it directly addresses the root cause (slow processing). Increasing concurrency does not affect a single invocation, and batch size is not applicable to S3 event triggers.
A developer notices that an AWS Lambda function, configured to access an Amazon RDS database in the same VPC, is timing out. The function has a 30-second timeout. CloudWatch Logs show that the function starts execution but never reaches the database. The VPC configuration includes private subnets without a NAT gateway. The RDS database is in the same VPC. What is the most likely cause of the timeout?
The security group of the RDS database does not allow inbound traffic from the Lambda function's security group.
Lambda functions in a VPC require security group rules to allow outbound traffic to the RDS database and inbound traffic from the Lambda function. If the security group of the RDS database does not allow inbound connections from the Lambda function's security group, the connection will time out. Since the database is in the same VPC, a NAT gateway is not needed for connectivity. DNS resolution works within the VPC.
A developer is using the AWS Serverless Application Model (SAM) to define a serverless application with an API Gateway endpoint. The developer wants to enable API caching only in the development stage to speed up testing, but disable it in the production stage to ensure data freshness. What is the most efficient way to achieve this with SAM?
Use AWS SAM parameters with a condition to set CacheClusterEnabled based on the stage parameter.
SAM allows you to use parameters and conditions to conditionally enable or disable resources at deployment time. By defining a stage parameter and a condition that checks its value, you can set the CacheClusterEnabled property on the API Gateway resource accordingly. This approach keeps a single template and avoids duplication.
A developer is building a serverless application that uses Amazon S3 event notifications to trigger an AWS Lambda function for thumbnail generation. The developer wants to ensure that duplicate S3 events do not cause the same image to be processed multiple times. Which approach should the developer implement to ensure idempotent processing?
Store the object key and event ID in a DynamoDB table and check for duplicates before processing
S3 event notifications are delivered on an at-least-once basis, meaning duplicate events can occur. To achieve idempotent processing, the Lambda function should track which objects have already been processed, typically by storing the object key or a unique event identifier in a DynamoDB table. On each invocation, the function can check the table and skip processing if the record exists. Setting concurrency to 1 does not prevent duplicate events, S3 cannot send notifications to FIFO queues, and filtering on object size does not eliminate duplicates.
A developer is migrating a monolithic application to a microservices architecture on AWS. The application uses a relational database. The developer wants to use Amazon RDS for the database and needs to ensure that each microservice can only access its own set of tables. Which approach should the developer take?
Use RDS with IAM database authentication and create database users with limited privileges for each microservice.
Using IAM database authentication in conjunction with database users and granting table-level privileges to those users provides fine-grained access control. This ensures each microservice can only access the tables it is authorized for, without sharing credentials.
DVA-C02 flashcards by domain
The DVA-C02 flashcard bank covers all 4 official blueprint domains published by Amazon Web Services. Cards are distributed proportionally, so domains with higher exam weight have more cards.
Domain Coverage
Development with AWS Services
Security
Deployment
Troubleshooting and Optimization
Flashcards vs practice tests: which is better for DVA-C02?
Both flashcards and practice questions are evidence-based study tools. The difference is in what they train:
Flashcards — concept retention
Best for memorising definitions, acronyms, protocol behaviours, command syntax, and conceptual distinctions. Use flashcards to build the foundational vocabulary that DVA-C02 questions assume you know.
Best in: weeks 1–3
Practice tests — application
Best for applying concepts to realistic scenarios, eliminating distractors, and building exam stamina.DVA-C02 questions test scenario reasoning — not just recall — so practice tests are essential.
Best in: weeks 3–6
The most effective DVA-C02 study plan combines both: use flashcards for the first 2–3 weeks to build conceptual foundations, then shift to practice tests and mock exams in the final 2–3 weeks to apply and benchmark that knowledge. Most candidates who pass on their first attempt use both tools.
DVA-C02 flashcards — frequently asked questions
Are the DVA-C02 flashcards free?
Yes — all DVA-C02 flashcards on Courseiva are completely free, no account required. Every card includes the question, correct answer, and a full explanation. Create a free account to track which cards you have studied and get spaced repetition recommendations.
How many DVA-C02 flashcards are on Courseiva?
Courseiva has 300+ original DVA-C02 flashcards across all 4 exam blueprint domains. New cards are added regularly as the question bank grows. All cards are written by certified engineers against the official Amazon Web Services exam objectives.
How are Courseiva flashcards different from Anki or Quizlet?
Courseiva flashcards are purpose-built for IT certification exams. Unlike generic flashcard platforms where content quality varies, every Courseiva card is mapped to the official DVA-C02 exam blueprint, written by engineers who hold the certification, and includes a full explanation of the correct answer and why the distractors are wrong. This explanation quality is what separates genuine learning from rote memorisation.
Can I use DVA-C02 flashcards offline?
Courseiva is a web platform — an internet connection is required. For offline study, we recommend creating free Courseiva account, using the platform in your browser, and using your device's offline capabilities if your browser supports offline web apps.
Track your DVA-C02 flashcard progress
Save your results, see which domains need more work, and get spaced repetition recommendations — all free.
Sign Up FreeFree forever · Every certification included