AWS Developer Associate (DVA-C02) Practice Exam.
Free practice test — 35 verified questions, instant feedback.
Know the exam before you sit it
the facts most prep sites buryEvery free resource for this exam
family overview →Get a free AWS Developer Associate (DVA-C02) study plan
A week-by-week plan plus new practice questions, straight to your inbox.
Frequently asked questions
How many questions are on the AWS Certified Developer - Associate exam, and how much time do I get?
The exam contains 65 questions, which are either multiple choice or multiple response, and you are given 130 minutes to complete it. Of those 65 questions, only 50 affect your score — the other 15 are unscored questions that do not count toward your result. Since unscored questions are not identified during the exam, treat every question as if it counts. The timing works out to exactly two minutes per question, so full-length timed practice sets are the most realistic way to build the pacing you'll need on test day.
What score do I need to pass the AWS Developer - Associate exam?
You need a minimum passing score of 720, reported on a scaled score range of 100 to 1,000. Your scaled score is derived from your performance on the 50 scored questions; the 15 unscored questions have no effect on your result. Because scoring is scaled rather than a simple percentage, there is no fixed number of correct answers that guarantees a pass — so don't waste exam time trying to guess which questions 'don't count.' Instead, use timed practice exams beforehand to confirm you're consistently performing well above the passing threshold.
Which exam domains should I spend the most practice time on?
The official exam guide defines 4 content domains: Development with AWS Services (32% of scored content), Security (26%), Deployment (24%), and Troubleshooting and Optimization (18%). Development and Security together make up 58% of your scored content, so hands-on fluency with core AWS services and security patterns should anchor your preparation. That said, don't neglect the smallest domain — at 18%, Troubleshooting and Optimization still represents roughly 9 of the 50 scored questions, which is more than enough to swing a borderline result.
How much does the exam cost, and how does scheduling work?
The exam costs 150 USD to register. You schedule it with Pearson VUE from your AWS Certification account, which routes you to Pearson VUE's scheduling system. You can take the exam either at a physical Pearson VUE test center or as an OnVUE online proctored exam, and most online-proctored appointments are available 24 hours a day, 7 days a week — useful if you want an early-morning or late-night slot. If plans change, you can reschedule up to 24 hours before your scheduled exam time, but each appointment can only be rescheduled twice, so it's wise to book once your practice scores are consistently strong. After you pass, the credential is valid for 3 years.
Browse all questions & answers
1. A developer is building a serverless API using API Gateway and Lambda. The Lambda function needs to write logs that include the full request payload for debugging, but the team is worried about excessive CloudWatch Logs costs in production. What is the best approach?
- A. Use environment variables to set a LOG_LEVEL, and only emit verbose payload logs when the level is DEBUG, disabling that level in production
- B. Always log the full payload at INFO level and rely on CloudWatch Logs Insights to filter results after the fact
- C. Disable CloudWatch Logs entirely for the Lambda function to avoid any logging cost
- D. Store the payload in the Lambda function's /tmp directory instead of logging it
Show answer & explanation
Answer: A
Conditional logging driven by an environment-variable log level lets teams get verbose debug detail in dev/test while keeping production log volume (and cost) low. Always logging full payloads (B) wastes cost and can leak sensitive data. Disabling logs (C) removes all observability, which hurts troubleshooting. Writing to /tmp (D) is ephemeral, per-container storage that isn't centralized or durable, defeating the purpose of debugging logs.2. A development team wants to package a Lambda function along with several third-party npm libraries that total 80 MB. Which deployment approach best fits this scenario while keeping the deployment package manageable?
- A. Inline the entire dependency tree directly in the Lambda console code editor
- B. Package the dependencies as a Lambda layer and attach the layer to the function
- C. Store the dependencies in DynamoDB and load them at invocation time
- D. Require every invocation to download the dependencies from the internet before running the handler
Show answer & explanation
Answer: B
Lambda layers let you separate shared dependencies from function code, keeping the deployment package smaller, enabling reuse across functions, and avoiding editing large payloads inline. The console code editor (A) only supports small inline edits and can't handle large dependency trees. DynamoDB (C) is a database, not a binary/code artifact store, and loading binaries from it at runtime is impractical. Downloading dependencies at invocation time (D) adds latency and violates Lambda's stateless, fast-start execution model.3. An application uses DynamoDB to store user session data and must handle sudden bursts of read traffic without throttling, while keeping cost predictable for a mostly steady baseline load. Which DynamoDB capacity mode addresses this best?
- A. On-demand capacity mode for all tables regardless of traffic pattern
- B. Provisioned capacity mode with auto scaling configured to react to demand changes
- C. Provisioned capacity mode with a fixed number of read/write capacity units and no auto scaling
- D. DynamoDB Accelerator (DAX) used as a replacement for capacity planning
Show answer & explanation
Answer: B
Provisioned capacity with auto scaling lets a table scale read/write throughput up during bursts and back down during steady periods, giving predictable baseline cost with burst tolerance. Pure on-demand (A) is simpler but can be less cost-predictable for steady, well-understood workloads. A fixed provisioned setting with no auto scaling (C) throttles during unexpected bursts. DAX (D) is a caching layer that reduces read latency and load on the table but does not itself manage or replace write/read capacity provisioning.4. A developer is writing a Lambda function that processes messages from an SQS standard queue. Occasionally the same message is processed twice, causing duplicate database writes. What is the most appropriate way to address this within the application code?
- A. Switch to SQS FIFO queues, which guarantee zero duplicate deliveries under all conditions
- B. Design the message-processing logic to be idempotent, for example by using a unique message identifier to detect and skip repeated writes
- C. Reduce the SQS visibility timeout to 0 seconds so messages are never redelivered
- D. Ignore the issue since duplicate processing has no effect on downstream systems
Show answer & explanation
Answer: B
SQS standard queues provide at-least-once delivery, so occasional duplicates are expected; the correct pattern is idempotent processing (e.g., conditional writes keyed on a unique message ID) so reprocessing a duplicate is a no-op. FIFO queues (A) reduce duplicates but do not guarantee absolute zero duplicates in all failure scenarios, and switching queue types is a bigger architectural change than necessary. Setting visibility timeout to 0 (C) would make messages immediately visible to other consumers, causing more concurrent processing and more duplicates, not fewer. Ignoring the issue (D) is unsafe since duplicate writes were stated as a real problem.5. A team is building a microservices application where several Lambda functions need to publish domain events that multiple independent subscribers (an SQS queue, an email notification Lambda, and a third-party HTTPS endpoint) should all receive. Which AWS service is the best fit for fanning out a single event to multiple independent subscribers?
- A. Amazon SNS
- B. Amazon SQS FIFO queue used directly by all three subscribers
- C. AWS Step Functions Standard Workflow
- D. Amazon Kinesis Data Streams with a single shard
Show answer & explanation
Answer: A
SNS is a pub/sub service designed for fanning out one published message to many independent subscribers (SQS queues, Lambda, HTTP/S endpoints, email) simultaneously. A single SQS queue (B) delivers each message to only one consumer at a time, not to multiple independent subscribers. Step Functions (C) orchestrates sequential/parallel workflow steps rather than acting as a pub/sub fanout mechanism. Kinesis Data Streams (D) is built for ordered, replayable streaming ingestion by multiple consumer applications reading independently, but it is heavier-weight and less suited to simple fanout notification patterns than SNS.6. A developer needs to add caching to a REST API built with Amazon API Gateway to reduce load on a backend Lambda function for frequently requested, rarely changing data. Which built-in API Gateway feature should they enable?
- A. API Gateway request validation
- B. API Gateway stage-level caching
- C. API Gateway usage plans
- D. API Gateway canary deployments
Show answer & explanation
Answer: B
API Gateway supports enabling a cache at the stage level, which stores responses for a configurable TTL and serves subsequent identical requests without invoking the backend, reducing Lambda invocations and latency. Request validation (A) checks incoming payloads against a schema before invoking the backend, it does not cache responses. Usage plans (C) control API key based throttling and quotas for API consumers, unrelated to caching. Canary deployments (D) let you shift a percentage of traffic to a new stage version for safe rollout, not for caching responses.7. A company runs a Lambda function that reads and writes items to DynamoDB. The team wants to guarantee that a specific attribute update only happens if another attribute has not changed since it was last read by the client, to avoid overwriting concurrent updates. What DynamoDB feature should the developer use in the write request?
- A. A conditional write expression on the UpdateItem or PutItem call
- B. Enabling DynamoDB Streams on the table
- C. Increasing the table's provisioned write capacity units
- D. Switching the table to use a local secondary index
Show answer & explanation
Answer: A
A conditional expression (ConditionExpression) on UpdateItem/PutItem enforces optimistic concurrency control: the write only succeeds if the specified condition (e.g., an attribute still matches its previously read value) holds true, otherwise it fails and the app can retry. DynamoDB Streams (B) captures a time-ordered sequence of item changes for downstream processing, it doesn't prevent conflicting writes. Increasing write capacity (C) affects throughput, not conflict detection. Local secondary indexes (D) provide alternate query patterns on sort keys, unrelated to concurrency control.8. A developer wants their Lambda function, written in Node.js, to reuse a database connection across multiple invocations to reduce cold-start overhead and connection churn. Where should the connection be initialized to achieve this?
- A. Inside the exported handler function body, so a new connection is created for every invocation
- B. Outside the handler function, at the top level of the module, so it runs once per execution environment and is reused across warm invocations
- C. In a separate Lambda function that is invoked synchronously before every request
- D. In an environment variable set through the Lambda console
Show answer & explanation
Answer: B
Code placed outside the handler, at module scope, executes once when Lambda initializes the execution environment, and persists in memory across subsequent warm invocations of that environment, allowing connection reuse. Placing it inside the handler (A) recreates the connection on every single invocation, increasing latency and potentially exhausting database connections. Invoking a separate Lambda synchronously (C) adds unnecessary latency and complexity and does not itself enable reuse. Environment variables (D) store configuration values as strings; they cannot hold a live connection object.9. A team is designing an event-driven order processing workflow that must execute a specific sequence of steps (validate order, charge payment, reserve inventory, send confirmation), with built-in error handling, retries, and the ability to visualize execution history for each order. Which AWS service is purpose-built for this?
- A. AWS Step Functions
- B. Amazon EventBridge rules alone, with no additional service
- C. AWS Lambda destinations only
- D. Amazon SQS with a single queue and no state machine
Show answer & explanation
Answer: A
Step Functions coordinates multi-step workflows as state machines, providing built-in retry/catch error handling per state and a visual execution history for each run, which matches the described sequential order-processing needs. EventBridge alone (B) routes events between sources and targets but does not manage multi-step sequential state or retries within a single workflow. Lambda destinations (C) only route the async invocation result (success/failure) to another target, they don't orchestrate a full multi-step sequence. A single SQS queue (D) simply holds messages for one consumer and provides no native step orchestration or visual execution tracking.10. A developer needs to invoke a Lambda function asynchronously and wants failed invocations, after all retries are exhausted, to be automatically captured for later inspection instead of being silently dropped. Which feature should they configure on the Lambda function?
- A. A dead-letter queue (DLQ) or Lambda destination for failure, targeting SQS or SNS
- B. Provisioned concurrency
- C. A Lambda function URL
- D. X-Ray active tracing
Show answer & explanation
Answer: A
Configuring a dead-letter queue (or the newer on-failure destination) sends the event payload to SQS or SNS after asynchronous invocation retries are exhausted, preserving failed events for later analysis. Provisioned concurrency (B) keeps execution environments warm to reduce cold starts, it has nothing to do with capturing failed events. A function URL (C) is a direct HTTPS endpoint for invoking a Lambda function, unrelated to failure handling. X-Ray tracing (D) helps trace and visualize request latency and errors across services but does not capture or store the failed event payloads for reprocessing.11. A company's application stores customer records in Amazon S3 and needs to ensure that data is encrypted at rest, with AWS managing the encryption keys automatically without any additional developer configuration on each PutObject call. Which S3 encryption option satisfies this with the least operational overhead?
- A. Client-side encryption where the application encrypts data before uploading
- B. Server-side encryption with Amazon S3 managed keys (SSE-S3)
- C. Server-side encryption with customer-provided keys (SSE-C), supplying a new key on every request
- D. No encryption, relying solely on bucket policies to restrict access
Show answer & explanation
Answer: B
SSE-S3 has AWS manage the encryption keys entirely, encrypting objects automatically at rest with no extra per-request key management from the developer, matching the 'least operational overhead' requirement. Client-side encryption (A) requires the application itself to manage encryption and keys, adding developer overhead. SSE-C (C) requires the caller to supply and manage the encryption key on every request, which is more operational burden, not less. Relying only on bucket policies (D) controls access but does not encrypt data at rest, and does not meet the stated encryption requirement.12. A Lambda function needs to read objects from an S3 bucket and write items to a DynamoDB table, but should not have any broader account permissions. What is the most secure way to grant it exactly the permissions it needs?
- A. Attach the AdministratorAccess managed policy to the function's execution role for simplicity
- B. Create an IAM execution role with a custom policy granting only the specific S3 and DynamoDB actions and resources required
- C. Embed an IAM user's long-term access key and secret directly in the function's environment variables
- D. Grant the Lambda function's execution role full access to all S3 buckets and DynamoDB tables in the account to avoid future permission errors
Show answer & explanation
Answer: B
Following least privilege, a custom IAM policy attached to the function's execution role that scopes exactly the needed S3 and DynamoDB actions/resources is the secure, correct pattern for Lambda permissions. AdministratorAccess (A) grants far more permission than needed, violating least privilege and increasing blast radius if compromised. Embedding long-term IAM user credentials in environment variables (C) is an anti-pattern; Lambda execution roles already provide temporary, automatically rotated credentials, so static keys are unnecessary and risky. Granting full access to all S3 buckets and DynamoDB tables (D) is also overly broad and violates least privilege.13. A mobile application needs to let users sign in with Google or Facebook and then obtain temporary AWS credentials to directly access an S3 bucket and DynamoDB table, without the app managing any long-term AWS credentials. Which AWS service combination is designed for this?
- A. Amazon Cognito Identity Pools (Federated Identities) exchanging federated tokens for temporary IAM credentials via STS
- B. IAM users created individually for each mobile app installation
- C. AWS Organizations service control policies
- D. Amazon Cognito User Pools alone, without an identity pool
Show answer & explanation
Answer: A
Cognito Identity Pools are specifically designed to take identities from external providers (Google, Facebook, User Pools, etc.) and exchange them via AWS STS for temporary, scoped AWS credentials that the app can use directly against S3, DynamoDB, and other AWS services. Creating IAM users per installation (B) is unscalable, insecure (long-term credentials distributed to devices), and not the intended pattern. AWS Organizations SCPs (C) set permission guardrails across accounts, they are not an identity federation or credential-vending mechanism for end users. Cognito User Pools alone (D) handle user sign-up/sign-in and issue JWT tokens for authentication, but do not by themselves vend temporary AWS credentials — that requires pairing with an identity pool.14. An application running on an EC2 instance needs to call the S3 API. The security team requires that no long-term access keys ever be stored on the instance. What is the recommended way to grant the application AWS API permissions?
- A. Attach an IAM role to the EC2 instance profile, so the instance retrieves temporary credentials automatically
- B. Store an IAM user's access key and secret key in a configuration file on the instance's local disk
- C. Hard-code the access key and secret key directly into the application source code
- D. Pass the access key and secret key as command-line arguments each time the application starts
Show answer & explanation
Answer: A
An IAM role attached via an instance profile lets the EC2 instance metadata service supply automatically rotated, temporary credentials to the application, with no long-term keys ever stored on the instance. Storing an IAM user's keys on local disk (B) directly violates the 'no long-term keys on the instance' requirement. Hard-coding keys in source (C) is a severe security anti-pattern, exposing credentials in version control and builds. Passing keys as command-line arguments (D) still requires long-term keys to exist and be handled, and exposes them in process lists and shell history.15. A company stores application secrets, such as database passwords, and wants them automatically rotated on a schedule without custom rotation code being written for supported database engines, while also being retrievable by Lambda functions at runtime. Which AWS service best fits this requirement?
- A. AWS Secrets Manager
- B. AWS Systems Manager Parameter Store Standard tier only, with manual updates
- C. Amazon S3 with server-side encryption
- D. AWS CloudHSM
Show answer & explanation
Answer: A
Secrets Manager natively supports automatic rotation for supported database engines (like RDS) using built-in rotation Lambda templates, and secrets can be retrieved at runtime via the Secrets Manager API/SDK. Parameter Store Standard tier (B) can store secrets but does not include the same native, built-in automatic rotation workflow for database credentials without custom scripting. S3 (C) is object storage; while it can store encrypted data, it has no secret-rotation or secret-versioning feature designed for credentials. CloudHSM (D) provides dedicated hardware security modules for cryptographic key storage and operations, it is not a secrets management/rotation service for application credentials.16. A developer's Lambda function needs to decrypt a value that was encrypted using an AWS KMS customer managed key. The function's execution role currently has no KMS permissions. Which IAM permission model change is required for the decryption call to succeed?
- A. The execution role needs kms:Decrypt permission on the specific key, and the key's key policy must also allow that role to use the key
- B. No IAM changes are needed because KMS keys are always publicly decryptable by any authenticated AWS principal
- C. Only the KMS key policy needs to be updated; IAM role permissions are irrelevant for KMS operations
- D. Only the Lambda function's resource-based policy needs updating; KMS key policies do not matter
Show answer & explanation
Answer: A
KMS customer managed keys require both the calling principal's IAM policy (the Lambda execution role must have kms:Decrypt) AND the key's own key policy to permit that principal, since KMS uses a dual-authorization model (identity-based and resource-based/key policy). Option B is false because KMS keys are never publicly decryptable by default; access is tightly scoped. Option C is incorrect because IAM identity policy grants are still required in addition to the key policy. Option D conflates a Lambda resource policy (which governs who can invoke the function) with KMS's own key policy, which governs who can use the key — these are separate mechanisms and both IAM and the key policy matter for KMS, not a Lambda resource policy.17. A company wants developers calling their internal APIs hosted on API Gateway to authenticate using short-lived AWS Signature Version 4 signed requests derived from IAM credentials, rather than managing separate API keys. Which API Gateway authorization option supports this?
- A. IAM authorization on the API Gateway method
- B. API key authorization with usage plans as the sole mechanism
- C. No authorization, relying only on network-level security groups
- D. Resource policies attached to an unrelated S3 bucket
Show answer & explanation
Answer: A
IAM authorization on an API Gateway method requires callers to sign requests with SigV4 using valid IAM credentials, letting API Gateway verify the caller's identity and permissions without separate API keys. API keys with usage plans (B) are meant primarily for throttling/quota tracking of API consumers and are not tied to IAM credential based SigV4 signing. Relying only on security groups (C) does not apply to API Gateway's HTTP-level access (API Gateway does not sit behind customer-managed security groups the way EC2 does for regional REST APIs invoked over the internet), and provides no request-level identity authorization. An S3 bucket resource policy (D) governs access to S3 objects, not to API Gateway API methods.18. A team is deploying a new version of a Lambda-backed API and wants to gradually shift a small percentage of production traffic to the new version, monitoring error rates before shifting all traffic, with automatic rollback if CloudWatch alarms trigger. Which AWS deployment approach fits this best?
- A. AWS CodeDeploy with a Lambda deployment configuration using canary or linear traffic shifting and CloudWatch alarm rollback
- B. Manually updating the Lambda function code and immediately pointing 100% of traffic at it with no monitoring step
- C. Creating a new, entirely separate AWS account for the new version and manually redirecting DNS
- D. Using only Lambda function versions with no aliases or traffic-shifting configuration
Show answer & explanation
Answer: A
CodeDeploy natively supports Lambda deployments with canary or linear traffic-shifting configurations tied to a Lambda alias, and can automatically roll back based on CloudWatch alarms if error thresholds are breached, matching every requirement in the scenario. Immediately shifting 100% of traffic with no gradual rollout or monitoring (B) is exactly the risky pattern the team wants to avoid. Creating a separate AWS account and manually redirecting DNS (C) is an unnecessarily heavyweight, manual, and error-prone approach compared to using built-in alias traffic shifting. Using Lambda versions without aliases or traffic shifting (D) provides no mechanism for gradual, percentage-based traffic shifting.19. A developer wants to define their application's AWS resources — a Lambda function, an API Gateway API, and a DynamoDB table — as code, and deploy them together as a single versioned unit that can be repeatedly and consistently redeployed across environments. Which AWS service is designed for this?
- A. AWS CloudFormation (or the AWS SAM framework built on top of it)
- B. AWS Config rules
- C. Amazon CloudWatch Synthetics canaries
- D. AWS Trusted Advisor
Show answer & explanation
Answer: A
CloudFormation (and SAM, which compiles to CloudFormation) lets developers define infrastructure as a template and deploy/update a whole stack of related resources — Lambda, API Gateway, DynamoDB — together as one versioned, repeatable unit, satisfying the described requirement. AWS Config (B) is a service for recording and evaluating resource configuration compliance over time, not for provisioning resources. CloudWatch Synthetics canaries (C) are scripted tests that monitor endpoints and APIs, unrelated to infrastructure provisioning. Trusted Advisor (D) provides best-practice recommendations across cost, security, and performance, it does not deploy resources.20. A team uses AWS Elastic Beanstalk to host a web application and needs zero-downtime deployments where a full new set of instances is provisioned, verified healthy, and then production traffic is switched over — allowing an immediate rollback by switching back if problems are found. Which Elastic Beanstalk deployment policy matches this description?
- A. All at once
- B. Rolling
- C. Immutable
- D. Blue/green using a swap of environment URLs (CNAME swap) between a new and existing environment
Show answer & explanation
Answer: D
A CNAME/environment URL swap between a newly created 'green' environment and the existing 'blue' one lets the new environment be fully provisioned and validated before traffic is switched, with an easy rollback by swapping the CNAME back — this is the blue/green pattern, typically implemented in Beanstalk via a separate environment and swap rather than an in-place deployment policy. 'All at once' (A) replaces the application on existing instances simultaneously with no new environment and real downtime risk. 'Rolling' (B) updates batches of instances within the same environment incrementally, without provisioning a full parallel environment. 'Immutable' (C) provisions a full set of new instances within the same environment behind the scenes and shifts traffic once healthy, but does not involve two independently addressable environments with a URL swap for rollback the way blue/green does.21. A CI/CD pipeline built with AWS CodePipeline needs to run unit tests and build a deployment artifact from source code before deploying it. Which AWS service is typically used as the build stage within CodePipeline to compile code and run tests?
- A. AWS CodeBuild
- B. AWS CodeCommit
- C. Amazon EventBridge
- D. AWS Direct Connect
Show answer & explanation
Answer: A
CodeBuild is a managed build service that compiles source code, runs tests, and produces deployment-ready artifacts, and it's the standard build-stage action integrated into CodePipeline. CodeCommit (B) is a managed Git source-control repository service, used for storing source code, not for building or testing it. EventBridge (C) is an event bus for routing events between AWS services and applications, not a build/test execution service. Direct Connect (D) is a dedicated network connection service between on-premises and AWS, entirely unrelated to CI/CD build processes.22. A team wants their CodePipeline deployment to automatically pause and require a manual approval action before the production deployment stage runs, so a release manager can review changes first. How can this be configured?
- A. Add a manual approval action to the pipeline stage immediately before the production deployment stage
- B. Set the production deployment stage's timeout to zero seconds
- C. Remove the production stage from the pipeline entirely and deploy manually outside of CodePipeline
- D. Configure an IAM deny policy on the CodePipeline service role for the production stage
Show answer & explanation
Answer: A
CodePipeline natively supports a manual approval action type that pauses pipeline execution until a designated approver approves or rejects it in the console or via API/SNS notification, which is exactly the gate described. Setting a stage timeout to zero (B) would simply fail the stage rather than create an approval gate. Removing the stage and deploying manually (C) abandons the automated pipeline entirely, losing consistency and auditability. An IAM deny policy on the service role (D) would block the pipeline from ever executing that stage, it does not create a resumable manual-approval gate.23. A serverless application's Lambda function occasionally times out when calling a downstream third-party HTTP API. The developer wants to understand exactly how much time is spent in the Lambda function's own code versus waiting on the external HTTP call, across many invocations. Which AWS service is best suited to visualize this breakdown?
- A. AWS X-Ray with the X-Ray SDK instrumenting the outbound HTTP call as a subsegment
- B. Amazon CloudWatch Alarms alone, with no tracing enabled
- C. AWS Config aggregators
- D. Amazon Inspector network reachability rules
Show answer & explanation
Answer: A
X-Ray traces requests end-to-end and, with the SDK instrumenting the outbound call as a subsegment, breaks down exactly how much time is spent in Lambda's own code versus waiting on the downstream call, across a service map and trace timeline. CloudWatch Alarms alone (B) can trigger on metrics like duration or error count crossing a threshold but provide no per-call breakdown of where time was spent within an invocation. AWS Config aggregators (C) consolidate resource configuration compliance data across accounts/regions, unrelated to latency tracing. Amazon Inspector network reachability rules (D) assess network configuration and vulnerability exposure, not runtime call latency breakdown.24. A Lambda function that processes DynamoDB Streams records is falling behind, and CloudWatch shows the IteratorAge metric steadily increasing. What does a rising IteratorAge most directly indicate, and what is a reasonable first remediation step?
- A. The consumer Lambda function is not processing records as fast as they are arriving; increasing the function's concurrency or batch processing efficiency is a reasonable first step
- B. The DynamoDB table has run out of storage space and needs a larger EBS volume attached
- C. IteratorAge indicates an IAM permission error and the fix is to add kms:Decrypt to the function's role
- D. IteratorAge indicates the DynamoDB table's read capacity is too high and should be lowered
Show answer & explanation
Answer: A
IteratorAge measures the age of the last record in a batch relative to when it was written to the stream, and a steadily increasing value means the consumer is falling behind the incoming stream rate, so increasing Lambda concurrency/parallelization or optimizing per-record processing time are reasonable remediations. DynamoDB tables are not backed by attachable EBS volumes and don't 'run out of storage' in the way EC2 instances do (B), making that option nonsensical. IteratorAge is a stream-processing lag metric, not an authorization/permission error signal, so KMS permissions (C) are unrelated. Lowering read capacity (D) would not address a consumer falling behind and could make matters worse by throttling reads needed to catch up.25. An application's Lambda function frequently receives a 'Rate Exceeded' throttling error when calling a downstream AWS service API directly via the SDK. What is the recommended coding pattern to handle this gracefully instead of failing immediately?
- A. Implement exponential backoff with jitter when retrying the throttled API call, ideally using the SDK's built-in retry configuration
- B. Immediately retry the exact same call in a tight loop with no delay until it succeeds
- C. Catch the throttling exception and silently discard the failed request without retrying or logging
- D. Increase the Lambda function's memory allocation, since that directly resolves API throttling from downstream services
Show answer & explanation
Answer: A
Exponential backoff with jitter progressively increases the wait time between retries and randomizes it slightly, reducing the chance of synchronized retry storms and giving the throttled service time to recover; most AWS SDKs have this built in and configurable. A tight retry loop with no delay (B) would likely worsen throttling by hammering the API even harder. Silently discarding failed requests (C) violates the requirement to handle errors comprehensively and loses data or work. Increasing Lambda memory (D) affects the function's own CPU/memory allocation, it has no effect on a downstream service's independent throttling limits.26. A Lambda function that queries an RDS database is experiencing intermittent 'too many connections' errors under moderate concurrent load, even though the function's own logic is correct. What is the most likely root cause and appropriate fix?
- A. Each concurrent Lambda execution environment opens its own database connection, and without a connection pooler (such as RDS Proxy) the number of concurrent connections can exceed the database's connection limit
- B. The Lambda function's IAM role is missing the rds:Connect permission, which always manifests as a 'too many connections' error
- C. CloudWatch Logs is rate-limiting the function's log output, which causes database connections to fail
- D. The DynamoDB table associated with the function has exceeded its read capacity
Show answer & explanation
Answer: A
Because Lambda can scale out to many concurrent execution environments, each potentially opening its own DB connection, a burst of concurrency can exceed the database's max connections; introducing RDS Proxy (or another pooling layer) multiplexes connections and mitigates this. A missing rds:Connect IAM permission (B) typically produces an authorization/access-denied error, not specifically a 'too many connections' error. CloudWatch Logs rate limiting (C) affects log delivery, not database connection establishment, and is not a known cause of DB connection errors. This scenario is about RDS, not DynamoDB, so DynamoDB read capacity (D) is irrelevant to the described symptom.27. A developer notices that a Lambda function has high p99 latency only on the first invocation after periods of inactivity, but subsequent invocations are fast. What AWS Lambda concept explains this pattern, and what is a common way to mitigate it for latency-sensitive workloads?
- A. Cold starts caused by new execution environment initialization; provisioned concurrency can keep initialized environments warm and ready
- B. DynamoDB table warming; the fix is to enable DynamoDB Accelerator (DAX) on the Lambda function itself
- C. API Gateway stage caching expiring; the fix is to disable caching entirely
- D. IAM policy evaluation latency; the fix is to remove all conditions from the execution role's policy
Show answer & explanation
Answer: A
A 'cold start' occurs when Lambda must initialize a new execution environment (downloading code, starting the runtime, running init code) before handling the first invocation, causing extra latency; provisioned concurrency pre-initializes a set number of environments to eliminate this for latency-sensitive workloads. DAX (B) is attached to DynamoDB access patterns, not to Lambda's own execution environment lifecycle, and doesn't address Lambda cold starts. API Gateway stage caching (C) affects whether a request reaches the backend at all, it is unrelated to Lambda's internal environment initialization latency. IAM policy evaluation (D) happens quickly at request-authorization time and is not the documented cause of the 'first invocation after inactivity is slow' pattern.28. A developer is debugging a distributed serverless application spanning API Gateway, Lambda, and DynamoDB, and wants a single view showing the full request path with latency at each hop to identify which component is the bottleneck. Which combination of instrumentation is most appropriate?
- A. Enable AWS X-Ray active tracing on API Gateway and Lambda, and ensure the DynamoDB SDK calls are instrumented so they appear as subsegments in the trace
- B. Rely solely on default CloudWatch Lambda duration metrics, which automatically show per-service latency across API Gateway and DynamoDB
- C. Enable VPC Flow Logs on the Lambda function's VPC configuration to see request-level application latency
- D. Use AWS Config to record configuration changes to API Gateway and Lambda over time
Show answer & explanation
Answer: A
X-Ray active tracing across API Gateway, Lambda, and instrumented downstream SDK calls (including DynamoDB) stitches together a single end-to-end trace with per-segment/subsegment latency, which is exactly the multi-hop bottleneck analysis described. Default Lambda CloudWatch duration metrics (B) show only the Lambda function's own execution duration, not a stitched cross-service view including API Gateway and DynamoDB. VPC Flow Logs (C) capture IP traffic metadata (source/destination, ports, bytes) for network-level analysis, not application-level per-hop request latency. AWS Config (D) tracks resource configuration changes over time for compliance and auditing, not runtime request latency.29. Of the 65 total items on the AWS Certified Developer - Associate exam, how many actually count toward the candidate's final score, and what happens to the rest?
- A. 50 questions are scored, and 15 are unscored items used by AWS to evaluate future questions without affecting the candidate's score
- B. All 65 questions are scored equally, with no unscored items on the exam
- C. Only 30 questions are scored, and the remaining 35 are unscored
- D. 65 questions are scored, but only 50 are counted if the candidate answers within the first hour
Show answer & explanation
Answer: A
AWS states that of the 65 total questions, 50 are scored and count toward the final result, while 15 are unscored pretest items AWS uses to gather performance data for future exam versions, indistinguishable to the candidate from scored questions. Option B is incorrect because AWS explicitly includes unscored items in this exam. Option C misstates both counts. Option D invents a time-based scoring rule that does not reflect how the unscored/scored item split actually works — the split is per-item by design, not based on when in the exam a question is answered.30. A candidate wants to know the passing threshold for the AWS Certified Developer - Associate exam and how the score is reported. Which statement correctly reflects the official scoring scale and passing score?
- A. Scores are reported on a scale of 100 to 1,000, and the minimum passing score is 720
- B. Scores are reported as a raw percentage out of 100%, and the minimum passing score is 72%
- C. Scores are reported on a scale of 0 to 100, and the minimum passing score is 70
- D. Scores are reported on a scale of 100 to 1,000, and the minimum passing score is 500
Show answer & explanation
Answer: A
AWS reports scores on a scaled range of 100 to 1,000, and the minimum passing score for this exam is 720; the scaling accounts for minor difficulty differences across exam forms, so it is not simply a raw percentage. Option B incorrectly describes the scale as a raw percentage rather than the official 100-1,000 scaled score. Option C uses the wrong scale entirely (0-100). Option D uses the correct scale but the wrong passing threshold — 500, not 720, which would misinform a candidate about how many correct answers are actually needed to pass.31. A developer is building a Lambda function triggered by API Gateway that must validate that a required 'email' field is present and properly formatted in the JSON request body before the Lambda code even runs, to reduce unnecessary Lambda invocations for malformed requests. What is the best-fit API Gateway feature for this?
- A. API Gateway request validation configured with a JSON Schema model on the method request
- B. An API Gateway usage plan with a low request quota
- C. A Lambda authorizer that only checks the Authorization header
- D. Enabling X-Ray tracing on the API Gateway stage
Show answer & explanation
Answer: A
API Gateway request validation lets you attach a JSON Schema model to a method, rejecting malformed or incomplete request bodies (and missing required parameters) with a 400 error before the request ever reaches the Lambda integration, exactly matching the described goal. Usage plans (B) throttle and meter API key usage, they don't validate payload structure. A Lambda authorizer focused on the Authorization header (C) handles authentication/authorization decisions, not payload schema validation. X-Ray tracing (D) provides observability into request flow and latency, it does not block or validate malformed requests.32. A team wants to deploy updates to an application running on Amazon ECS behind an Application Load Balancer with zero downtime, automatically running new task definitions alongside old ones and shifting traffic once health checks pass, with the ability to roll back automatically on failed health checks. Which deployment controller/service integration fits this best?
- A. ECS with AWS CodeDeploy blue/green deployment integration
- B. Manually stopping all running tasks and starting new ones in a single step with no health check gating
- C. Amazon S3 static website hosting with versioned objects
- D. AWS Direct Connect with a redundant virtual interface
Show answer & explanation
Answer: A
ECS's CodeDeploy blue/green deployment integration provisions a new (green) task set alongside the running (blue) one, uses ALB target group health checks to validate the new set, shifts traffic over, and can automatically roll back if health checks or CloudWatch alarms fail — matching every requirement described. Manually stopping and starting all tasks at once (B) causes downtime and provides no automated health-check gating or rollback. S3 static website hosting (C) serves static files and is unrelated to container orchestration or ECS deployments. Direct Connect (D) is a dedicated network link between on-premises infrastructure and AWS, entirely unrelated to application deployment strategy.33. A developer wants CloudFormation to automatically undo all resource changes if a stack update fails partway through, returning the stack to its last known good state without manual intervention. Which CloudFormation behavior provides this by default?
- A. Automatic rollback on stack update failure
- B. Stack termination protection
- C. Drift detection
- D. Nested stack change sets executed in DisableRollback=true mode
Show answer & explanation
Answer: A
By default, if a CloudFormation stack update fails, CloudFormation automatically rolls back the changes to restore the stack to its last successful state, requiring no manual intervention. Stack termination protection (B) simply prevents a stack from being accidentally deleted, it has nothing to do with handling failed updates. Drift detection (C) identifies when actual resource configuration has diverged from the stack's template, it does not perform any rollback action. Explicitly setting DisableRollback=true (D) would do the opposite of what's needed — it prevents automatic rollback, leaving the stack in a partially updated/failed state for manual troubleshooting.34. A developer needs to make an EC2-hosted application connect to a private RDS database that lives in a different VPC within the same AWS Region, without traversing the public internet and without using a NAT gateway or VPN. Which AWS networking feature is the best fit?
- A. VPC peering connection between the two VPCs, with route table entries directing traffic to the peered CIDR range
- B. Making the RDS database publicly accessible and connecting over the internet using its public endpoint
- C. AWS Direct Connect from the EC2 instance's VPC to the RDS VPC
- D. Amazon CloudFront distribution in front of the RDS endpoint
Show answer & explanation
Answer: A
VPC peering establishes a private, direct network connection between two VPCs (even across accounts, within a supported region configuration), and with the right route table entries traffic flows privately without traversing the public internet, a NAT gateway, or a VPN — matching the requirement exactly. Making RDS publicly accessible (B) explicitly routes traffic over the public internet, which the requirement rules out, and is also a security risk. Direct Connect (C) establishes a dedicated network link between on-premises infrastructure and AWS, it is not used to connect two VPCs within AWS to each other. CloudFront (D) is a content delivery network for caching and distributing content (typically HTTP/S), not a mechanism for private database connectivity between VPCs.35. A company's Lambda function needs to access resources in a private VPC subnet (such as an RDS instance with no public endpoint) but must also be able to call public AWS service endpoints like DynamoDB and S3. What must the developer configure to satisfy both requirements?
- A. Attach the Lambda function to the private VPC/subnets with an appropriate security group, and provide outbound connectivity to AWS public services via a NAT gateway or VPC endpoints
- B. Attach the Lambda function to the VPC only; no additional configuration is needed since Lambda automatically reaches all AWS public endpoints from inside any VPC
- C. Do not attach the Lambda function to the VPC at all, since Lambda can reach private RDS instances without VPC configuration
- D. Use only a public subnet with an internet gateway, and skip attaching any security group to the Lambda's network interfaces
Show answer & explanation
Answer: A
When a Lambda function is attached to a VPC to reach private resources like RDS, it loses default internet/public-AWS-service access from that private subnet unless outbound connectivity is provided by a NAT gateway (for internet-routed calls) or, more efficiently, VPC endpoints for services like DynamoDB and S3, combined with a security group permitting the necessary traffic. Option B is incorrect because VPC-attached functions do not automatically retain access to public AWS endpoints without additional NAT or VPC endpoint configuration. Option C is incorrect because Lambda must be attached to the VPC (with appropriate subnet/security group config) to reach resources like a private RDS instance with no public endpoint. Option D is incorrect because security groups are still required to control network access to Lambda's elastic network interfaces, and public subnets with only an internet gateway don't address reaching resources in a private subnet.