颜力刚Ligang Yan

我是怎么通过 AWS Certified Developer Associate 考试的

落地加拿大找工作的时候,招聘启事里到处是 AWS。两周刷题加看速查表,一次通过 DVA-C02。考试概况、刷题方法、报名、考场和出分,都写在这里。

awscertification

English version: How I Passed AWS Certified Developer Associate Exam

背景

我在这个行业做了快十年。前七年做移动应用开发,后三年转向全栈,用 Node.js、React 等框架。

这期间我搬到了加拿大,遇到了新的挑战。那段时间找工作很难,大公司裁员的新闻不断。

我注意到很多招聘启事要求有 AWS 或 GCP 经验,特别是 AWS Lambda、DynamoDB、S3、API Gateway、ECS 和 EC2 这些服务,也有不少写着“有 AWS Developer 认证者优先”。这让我下决心先把认证拿下。大概花了两周时间刷题和复习关键概念之后,我一次通过了考试。

怎么考

  1. 考试概况
  2. 刷题
  3. 报名
  4. 考试当天
  5. 等出分

1. 考试概况

AWS 提供的 考试指南 PDF 里有全部信息,我挑几个关键点。

类别 Associate
时长 130 分钟
题型 65 题,单选或多选
费用 150 美元。其他费用(含汇率)见 Exam pricing
考试方式 Pearson VUE 考试中心,或在线监考
语言 英语、法语(法国)、意大利语、日语、韩语、葡萄牙语(巴西)、简体中文、西班牙语(拉美)

考试 2 小时 10 分钟65 道题,费用 150 美元。如果英语不是你的母语,可以申请额外 30 分钟,但要在预约考试之前申请。

题目基本都是场景题,只有两种题型:

  • 单选:一个正确答案,三个干扰项。
  • 多选:五个以上选项里有两个或更多正确答案。

成绩按 100 到 1,000 的标准分报告,及格线 720,也就是 65 题里至少答对 46 题。

考试内容分四个领域:

  • 领域 1:使用 AWS 服务开发(占 32%)
  • 领域 2:安全(26%)
  • 领域 3:部署(24%)
  • 领域 4:故障排查与优化(18%)

2. 刷题

如果你已经有一些 AWS 经验,我认为最好的准备方式是直接从刷题开始。做题的时候记下错题,找出自己没吃透的知识点,再有针对性地补。

ExamTopics 上有专门针对这门考试的题库。强烈建议考前一两天把所有题(至少免费的部分)过一遍。但要注意:以社区投票的答案为准,别信 ExamTopics 自己给的答案。

我把前 100 题全做了一遍,正确率大约 75%。

ExamTopics 上有些题和真题很像。考试时碰到做过的题,几乎可以秒选。

https://www.examtopics.com/exams/amazon/aws-certified-developer-associate/view/

我也把前 100 题整理到了 GitHub:

https://github.com/allenyan513/AWS-Developer-Associate-DVA-C02-100-questions/tree/main

拿一道题做个演示。大多数题都是场景题,理解上下文很重要。这是一道单选:

一个应用使用 Amazon Cognito 用户池和身份池做安全访问。开发者想把用户专属的文件上传和下载功能与 Amazon S3 集成,必须保证文件安全存取,并且用户只能访问自己的文件。文件大小从 3 KB 到 300 MB 不等。哪个方案能以最高的安全级别满足要求?

  • A. 用 S3 事件通知校验上传和下载请求,并更新用户界面。
  • B. 把上传文件的信息存到单独的 DynamoDB 表,在界面上按当前用户 ID 和文件关联的用户 ID 过滤列表。
  • C. 用 API Gateway 加 Lambda 处理上传和下载,在 Lambda 里校验每个请求再执行操作。
  • D. 在 Cognito 身份前缀内用 IAM 策略限制用户只能使用自己在 S3 里的文件夹。

正确答案是 D。看看 ChatGPT 怎么解释:

解析:

  • D 利用按 Cognito 身份动态生成并附加到每个用户的 IAM 策略,让每个用户只能访问 S3 桶里自己的文件夹(前缀)。通过 IAM 策略保证用户只能访问自己的文件,这是最安全也最直接的做法。
  • A(S3 事件通知)不是用来做访问控制的,它用于在上传下载之类的事件之后触发动作,本身不提供用户级的文件访问安全。
  • B 用 DynamoDB 表管理文件元数据并在界面层做访问控制。这可以是整体方案的一部分,但没有在 S3 层面强制安全,实现不严谨就容易出漏洞。
  • C 用 API Gateway 和 Lambda 管理上传下载并校验每个请求。安全,但增加了复杂度和延迟,因为每个文件操作都要调一次 Lambda。相比直接在 S3 上用 IAM 策略,安全但效率低。

我还强烈推荐这份速查表。它把考试范围内各个 AWS 服务的关键知识点都整理在一起,建议至少通读一遍。

https://digitalcloud.training/category/aws-cheat-sheets/aws-developer-associate/

3. 报名

做完 100 道以上的题、看完速查表,就可以报名了。

https://aws.amazon.com/certification/certified-developer-associate/?c=sec&sec=resources

可以选线上或线下。线上考试要在电脑上装一个客户端,用摄像头和麦克风实时监考,网络也要稳定。

我的 MacBook 上那个客户端出了些问题,所以选了线下。

线下考试周一到周日每天都有。我选了周六中午。

4. 考试当天

考试当天最重要的是带两份身份证件。主证件和副证件上的姓和名必须和你在 AWS Certification 账号里登记的完全一致。

详细要求见: https://aws.amazon.com/certification/policies/during-testing/#ID_Requirements

到了线下考点,工作人员会把你的随身物品收进储物柜,给你拍照录入系统,签到,然后准时开考。考试中有问题举手就行。我的体验很顺利。

5. 等出分

考完会收到一封邮件,说成绩大约 5 个工作日内出。我当天就收到了成绩,通过,拿到了认证。

English version.