1
AWS Certified Developer –
Associate (DVA-C02) - Practice
Exam v2.0 150 Advanced/Hard
Multiple-Choice Questions
with Detailed Rationales a well
detailed one
written and graded A+
upgraded
Domain 1: Development with AWS Services (32%)
Question 1
, 2
A developer is building a real-time chat application using Amazon API Gateway WebSocket API.
The application needs to broadcast messages to all connected clients in a specific chat room.
Which approach should the developer use to send messages to multiple clients?
A) Use the @connections API to send messages to each connection ID individually
B) Use API Gateway's built-in broadcast feature for WebSocket connections
C) Use Amazon SNS with a WebSocket subscription
D) Use DynamoDB to store connection IDs and iterate over them
- detailed answer 100% correct :- A
Rationale: API Gateway WebSocket API provides the @connections API (via the
AmazonApiGatewayManagementApi) to send messages to connected clients. To broadcast, the
application must track connection IDs (e.g., in DynamoDB with room association) and send to
each. Option B is incorrect because API Gateway does not have a native broadcast feature.
Option C is not directly supported; SNS cannot push to WebSocket connections. Option D
describes a way to track connections but does not itself send messages.
Question 2
A developer is using Amazon EventBridge to build an event-driven application. The developer
needs to filter events so that only events with a status field equal to "COMPLETED" are routed
to a target. Which EventBridge rule configuration should the developer use?
A) Use an event pattern with {"status": ["COMPLETED"]}
B) Use a content filter with {"status": "COMPLETED"}
C) Use a transformation on the event to extract the status
D) Use a Lambda function to filter events before forwarding
- detailed answer 100% correct :- A
Rationale: EventBridge event patterns support filtering using JSON syntax. The correct pattern
is {"status": ["COMPLETED"]}. Option B is not valid syntax. Option C is for modifying events, not
filtering. Option D adds unnecessary cost and latency.
Question 3
A developer is designing a system that processes order events from multiple sources. The
system must guarantee exactly-once processing of each order. Which AWS service combination
provides this guarantee?
, 3
A) SQS FIFO queue with Lambda function and idempotency
B) SQS Standard queue with Lambda function and idempotency
C) Kinesis Data Streams with Lambda and idempotency
D) SNS FIFO topic with SQS FIFO queue and Lambda
- detailed answer 100% correct :- D
Rationale: Exactly-once processing is a combination of at-least-once delivery and idempotent
processing. SNS FIFO and SQS FIFO together provide ordered, exactly-once message delivery
(within a message group). Lambda processes the messages. Option A uses SQS FIFO but lacks
the SNS FIFO for multiple sources; SQS alone can provide exactly-once with proper configuration
but the question asks for a combination of services. Option B (Standard) does not guarantee
exactly-once. Option C (Kinesis) provides at-least-once. Option D provides the strongest
guarantee for event fan-out.
Question 4
A developer needs to store session data for a web application that must be highly available and
low-latency. The data is frequently updated and must survive restarts. Which AWS service
should the developer use?
A) Amazon ElastiCache for Redis with AOF persistence
B) Amazon DynamoDB with DAX caching
C) Amazon S3 with versioning
D) Amazon RDS with Multi-AZ
- detailed answer 100% correct :- A
Rationale: ElastiCache for Redis with AOF (Append-Only File) persistence provides an in-
memory data store that is durable and low-latency. It is ideal for session storage. Option B
(DynamoDB with DAX) is also low-latency but more expensive for simple session data. Option C
(S3) is object storage, not suitable for low-latency updates. Option D (RDS) is relational and adds
overhead.
Question 5
A developer is creating an AWS Lambda function that needs to use a shared library across
multiple functions. The developer wants to centralize the library and update it without
redeploying each function. What should the developer use?
, 4
A) Lambda layers
B) Lambda environment variables
C) S3 with event notifications
D) CodePipeline with multiple deployment stages
- detailed answer 100% correct :- A
Rationale: Lambda layers allow you to package and share code, libraries, and dependencies
across multiple functions. Updating a layer automatically updates all functions that use it.
Option B is for configuration, not code. Option C is for file processing. Option D is a deployment
pipeline, not a code-sharing mechanism.
Question 6
A developer is building an application that uses Amazon SQS to decouple components. The
application has a requirement that messages must be processed in the exact order they are
received, but only within each customer ID. Which queue type and configuration should the
developer use?
A) SQS Standard queue with a visibility timeout
B) SQS FIFO queue with MessageGroupId set to customer ID
C) SQS FIFO queue with MessageDeduplicationId set to customer ID
D) SQS Standard queue with a dead-letter queue
- detailed answer 100% correct :- B
Rationale: SQS FIFO queues guarantee FIFO delivery within a message group. By
setting MessageGroupId to customer ID, messages for each customer are ordered, but
messages across different customers can be processed in parallel. Option A (Standard) does not
guarantee ordering. Option C uses MessageDeduplicationId for deduplication, not ordering.
Option D does not provide ordering.
Question 7
A developer is using Amazon AppSync to build a GraphQL API. The API needs to resolve a field
by calling a Lambda function. Which resolver type should the developer use?
A) DynamoDB resolver
B) Lambda resolver
AWS Certified Developer –
Associate (DVA-C02) - Practice
Exam v2.0 150 Advanced/Hard
Multiple-Choice Questions
with Detailed Rationales a well
detailed one
written and graded A+
upgraded
Domain 1: Development with AWS Services (32%)
Question 1
, 2
A developer is building a real-time chat application using Amazon API Gateway WebSocket API.
The application needs to broadcast messages to all connected clients in a specific chat room.
Which approach should the developer use to send messages to multiple clients?
A) Use the @connections API to send messages to each connection ID individually
B) Use API Gateway's built-in broadcast feature for WebSocket connections
C) Use Amazon SNS with a WebSocket subscription
D) Use DynamoDB to store connection IDs and iterate over them
- detailed answer 100% correct :- A
Rationale: API Gateway WebSocket API provides the @connections API (via the
AmazonApiGatewayManagementApi) to send messages to connected clients. To broadcast, the
application must track connection IDs (e.g., in DynamoDB with room association) and send to
each. Option B is incorrect because API Gateway does not have a native broadcast feature.
Option C is not directly supported; SNS cannot push to WebSocket connections. Option D
describes a way to track connections but does not itself send messages.
Question 2
A developer is using Amazon EventBridge to build an event-driven application. The developer
needs to filter events so that only events with a status field equal to "COMPLETED" are routed
to a target. Which EventBridge rule configuration should the developer use?
A) Use an event pattern with {"status": ["COMPLETED"]}
B) Use a content filter with {"status": "COMPLETED"}
C) Use a transformation on the event to extract the status
D) Use a Lambda function to filter events before forwarding
- detailed answer 100% correct :- A
Rationale: EventBridge event patterns support filtering using JSON syntax. The correct pattern
is {"status": ["COMPLETED"]}. Option B is not valid syntax. Option C is for modifying events, not
filtering. Option D adds unnecessary cost and latency.
Question 3
A developer is designing a system that processes order events from multiple sources. The
system must guarantee exactly-once processing of each order. Which AWS service combination
provides this guarantee?
, 3
A) SQS FIFO queue with Lambda function and idempotency
B) SQS Standard queue with Lambda function and idempotency
C) Kinesis Data Streams with Lambda and idempotency
D) SNS FIFO topic with SQS FIFO queue and Lambda
- detailed answer 100% correct :- D
Rationale: Exactly-once processing is a combination of at-least-once delivery and idempotent
processing. SNS FIFO and SQS FIFO together provide ordered, exactly-once message delivery
(within a message group). Lambda processes the messages. Option A uses SQS FIFO but lacks
the SNS FIFO for multiple sources; SQS alone can provide exactly-once with proper configuration
but the question asks for a combination of services. Option B (Standard) does not guarantee
exactly-once. Option C (Kinesis) provides at-least-once. Option D provides the strongest
guarantee for event fan-out.
Question 4
A developer needs to store session data for a web application that must be highly available and
low-latency. The data is frequently updated and must survive restarts. Which AWS service
should the developer use?
A) Amazon ElastiCache for Redis with AOF persistence
B) Amazon DynamoDB with DAX caching
C) Amazon S3 with versioning
D) Amazon RDS with Multi-AZ
- detailed answer 100% correct :- A
Rationale: ElastiCache for Redis with AOF (Append-Only File) persistence provides an in-
memory data store that is durable and low-latency. It is ideal for session storage. Option B
(DynamoDB with DAX) is also low-latency but more expensive for simple session data. Option C
(S3) is object storage, not suitable for low-latency updates. Option D (RDS) is relational and adds
overhead.
Question 5
A developer is creating an AWS Lambda function that needs to use a shared library across
multiple functions. The developer wants to centralize the library and update it without
redeploying each function. What should the developer use?
, 4
A) Lambda layers
B) Lambda environment variables
C) S3 with event notifications
D) CodePipeline with multiple deployment stages
- detailed answer 100% correct :- A
Rationale: Lambda layers allow you to package and share code, libraries, and dependencies
across multiple functions. Updating a layer automatically updates all functions that use it.
Option B is for configuration, not code. Option C is for file processing. Option D is a deployment
pipeline, not a code-sharing mechanism.
Question 6
A developer is building an application that uses Amazon SQS to decouple components. The
application has a requirement that messages must be processed in the exact order they are
received, but only within each customer ID. Which queue type and configuration should the
developer use?
A) SQS Standard queue with a visibility timeout
B) SQS FIFO queue with MessageGroupId set to customer ID
C) SQS FIFO queue with MessageDeduplicationId set to customer ID
D) SQS Standard queue with a dead-letter queue
- detailed answer 100% correct :- B
Rationale: SQS FIFO queues guarantee FIFO delivery within a message group. By
setting MessageGroupId to customer ID, messages for each customer are ordered, but
messages across different customers can be processed in parallel. Option A (Standard) does not
guarantee ordering. Option C uses MessageDeduplicationId for deduplication, not ordering.
Option D does not provide ordering.
Question 7
A developer is using Amazon AppSync to build a GraphQL API. The API needs to resolve a field
by calling a Lambda function. Which resolver type should the developer use?
A) DynamoDB resolver
B) Lambda resolver