55 Things You Should Know for the AWS Certified Developer Associate Exam
The word on AWS discussion forums is that the developer associate exam is the easiest of all the associate level exams. I’d have to agree. I got my highest mark (96%) whilst doing the least study. Nonetheless it wasn’t a complete waste of time/money. As part of my study process, I learnt significantly more about DynamoDB and Elastic Beanstalk than I had picked up previously.
I didn’t do any training whatsoever for this exam. I’ve played around with most of the services covered and felt like I was ready to have a crack. What I did was go through was the WhizLabs practice exams (eight in total) and then read up on the areas I wasn’t familiar with. This took me deep into the intricacies of DynamoDB, Elastic Beanstalk, SNS, SQS, SWF and CloudFormation. I was somewhat disappointed that the exam itself felt superficial. Normally, the Whizlabs practice exams are much easier than the real exam, but in this case it was the opposite. I found the practice exams quite challenging because they delved into Dynamo conditional writes, complex setups with SNS push notifications and details of CloudFormation syntax. Maybe I got lucky with easy exam questions on the day but there was only one question that actually had me puzzled.
It probably did help that I went through some of the developer associate practice exams while I was studying for the sys ops admin associate exam. I’ve generally tried to “overlearn” for all of the exams and start preparing for the next level before finishing the current certification. This time around I finished my prep with a practice exam for the DevOps Engineer Professional level. Those questions definitely did stretch me. I’m looking forward to studying for that exam over the next few months. It feels like the standard in the Professional level exams would map well to the level of knowledge required to be a productive member of our infrastructure team.
To finish up this article, here are the study questions I noted down while preparing for the exam. As a recap, I find this process of writing my own questions (and answers once I figure them out) based on my knowledge gaps forces me to synthesise and retain knowledge better than any other approach. It was useful being able to look through the questions on the morning of the exam and mentally run through the answers to ensure I had retained everything.
- Which DynamoDB service limits can be raised?
- What is the create platform endpoint useful for?
- How do SNS push notifications work?
- What is the token vending service?
- When would you use the CreatePlatform API?
- Does an IAM explicit allow to override an explicit deny?
- How does optimistic concurrency control work with DynamoDB?
- What is the structure of an SNS publish request?
- If you’re adding items every second to DynamoDB but then deleting them every hour after an analysis step, what is the best way to manage DynamoDB provisioned throughput?
- What are some best practices for queries/scans in DynamoDB?
- What is a FIFO SQS queue?
- What is the price difference between short polling and long polling?
- Does TLS 1.3 exist? And if it does, why doesn’t AWS support it?
- What is the API method to list SNS subscriptions?
- How many subscriptions per topic and how many topics are you allowed for SNS?
- What is the structure of an SNS notification message and what are they for?
- What is the maximum size of an instance store volume?
- When would you use the BundleInstances API?
- Can you change the instance type of an instance with an instance store volume?
- What is SigningCertURL for in SNS message?
- Which SNS message attributes can be null?
- What is the minimum value that can be set for SQS max size?
- How many workflows/activity types can you have per SWF domain? How many domains can you have?
- How many SQS items can you retrieve using BatchGetItem?
- What are expressions used for in DynamoDB queries?
- What is CloudFormation FindInMap useful for?
- What is the difference between Fn::Combine and Fn::Join in CloudFormation?
- What does Fn::Select do?
- What is a StackStatusFilter and how do you use it with liststacks for CF?
- How do redrive policies + dead letter queues work?
- What is CloudFront fn::Ref for?
- Can S3 buckets contain underscores?
- How many parameters can a CloudFront template have?
- What are DynamoDB streams?
- What is the AWS flow framework for SWF?
- How many open activity tasks can you have in SWF?
- What are valid parameters for SNS publish request?
- How many subnets can you have per VPC?
- When would you use CloudFormation rolling updates?
- How do you make sure that a particular script only runs on one instance in an Elastic Beanstalk cluster?
- What is the advantage of Elastic Beanstalk versions?
- What are autoscaling update policies?
- Is ELB access logging enabled by default?
- How do you use Docker with Elastic Beanstalk?
- How does updating stacks work with CloudFormation?
- When would you use a CloudFormation creation policy?
- What are best practices for blue-green deployments?
- How would you set up a cluster so that each instance knows the DNS name of every other instance in the cluster?
- Why would you use AWS data pipeline when running reports on application logs?
- How would you get Elastic Beanstalk working with a git push?
- What are Elastic Beanstalk container commands?
- What are Elastic Beanstalk saved configurations?
- Are Elastic Beanstalk environments shared by multiple applications?
- What’s the best AWS service for log analysis?
- What autoscaling state comes immediately after a failed health check?