
Prepare for the DVA-C02 AWS Certified Developer - Associate Exam
Validate proficiency in developing, testing, deploying, and debugging AWS Cloud-based applications.
A complete prep system — free study guide, adaptive practice exams, spaced-repetition flashcards, and a personalized learning journey that tracks when you're ready.
For developers building, deploying, and debugging AWS Cloud-based applications.
Content last updated
Try Free Practice Questions & Flashcards
Get 40 exam-style questions and 40 flashcards with detailed explanations — free, no credit card required.
Every answer counts toward your progress. Enroll to access 450 practice questions, 405 flashcards, and a learning journey that targets your weaknesses.
Free DVA-C02 Practice Questions (With Answers)
5 real questions from the DVA-C02 bank, with the full explanation for each answer. No sign-up needed to read them.
- Question 1Development with AWS Services [Architectural Patterns]
A development team is building a new real-time analytics platform. Data arrives continuously from various IoT sensors and web clicks. The data needs to be processed, transformed, and then stored for analysis. The solution must be highly scalable, resilient to individual component failures, and loosely coupled. Which architectural pattern is BEST suited for this scenario?
- A.Event-driven architecture utilizing message queues and serverless functions.
- B.Batch processing architecture with daily scheduled jobs.
- C.Client-server architecture with persistent server connections for all data.
- D.Monolithic architecture with a tightly coupled relational database.
Show answer and explanation
Correct answer: A
Correct. An event-driven architecture, especially with services like Amazon EventBridge, Amazon Kinesis, and AWS Lambda, promotes loose coupling, high scalability, and resilience. Data streams as events can trigger serverless functions for processing and transformation in real time, making it ideal for continuous data ingestion and analytics. This aligns with the first principle of building applications that react intelligently to changes and automate workflows.
Why the other options are wrong
B. Incorrect. Batch processing is suitable for periodic, large-volume data, but it does not meet the requirement for 'real-time' analytics from 'continuously' arriving data.
C. Incorrect. While client-server is a fundamental model, relying on persistent server connections for all data streams would lead to scalability issues and potential single points of failure for a real-time, high-volume analytics platform. This does not foster loose coupling or resilience effectively.
D. Incorrect. A monolithic architecture often leads to tight coupling and can become a scalability bottleneck. Relational databases might struggle with continuous, unstructured data streams without significant overhead.
- Question 2Troubleshooting and Optimization [Lambda Configuration & Performance]
A developer has a Python AWS Lambda function that processes large image files (e.g., resizing, applying filters). The function frequently runs into performance bottlenecks, leading to long execution times and higher costs. The current memory allocation is 128 MB. What is the MOST effective approach for the developer to optimize both the function's performance and cost?
- A.Implement a custom runtime in the Lambda function to optimize the underlying execution environment for Python.
- B.Increase allocated memory gradually (CPU scales with memory), then re-evaluate duration and cost.
- C.Increase the Lambda function's timeout configuration to allow the image processing tasks more time to complete.
- D.Refactor the Lambda function to use synchronous calls for all external dependencies to ensure execution order.
Show answer and explanation
Correct answer: B
Correct. The first principle of Lambda cost optimization states that increasing memory for CPU-bound tasks can often lead to significantly faster execution times. Since Lambda bills based on GB-seconds, a higher memory setting might result in a lower *overall* cost if the execution duration decreases sufficiently. This approach directly addresses both performance (faster execution) and potential cost reduction. The developer should test different memory configurations to find the optimal balance.
Why the other options are wrong
A. Incorrect. While custom runtimes offer flexibility, they add complexity and are typically not the first or most effective step for general performance tuning. Optimizing memory is usually more impactful for compute-intensive tasks.
C. Incorrect. Increasing the timeout only prevents termination; it does not improve performance or reduce cost. In fact, if the function continues to run for a longer duration, it will incur more cost.
D. Incorrect. Refactoring to synchronous calls would likely introduce blocking behavior, further increasing execution duration and potential latency, especially for I/O-bound operations, which would worsen performance and cost rather than optimize them.
- Question 3Development with AWS Services [Cloud Storage Options]Choose all that apply
A developer is designing a data storage solution for a new application on AWS. The application needs to store: 1. User-uploaded files (images, documents) that require high durability and object-based access. 2. Shared file system storage that can be mounted by multiple EC2 instances, supporting standard file system protocols (e.g., NFS). 3. Block-level storage for a single EC2 instance's operating system and application data. Select THREE AWS storage options that are BEST suited for these requirements.
- A.Amazon S3 for user-uploaded files.
- B.Amazon EFS for shared file system storage.
- C.Amazon RDS for user-uploaded files.
- D.Amazon EBS for block-level storage for a single EC2 instance.
- E.Amazon DynamoDB for shared file system storage.
- F.Amazon S3 Glacier for block-level storage attached to an EC2 instance.
Show answer and explanation
Correct answer: A, B, D
Correct. Amazon S3 (Simple Storage Service) is an object storage service designed for high durability, scalability, and availability. It's ideal for storing unstructured data like user-uploaded files, documents, images, and videos. Access is via object-based APIs.
Correct. Amazon EFS (Elastic File System) provides scalable, elastic file storage that can be mounted by multiple EC2 instances simultaneously using standard file system protocols like NFS. It's well-suited for shared file system use cases, content repositories, and development environments where multiple compute instances need to access the same underlying file system.
Correct. Amazon EBS (Elastic Block Store) provides persistent block-level storage volumes for use with Amazon EC2 instances. It's suitable for operating system boot volumes, transactional databases, and other applications that require consistent, low-latency block storage attached to a single EC2 instance.
Why the other options are wrong
C. Incorrect. Amazon RDS (Relational Database Service) is for relational databases, not for storing unstructured files like images or documents directly. It's designed for structured, relational data.
E. Incorrect. Amazon DynamoDB is a NoSQL database service, not a file system. It's used for key-value and document data, not for shared file system access or mounting by EC2 instances.
F. Incorrect. Amazon S3 Glacier is low-cost archival object storage, not block storage; you cannot attach it to an EC2 instance as a volume. Block storage for a single instance is Amazon EBS.
- Question 4Development with AWS Services [Lambda Configuration]
A developer is creating an AWS Lambda function that needs to connect to different Amazon DynamoDB tables depending on whether it's running in a 'development' or 'production' environment. The table names should not be hardcoded in the function's source code. What is the BEST practice for passing the correct table name to the Lambda function based on its environment?
- A.Store the table names in an S3 bucket and have the Lambda function read the correct file at runtime.
- B.Pass the table name as part of the event payload for every invocation
- C.Hardcode the table names in the function code with an if/else block based on the AWS account ID.
- D.Set an environment variable for the table name, with different values per version/alias.
Show answer and explanation
Correct answer: D
Correct. The first principle for managing environment-specific configurations in Lambda is to use environment variables. They allow you to pass configuration values to your function code without modifying the code itself. You can easily set different values for different versions or aliases of your function (e.g., a 'dev' alias points to a version with the dev table name, and 'prod' points to another).
Why the other options are wrong
A. Incorrect. While possible, this adds unnecessary latency (due to the S3 API call) and complexity for managing a simple configuration value like a table name. A more direct configuration method is preferred.
B. Incorrect. This makes the invoking service or client responsible for knowing the environment-specific configuration, which violates the principle of encapsulation and creates a tight coupling between the caller and the function's internal details.
C. Incorrect. This is an anti-pattern that makes the code less portable and harder to maintain. It tightly couples the function's logic to specific account details.
- Question 5Deployment [Fault-tolerant design]Choose all that apply
A developer is designing a microservice that is critical for an application's functionality. The service is deployed on Amazon EC2. The developer needs to ensure the service is both highly available and fault-tolerant. Which TWO of the following design choices would contribute to these goals? (Select TWO)
- A.Deploy a single, large EC2 instance in one Availability Zone.
- B.Deploy multiple EC2 instances across multiple Availability Zones, managed by an Auto Scaling group.
- C.Use an Elastic Load Balancer (ELB) to distribute traffic to the EC2 instances.
- D.Store application state in memory on each EC2 instance.
- E.Use a Network Address Translation (NAT) instance for all incoming traffic.
Show answer and explanation
Correct answer: B, C
Correct. The first principle of high availability is to eliminate single points of failure by distributing resources. Deploying instances across multiple AZs protects against an AZ-level failure. An Auto Scaling group ensures that a desired number of healthy instances are always running, automatically replacing any that fail.
Correct. An ELB is a crucial component for both high availability and fault tolerance. It distributes incoming traffic across the healthy EC2 instances in multiple AZs and automatically stops sending traffic to any instance that it detects as unhealthy. This provides a single, stable endpoint for the service while enabling resilience.
Why the other options are wrong
A. Incorrect. This creates a single point of failure. If the instance or the Availability Zone fails, the entire service becomes unavailable.
D. Incorrect. Storing state on the instance makes it stateful, which hinders fault tolerance. If an instance fails, its state is lost. A best practice is to design stateless application instances and externalize state to a durable service like DynamoDB or ElastiCache.
E. Incorrect. A NAT instance is for enabling instances in a private subnet to initiate outbound internet traffic. It is not used for handling incoming traffic for a highly available service.
Those are 5 of the 40 questions in the free sample exam. Sign up to take the remaining 35 under exam conditions, get scored, and see which topics are holding you back.
Exam Topics Covered
- Development with AWS Services
- Security
- Deployment
- Troubleshooting and Optimization
What's Included with Enrollment
- Personalized Learning Journey – a guided path built around your weak spots
- Readiness Score & Weakness Analytics – know exactly when you're ready
- Unlimited Practice Exams – build confidence with real test conditions
- Memory-First Flashcards – lock in knowledge that lasts
- Integrated Study Guide – streamline your prep in one place
Your free practice progress carries over. Enroll for full access for $39.99.
Start Free. Upgrade When You're Ready.
Stay on your structured path while adding targeted practice with the full set of exam-like questions, expanded flashcards to reinforce concepts, and readiness tracking to identify and address weaknesses when needed.
Frequently Asked Questions

Written by
Alvin Varughese
Founder, MindMesh Academy
Alvin Varughese is the founder of MindMesh Academy and holds 20 professional certifications including Microsoft Agentic AI Business Solutions Architect, AWS Solutions Architect Professional, and Azure DevOps Engineer Expert. He's held senior engineering and architecture roles at Humana (Fortune 50) and GE Appliances. He built MindMesh Academy to share the study methods and first-principles approach that helped him pass each exam.
Start Your Certification Journey Today
Join thousands of students who have successfully prepared for their certifications with MindMesh Academy's comprehensive practice exams and study materials.