written by
Just4test

我是如何通过AWS认证的

1 min read , January 4, 2020

今天(2020.01.03)刚刚通过大数据专项(Big Data Specialty,BDS)认证。这是我通过的第8张AWS认证。我已经参加了9次AWS认证考试,都是一次通过(SAP通过两次)。我预感下一次Machine Learning的考试很可能会挂科,所以趁着还保持全胜记录的时候来谈谈我准备AWS认证考试的成功经验。

Update 2020.01.18: 通过BDS的15天之后,我拿下了Machine Learning Specialty。

我考证的最初目的是想提升个人能力,以及学以致用。架构师和DevOps那五张证书的学习过程还是比较能学以致用的,我还自费参加了官方培训,超级贵不过受益匪浅,每次培训都能学到改进公司现有架构的办法。不过说实话,培训对通过认证的帮助不大。

除了这五张Role Base的,剩下的三张Specialty对工作的直接帮助就不大了。Security是最接地气的,不过我司太小,大部分安全相关的知识用不上,现有架构在安全方面已经做得不错了。Advanced Networking(ANS)和BDS更是工作和个人都完全没接触过的领域。因为缺乏基础知识,备考这两个证的过程非常艰难。而且即使考完之后,你让我去配Direct Connect或者玩玩Hadoop我还是不会。不过我发现了一个从没想到的好处:2019年8月和10月分别通过了Security和ANS,然后11月去了re:Invent 2019。五天时间我听的最酣畅淋漓的两个讲座就分别是网络和安全相关的。而参加Keynote的时候,台上一通讲SageMaker的新功能,每发布一个功能就听别人在那儿欢呼,我却根本听不懂快睡着了。通过专项考试虽然不能说明什么,但至少理解了基本概念,知道别人用这些技术在解决哪些问题,聊起来的时候有共同语言。

我把自己定位为云架构师,如果公司有相关的技术团队,比如数据分析团队,他们能做数据分析但不懂得如何使用云简化、加速这个过程,那么我通过Big Data认证之后,即使仍然不会数据分析,但我也能了解他们存在哪些痛点,并为数据分析团队提供云架构层面的支持。所以暗暗决定即使不是相关专业,也要把Specialty证书都考一遍。

回头说正事儿。AWS说最好的通过考试的方式就是实践,同时也在各个认证上写明了建议至少具有两年或五年(高级网络专项)的专业经验。不过本文是传授经验,总不能说“你先去干五年,然后随便复习复习就考过了”吧。以我的经历,ANS和BDS这两科基本从完全不了解起步,到通过大约是80到120个学时。也就是说每天抽出时间复习,两个月差不多能去考试了。
补充几个前提:首先,我用AWS快四年了,并且大部分时间在做架构工作而不是业务编程;其次,我在通过这两门认证之前已经拿到了6张AWS证书。第三,ANS是公认最难的Specialty级,因为大部分概念很难理解;而由于我此前完全不了解大数据,BDS对我来说比ANS还要难;而如果你考的是Associate级别且你是开发者,那么大部分概念应该容易理解得多。

那么本文接下来的内容会告诉你我如何在80-120个学时内,从0通过一门AWS认证,并且还能有所收获(能跟别人聊得起来,对相关知识有基本概念)。两个诀窍:构建知识图谱和考试技巧。

构建知识图谱

AWS有太多项服务,服务有太多特性了。即使公认简单的SAA,其考试范围内包含的知识也不是一两个月能摸透的。但知识归知识,用来出考试题的知识点其实不多。所以说以刷题方式遍历知识图谱相当直接。

有的人据说能拿到考试原题(考试的题都是从一个固定题库中抽出来的,题库变更的频率很低),背题就通过了;不过这个好像学不到什么东西,而且你没去考试也不知道拿到的题库是不是原题,如果不是的话考试费不白花了。

我所说的刷题是找那种带详细解答和引用来源的题库,上来甭管会不会先做一轮题。然后每个错题或不完全明白的题都要看答案,看引用来源,看引用来源文档中相关的链接、上下文;没有必要一次全弄明白,因为相关的知识点你随后刷题过程中还会遇到很多次、错很多次。看到什么地步呢?回头捋下你错的这道题,你能说出“错的选项为什么错、对的选项为什么对”就行了,可以下一题了。

既然这一节的标题是“构建知识图谱”,那就还是要有个知识图谱。针对认证需要的知识主要有以下几点:

  • 有哪些服务,用最短的话说明它是做什么的
  • 有没有类似的服务,这些服务分别适合哪些不同场景
  • 服务之间是怎么互动和集成的
  • 在题目中出现的服务特性,需要计算或辨析的
  • 题目中经常出现的不同套路

把这些知识以如下方式整理成一个笔记:

  • 笔记中应该只包含你不会的部分。牢记在心的知识不要出现
  • 笔记要用自己的话来描述,越简洁越好。
  • 要有相关链接支持你的表述。链接以官方文档为佳。

太长的笔记大家都不喜欢看。笔记内容应该是你自己知识集合的补集,每一条都是你不会的,并且都用最简洁的、自己的话写成,看的时候就会很流畅,能抓住重点,而且“用自己的话描述”也强迫你把该服务的大致意思弄明白而不是简单的复制粘贴。用简化的语言表述必定会有不足的地方,因此链接官方文档以补全。

每刷一轮题之后总结一下,把之前已经写在笔记中的零碎知识点整理到一起;经常出现且不明白的内容主动去找文档,相关服务的FAQ都要捋一遍,然后是开发者文档;文档看不明白进控制台上手操作。还不明白的问题用英文关键字搜索。力求一个问题错过两次之后,同类问题再也不错。

我写了几个笔记:Big Data Advanced Networking。仔细看明显感觉到Big Data的知识更零散、不成体系,那是因为Big Data所涉及到的一些知识我早已完全掌握,这些已经掌握的知识没必要记下来,而Advanced Networking中除了安全组基本都是我知识的盲区,这个盲区很完整,它的笔记就比较成体系:)

笔记本身并不重要,重要的是梳理笔记的过程。大部分知识在梳理过程中应该进入了你的脑海(但可能还记不熟),临考试前再用半小时复习一遍即可。

考试技巧

当遇上完全不会或不确定的问题时,考试技巧可以显著提升“瞎蒙”正确率。AWS认证考试的试题非常有特点。总结起来有几个技巧:通过选项分组将多选题转化为单选题、观察题干关键要求、揣摩考点。

选项分组:如果多选题提出了N个问题/要求,要求选择N个正确选项,或者只提出一个问题,但N个正确选项组合起来才完整的回答了问题的时候,选项通常可以明显地分为N组,每一组有且只有一个正确选项。来看一道SAP官方样题

一个团队正在构建一个托管在公共 Amazon S3 存储桶中的 HTML 表单。该表单使用 JavaScript 将数据发布到 Amazon API Gateway 端点。该端点与 AWS Lambda 函数集成。团队在 API Gateway 控制台中测试了每种方法, 并收到了有效的响应。 要使表单成功发布到 API Gateway 并接收有效的响应,必须完成哪些步骤组合?(选择两项。)
A. 配置 S3 存储桶以允许跨源资源共享(CORS)。
B. 在 Amazon EC2 而不是 Amazon S3 上托管表单。
C. 请求提高 API Gateway 的限制。
D. 在 API Gateway 中启用跨源资源共享(CORS)。
E. 配置用于网络托管的 S3 存储桶。

题目中提到选项是“步骤组合”(有的时候不会明确说明这一点)。观察选项,可以发现A、D都提到了“启用跨资源共享(CORS)”,这两个选项属于一组。所以可以大致确定,A、D中有一个正确选项,另一个正确选项则在B、C、E中。

有的时候还会出现5个选项中要求选3个,而A、B明显是一组,C、D明显是一组;如果要瞎蒙的话首先可以确定E是正确答案。

题干的关键要求在考试中起到相当大的比重。关键要求经常会是“具有成本效益”、“运维简单”等等。举个例子:一道4选项单选题,要求选出具有成本效益的解决方案。一般来说,出题者希望你从4个方案中排除掉不可行的方案,然后在可行方案中选择比较便宜的方式。如果4个方案你完全不知道哪个可行哪个不可行,就可以先排除掉两个看起来比较贵的方案,从剩下的两个里面蒙一个,这通常可以提高正确率。我会习惯选第二便宜的而不是最便宜的,因为最便宜的更像是编出来的干扰项。

揣摩考点比较玄学。有的题目考点很简单,就是想问你知不知道某个AWS服务或服务的某个特性是专为解决某问题设计的。在完全瞎蒙的时候可以赌一把,选4个选项里面唯一的AWS服务。这个方式对新手来说不太靠谱,不过考多了有的时候会有一种直觉“他就是想问我知不知道这个服务”。

其他

除了以上两个技巧,还有很多可用的方法、资源。本文不想成为“一站式”教程,用这两个技巧打通AWS大满贯。也看看别人的资源、技巧,毕竟你也不指望用一个网站就搞定AWS认证。

哦对了,我主要用Whizlabs的题库,看官方文档。不太习惯看教学视频,因为我看字儿快,视频不能快进也不能跳转很烦 :P