我是如何通过 AWS 认证开发人员助理考试 (DVA-C01) 的
介绍
-
我最近通过了 AWS Certified Developer Associate 考试。我想分享一下我通过考试的心得以及一些学习过程中的笔记。在开始之前,有必要先了解一下这门考试的内容。
-
AWS 认证开发人员 – 助理适用于具有一年或一年以上开发和维护基于 AWS 的应用程序实践经验的任何人。
-
AWS Certified Developer Associate 考试证明您对核心 AWS 服务、其用途和基本 AWS 架构最佳实践的理解,以及您使用 AWS 开发、部署和调试基于云的应用程序的熟练程度。
-
本文概述了我为准备 AWS DVA-C01 考试所使用的内容和培训材料。
考试先决条件
在参加此考试之前,AWS 建议您:
- 深入了解至少一种高级编程语言
- 了解核心 AWS 服务、服务的用途以及基本的 AWS 架构最佳实践,包括 AWS 共享责任模型、应用程序生命周期管理以及在开发过程中使用容器
- 熟练使用 AWS 开发、部署和调试基于云的应用程序以及为无服务器应用程序编写代码
- 能够识别 AWS 服务的主要功能并使用 AWS 服务 API、AWS CLI 和 SDK 编写应用程序
- 能够运用对云原生应用程序的基本理解来编写代码
- 能够在 AWS 上编写、维护和调试代码模块
考试概述
级别:助理
考试时长: 130分钟
费用: 150美元
访问考试定价页面以获取更多费用信息。
格式: 65 个问题,可选择多项选择或多项回答
交付方式: Pearson VUE 和 PSI;测试中心或在线监考考试
考试大纲
-
本考试指南包含考试的权重、测试领域和目标。它并非考试内容的完整列表。但是,每个目标的附加背景信息可以帮助您准备考试。
-
下表列出了主要内容领域及其
权重。该表位于完整的考试内容大纲之前,其中包含附加背景信息。每个领域的百分比仅代表计分内容。
领域 | 考试百分比 |
---|---|
领域 1:部署 | 22% |
领域 2:安全 | 26% |
领域 3:使用 AWS 服务进行开发 | 30% |
领域 4:重构 | 10% |
领域 5:监控和故障排除 | 12% |
全部的 | 100% |
领域 1:部署
1.1 使用现有的 CI/CD 管道、流程和模式在 AWS 中部署书面代码。
- 将代码提交到存储库并调用构建、测试和/或部署操作
- 使用标签和分支进行版本和发布管理
- 使用 AWS CodePipeline 针对不同环境编排工作流程
- 将 AWS CodeCommit、AWS CodeBuild、AWS CodePipeline、AWS CodeStar 和 AWS CodeDeploy 应用于 CI/CD 目的
- 根据应用程序部署策略执行回滚计划 1.2 使用 AWS Elastic Beanstalk 部署应用程序。
- 利用现有的支持环境来定义新的应用程序堆栈
- 打包应用程序
- 将新的应用程序版本引入 Elastic Beanstalk 环境
- 利用部署策略来部署应用程序版本(即一次性部署、滚动部署、批量滚动部署、不可变部署)
- 使用 Elastic Beanstalk 仪表板验证应用程序运行状况
- 使用 Amazon CloudWatch Logs 来检测应用程序日志记录 1.3 准备要部署到 AWS 的应用程序部署包。
- 管理包内代码模块的依赖项(如环境变量、配置文件和静态图像文件)
- 概述包/容器目录结构并适当组织文件
- 将应用程序资源需求转换为 AWS 基础设施参数(例如内存、核心)1.4 部署无服务器应用程序。
- 给定一个用例,实现并启动 AWS 无服务器应用程序模型 (AWS SAM) 模板
- 管理单个 AWS 服务中的环境(例如,区分 Amazon API Gateway 中的开发、测试和生产)领域 2:安全 2.1 对 AWS 服务进行经过身份验证的调用。
- 根据应用程序所需的最低权限传达所需的策略。
- 承担 IAM 角色来访问服务
- 使用本地或云中的软件开发工具包 (SDK) 凭证提供程序访问 AWS 服务(本地凭证与实例角色)2.2 使用 AWS 服务实施加密。
- 使用 AWS 服务加密静态数据(客户端;服务器端;信封加密)
- 加密传输中的数据 2.3 实现应用程序身份验证和授权。
- 为具有 Amazon Cognito 身份或用户池的应用程序添加用户注册和登录功能
- 使用 Amazon Cognito 提供的凭证编写访问 AWS 服务的代码。
- 使用 Amazon Cognito 同步来同步用户配置文件和数据
- 使用开发人员验证的身份在最终用户设备、后端身份验证和 Amazon Cognito 域 3 之间进行交互:使用 AWS 服务 3.1 进行开发,为无服务器应用程序编写代码。
- 比较和对比基于服务器与无服务器模型(例如,微服务、无服务器应用程序的无状态特性、扩展无服务器应用程序以及解耦无服务器应用程序层)
- 通过定义环境变量和参数(例如内存、超时、运行时、处理程序)来配置 AWS Lambda 函数
- 使用 Amazon API Gateway 创建 API 终端节点
- 使用 API 端点创建并测试适当的 API 操作,例如 GET、POST
- 应用 Amazon DynamoDB 概念(例如表、项目和属性)
- 根据应用程序需求计算 Amazon DynamoDB 的读/写容量单位
- 将 AWS Lambda 函数与 AWS 事件源关联(例如,Amazon API Gateway、Amazon CloudWatch 事件、Amazon S3 事件、Amazon Kinesis)
- 同步和异步调用 AWS Lambda 函数 3.2 将功能需求转化为应用程序设计。
- 确定给定用例的实时处理与批处理
- 确定给定用例使用同步还是异步
- 确定给定用例的事件与计划/轮询的使用情况
- 在应用程序设计中考虑一致性模型的权衡 3.3 将应用程序设计实现到应用程序代码中。
- 编写代码以利用消息服务(例如 SQS、SNS)
- 使用 Amazon ElastiCache 创建数据库缓存
- 使用 Amazon DynamoDB 为 Amazon S3 中的对象建立索引
- 编写无状态 AWS Lambda 函数
- 使用无状态 Web 服务器编写 Web 应用程序(外部化状态)3.4 编写使用 API、SDK 和 AWS CLI 与 AWS 服务交互的代码。
- 为代码组件选择适当的 API、软件开发工具包 (SDK) 和 CLI 命令
- 编写处理故障或异常的弹性代码(即,以指数退避和抖动重试)领域 4:重构 4.1 优化应用程序以最佳地使用 AWS 服务和功能。
- 实施 AWS 缓存服务以优化性能(例如 Amazon ElastiCache、Amazon API Gateway 缓存)
- 应用 Amazon S3 命名方案以获得最佳读取性能 4.2 将现有应用程序代码迁移到 AWS 上运行。
- 隔离依赖关系
- 将应用程序作为一个或多个无状态进程运行
- 开发以实现水平可扩展性
- 外部化状态领域 5:监控和故障排除 5.1 编写可监控的代码。
- 创建自定义 Amazon CloudWatch 指标
- 以系统操作员可用的方式执行日志记录
- 检测应用程序源代码以在 AWS X-Ray 5.2 中启用跟踪对测试或生产中发现的故障执行根本原因分析。
- 解释 AWS 日志记录机制的输出以识别日志中的错误
- 检查 AWS 服务(例如 AWS CodeBuild、AWS CodeDeploy、AWS CodePipeline)中的构建和测试历史记录以识别问题
- 利用 AWS 服务(例如 Amazon CloudWatch、VPC Flow Logs 和 AWS X-Ray)来定位特定的故障组件
👉 有关考试指南的更多信息可以在这里找到。
我是如何准备的?
在参加认证考试之前,我花了大量时间学习 AWS。花时间学习 AWS 对于你精通它至关重要。我准备考试时用到的资源,我会在下面一一列出。
1)📚 我参加的课程:最初,我在 Udemy 上报名参加了 Stephane Maarek 开设的一门课程,名为“Ultimate AWS Certified Developer Associate”,这是一门非常好的课程,涵盖了 AWS 及其基础知识的所有最重要方面,所以这是一个很好的开始。
👉 有关 udemy 课程的更多信息,请参见此处
2) 🛠️ 动手实践项目:只学习理论没用,你必须亲手实践一些 AWS 项目。我建议你练习一下这里介绍的一些 AWS 项目,或者你也可以从技能构建学习中心练习。
👉我实践过的一些项目在我的github仓库中有提到。
3) 📋 AWS Ramp-Up Guides:学习 AWS 云的指南。
- AWS 入门指南提供各种资源,帮助您提升 AWS 云技能和知识。每份指南都包含精心挑选的数字培训、课堂课程、视频、白皮书、认证等内容。您可以按角色、解决方案或行业领域浏览以下指南。
👉更多详情请见此处
4)🤝加入学习小组:我也建议你加入学习小组。它可以帮助你保持专注,与一起为同一场考试学习的人一起参加学习小组可能会带来额外的好处。
我参加过的学习小组:
- 云和 DevOps 宝宝:
Cloud and DevOps Babies 是一群来自全球各地的婴儿,他们怀着好奇心,学习/解读云、DevOps 和微服务技术栈。
👉更多详情请见此处
- 技术学习 Slack:TechStudySlack 是为技术学习者提供的 Slack
👉更多详情请见此处
5) ✍️ 练习测试:最后,我建议大家在参加正式考试之前先通过这些练习测试。它提供的模拟题与正式考试非常相似。
这项模拟考试的一大亮点是每个问题都包含详细的解释,帮助你更深入地了解 AWS 服务。它不仅解释了正确答案是什么,还解释了其他答案为什么是错误的。这对于帮助你识别同类服务之间的差异非常有帮助。
- 教程 Dojo 练习考试:
👉更多详情请见此处
6) 📝 备注:我概述了我会用到的资源,以及我学习方法的粗略指导。你应该找到适合自己的方法,但要有条理,并坚持下去。
有用的学习技巧和窍门
与往常一样,更多学习技巧和窍门可以帮助您应对考试:
- 此考试可通过在线监考进行,因此您无需前往附近的考试中心参加考试。
- 对于非英语母语人士,仍可享受 30 分钟的额外障碍,因此请确保您已提出该要求。
- 确保您将使用标记机制,并在有时间时重申问题。
- 猜测不会受到惩罚。
- 您可以而且应该应用与其他考试相同的规则,请在此处查看有关如何阅读问题和答案的更多详细信息。
其他资源
希望以上内容能帮助你做好准备,并评估你的知识。
请在评论区分享你的想法👇
如果你还没有关注我,请务必通过以下方式关注我:
👋在LinkedIn上与我联系
🤓在Twitter上与我联系
🐱💻在github上关注我
✍️查看我的博客
点赞、分享并关注我🚀,获取更多内容。
祝你考试顺利!玩得开心!💪