1
AWS Certified Developer –
Associate (DVA-C02) Practice
Exam 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
A developer is building a serverless application that processes incoming orders. The application
uses Amazon API Gateway REST API with Lambda proxy integration. The developer notices that
during peak traffic, some requests time out after 29 seconds. The Lambda function performs
multiple downstream API calls that occasionally take longer than expected. Which action should
the developer take to resolve this issue without changing the existing API contract?
, 2
A) Increase the API Gateway timeout setting to 60 seconds
B) Configure the Lambda function to use asynchronous invocation from API Gateway
C) Implement the function using Step Functions with a synchronous express workflow
D) Change the integration to use Lambda non-proxy integration and implement retry logic with
exponential backoff
- detailed answer 100% correct :- B
Rationale: API Gateway has a maximum integration timeout of 29 seconds for synchronous
invocations. By configuring the Lambda function to be invoked asynchronously from API
Gateway, the 29-second timeout is bypassed, and the function can run for up to 15 minutes.
The API Gateway returns a 202 Accepted response immediately, and the client can poll for
completion. Option A is incorrect because API Gateway's maximum timeout is 29 seconds and
cannot be increased beyond that. Option C is incorrect because Express Workflows have a 5-
minute maximum execution time but add unnecessary complexity. Option D does not address
the fundamental timeout limitation.
Question 2
A developer is designing a DynamoDB table for a social media application that stores user posts.
The access patterns include: (1) fetching all posts for a user sorted by timestamp, and (2)
fetching a specific post by its ID. The table will receive millions of writes per day. Which table
design provides the BEST balance of performance and cost efficiency?
A) Table with userId as partition key and postId as sort key, with a global secondary index
on postId
B) Table with postId as partition key and timestamp as sort key, with a global secondary index
on userId
C) Table with userId as partition key and timestamp as sort key, with a local secondary index
on postId
D) Table with composite key userId#postId as partition key and no sort key
- detailed answer 100% correct :- C
Rationale: Using userId as the partition key and timestamp as the sort key allows efficient
retrieval of all posts for a user sorted by time using a Query operation on the primary key. A
local secondary index (LSI) on postId enables fetching a specific post. LSIs are more cost-efficient
than GSIs because they share the table's throughput capacity and don't incur additional
read/write costs. Option A is inefficient because the GSI on postId would require additional
, 3
capacity and cost. Option B would scatter user posts across partitions, making user-specific
queries expensive. Option D loses the sorting capability on timestamp.
Question 3
A developer is implementing an AWS Lambda function that processes records from an Amazon
Kinesis Data Stream. The function occasionally fails due to transient errors in an external
dependency. The developer needs to ensure that failed records are not lost and can be retried
later. What is the MOST appropriate approach?
A) Configure the Kinesis stream with a dead-letter queue and reprocess failed records manually
B) Catch exceptions in the Lambda function, log the error, and return a successful response to
Kinesis
C) Use the Lambda function's error handling with a destination configured to send failed records
to an SQS queue
D) Increase the Lambda function's timeout and memory to prevent failures
- detailed answer 100% correct :- C
Rationale: Lambda supports Destinations for asynchronous invocations, including Kinesis. Failed
records can be sent to an SQS Dead-Letter Queue (DLQ) for later reprocessing. This is the
recommended pattern for handling failures in stream processing. Option A is incorrect because
Kinesis streams themselves don't have DLQ configurations; DLQs are configured at the Lambda
level. Option B would result in data loss because Kinesis would consider the records successfully
processed. Option D addresses performance but not transient failure handling.
Question 4
A developer is creating an API using Amazon API Gateway that must authenticate users using
JWT tokens issued by an external identity provider. The tokens contain custom claims that need
to be passed to the backend Lambda function for authorization logic. Which API Gateway
feature should the developer use?
A) Lambda authorizer (formerly custom authorizer)
B) Cognito user pool authorizer
C) IAM authorization with AWS Signature V4
D) API key with usage plan
- detailed answer 100% correct :- A
, 4
Rationale: Lambda authorizers allow custom authentication logic using a Lambda function that
validates JWT tokens from any identity provider and can pass claims to the backend integration.
This is the most flexible option for external IdPs. Option B is specific to Amazon Cognito user
pools only. Option C is for IAM-based access control, not JWT validation. Option D is for API key-
based usage plans, not authentication.
Question 5
A developer is building a microservices application where Service A needs to send events to
Service B, Service C, and Service D. Each service must process the events independently, and the
system must guarantee that each event is delivered to all subscribers at least once. What is the
MOST appropriate AWS service combination?
A) SQS FIFO queue with multiple consumers
B) SNS topic with SQS queue subscriptions for each service
C) EventBridge bus with a single rule and multiple targets
D) Kinesis Data Streams with multiple consumers
- detailed answer 100% correct :- B
Rationale: Amazon SNS provides a fan-out pattern where a single message published to a topic
is delivered to all subscribed endpoints. By subscribing each service's SQS queue to the SNS
topic, each service receives its own copy of the message for independent processing. SQS
provides the at-least-once delivery guarantee. Option A would only allow one consumer per
queue in a competing consumers pattern. Option C with EventBridge would work but is more
complex than needed for simple event distribution. Option D is for ordered stream processing,
not fan-out messaging.
Question 6
A developer has an AWS Lambda function that processes large CSV files from Amazon S3. The
function frequently times out even with a 15-minute timeout configured. The files range from
100 MB to 5 GB. Which approach would MOST effectively solve this problem?
A) Increase the Lambda function's memory to the maximum 10,240 MB
B) Split the Lambda function into multiple functions that process chunks in parallel
C) Move the processing to Amazon ECS Fargate with appropriate CPU and memory
D) Use S3 Batch Operations to process the files in place
AWS Certified Developer –
Associate (DVA-C02) Practice
Exam 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
A developer is building a serverless application that processes incoming orders. The application
uses Amazon API Gateway REST API with Lambda proxy integration. The developer notices that
during peak traffic, some requests time out after 29 seconds. The Lambda function performs
multiple downstream API calls that occasionally take longer than expected. Which action should
the developer take to resolve this issue without changing the existing API contract?
, 2
A) Increase the API Gateway timeout setting to 60 seconds
B) Configure the Lambda function to use asynchronous invocation from API Gateway
C) Implement the function using Step Functions with a synchronous express workflow
D) Change the integration to use Lambda non-proxy integration and implement retry logic with
exponential backoff
- detailed answer 100% correct :- B
Rationale: API Gateway has a maximum integration timeout of 29 seconds for synchronous
invocations. By configuring the Lambda function to be invoked asynchronously from API
Gateway, the 29-second timeout is bypassed, and the function can run for up to 15 minutes.
The API Gateway returns a 202 Accepted response immediately, and the client can poll for
completion. Option A is incorrect because API Gateway's maximum timeout is 29 seconds and
cannot be increased beyond that. Option C is incorrect because Express Workflows have a 5-
minute maximum execution time but add unnecessary complexity. Option D does not address
the fundamental timeout limitation.
Question 2
A developer is designing a DynamoDB table for a social media application that stores user posts.
The access patterns include: (1) fetching all posts for a user sorted by timestamp, and (2)
fetching a specific post by its ID. The table will receive millions of writes per day. Which table
design provides the BEST balance of performance and cost efficiency?
A) Table with userId as partition key and postId as sort key, with a global secondary index
on postId
B) Table with postId as partition key and timestamp as sort key, with a global secondary index
on userId
C) Table with userId as partition key and timestamp as sort key, with a local secondary index
on postId
D) Table with composite key userId#postId as partition key and no sort key
- detailed answer 100% correct :- C
Rationale: Using userId as the partition key and timestamp as the sort key allows efficient
retrieval of all posts for a user sorted by time using a Query operation on the primary key. A
local secondary index (LSI) on postId enables fetching a specific post. LSIs are more cost-efficient
than GSIs because they share the table's throughput capacity and don't incur additional
read/write costs. Option A is inefficient because the GSI on postId would require additional
, 3
capacity and cost. Option B would scatter user posts across partitions, making user-specific
queries expensive. Option D loses the sorting capability on timestamp.
Question 3
A developer is implementing an AWS Lambda function that processes records from an Amazon
Kinesis Data Stream. The function occasionally fails due to transient errors in an external
dependency. The developer needs to ensure that failed records are not lost and can be retried
later. What is the MOST appropriate approach?
A) Configure the Kinesis stream with a dead-letter queue and reprocess failed records manually
B) Catch exceptions in the Lambda function, log the error, and return a successful response to
Kinesis
C) Use the Lambda function's error handling with a destination configured to send failed records
to an SQS queue
D) Increase the Lambda function's timeout and memory to prevent failures
- detailed answer 100% correct :- C
Rationale: Lambda supports Destinations for asynchronous invocations, including Kinesis. Failed
records can be sent to an SQS Dead-Letter Queue (DLQ) for later reprocessing. This is the
recommended pattern for handling failures in stream processing. Option A is incorrect because
Kinesis streams themselves don't have DLQ configurations; DLQs are configured at the Lambda
level. Option B would result in data loss because Kinesis would consider the records successfully
processed. Option D addresses performance but not transient failure handling.
Question 4
A developer is creating an API using Amazon API Gateway that must authenticate users using
JWT tokens issued by an external identity provider. The tokens contain custom claims that need
to be passed to the backend Lambda function for authorization logic. Which API Gateway
feature should the developer use?
A) Lambda authorizer (formerly custom authorizer)
B) Cognito user pool authorizer
C) IAM authorization with AWS Signature V4
D) API key with usage plan
- detailed answer 100% correct :- A
, 4
Rationale: Lambda authorizers allow custom authentication logic using a Lambda function that
validates JWT tokens from any identity provider and can pass claims to the backend integration.
This is the most flexible option for external IdPs. Option B is specific to Amazon Cognito user
pools only. Option C is for IAM-based access control, not JWT validation. Option D is for API key-
based usage plans, not authentication.
Question 5
A developer is building a microservices application where Service A needs to send events to
Service B, Service C, and Service D. Each service must process the events independently, and the
system must guarantee that each event is delivered to all subscribers at least once. What is the
MOST appropriate AWS service combination?
A) SQS FIFO queue with multiple consumers
B) SNS topic with SQS queue subscriptions for each service
C) EventBridge bus with a single rule and multiple targets
D) Kinesis Data Streams with multiple consumers
- detailed answer 100% correct :- B
Rationale: Amazon SNS provides a fan-out pattern where a single message published to a topic
is delivered to all subscribed endpoints. By subscribing each service's SQS queue to the SNS
topic, each service receives its own copy of the message for independent processing. SQS
provides the at-least-once delivery guarantee. Option A would only allow one consumer per
queue in a competing consumers pattern. Option C with EventBridge would work but is more
complex than needed for simple event distribution. Option D is for ordered stream processing,
not fan-out messaging.
Question 6
A developer has an AWS Lambda function that processes large CSV files from Amazon S3. The
function frequently times out even with a 15-minute timeout configured. The files range from
100 MB to 5 GB. Which approach would MOST effectively solve this problem?
A) Increase the Lambda function's memory to the maximum 10,240 MB
B) Split the Lambda function into multiple functions that process chunks in parallel
C) Move the processing to Amazon ECS Fargate with appropriate CPU and memory
D) Use S3 Batch Operations to process the files in place