2020软考系统架构设计师总结

0. 背景

  一开始要参加软考我是拒绝的,你不能说我一个游戏UP主当得好好的,毕业工作也有几年了,突然就叫我重新回到那种学习考试的生活吧。后来是2019年夏天时候单位发了一个专业技术职务的通知,有软考职称可以聘任相应的技术岗位,我看待遇还不错,再加上领导催得紧,那就去先考个中级看看吧。单位是做运维工作的,大部分同事中级考的都是信息系统管理工程师。
  本人大学读的是计算机科学与技术专业,大三时候分软件和网络两个方向,自己一直想学网络,但被系里安排统一选了软件。本想报网络工程师,补补网络知识,一看题目要默写配置命令啥的,完全记不住,顿时觉得还是早点拿证要紧,就报了基础相对好一点的软件设计师。
  初看试卷,都是学过的计算机专业课,以前混过NOIP竞赛,算法编程应该也没问题,结果做完一对答案,上午下午都扣了30多分,全挂。主要问题是几年没看专业课,很多东西记岔了,自己擅长的编程部分又想得太多(比如下午题Java面向对象,写了一堆强制类型转换,以及和C#的关键字弄混)。所以紧急买了本《32小时通关》,刷了一遍知识点,又做了配套的真题,之后就渐渐掌握了套路。考试时候很快就把卷子写完了,剩下来的时间都在算01背包问题的答案,最后直接用二进制枚举法暴力破解出来了,成绩68/71。

1. 准备工作

  中级成绩出来后,我想难得复习了一遍计算机专业课,趁着没忘,干脆一鼓作气把高级也考掉吧。同事里有其他考高级的,他们报的资格都是高项,都说高项简单(但也没一个过的)。我对项目管理实在不感兴趣,就把每个高级资格的卷子都找到看了一下,最后决定考系统架构设计师。
  首先是买了一大堆书,然后在网上也找了很多资料,个人推荐github上面的xxlllq/system_architect资料库,很全,也有交流群可以加。
  大概是从12月底到4月底,仔细读了遍《系统架构设计师教程(第4版)》(希赛版,清华官方版的09年就没更新了太老),看完了整本书。之后又看了遍《系统架构设计师考试全程指导(第2版)》,从4月底到7月中看完,正好到了报名时间。这段时间细看书,个人只是以兴趣为目的去了解,对考试没多大帮助,这么厚的书也记不住,题目还是不会做,没耐心的可以跳过这一步。

2. 选择题

  这个部分是以看视频和刷题为主。视频主要看资料库里面的179讲(可以二倍速播放),基础知识至少看两轮,软件工程、架构设计两章至少看四轮。再去了解了一下AI和区块链的知识,B站上有科普视频。
  刷题方面,安装了三个APP,分别是希赛网、软考通、51cto题库微信小程序。希赛功能比较全,但用的时候他们的老师会隔三差五打电话拉人报班,没有报班打算的话慎用;软考通支持打乱选项顺序,以及按照正确率、已做/未做筛选题目;51cto小程序每天题目都是固定知识点。三个APP加起来,每天一共刷30道题,以概念题和推理题为主,遇到数学英语的直接跳过。刷到最后,差不多每次都能全对,就可以开始做真题了。
  真题里面的题目,基本上在刷题APP里面都做过了,主要目的是摸清楚试卷,哪些知识点占多少篇幅。个人认为高级考试中的计算机基础知识、操作系统、组原、网络等,反而比中级的容易。几套真题做下来,选择题基本上都在68分左右,错的几道题都是数学英语,这部分自己实在搞不明白就放弃了,其他题目练好了一样能补回来。
  今年考试题目比较偏,考了好多行业知识,什么linux运维、软件测试、概率法求体积、比特币双花攻击等等,好在自己积累够,提前半小时交卷,最后考了63分。所以平时多关心行业动态,知道什么技术流行也是很重要的。

3. 案例题

  这个部分从09年的真题开始做的时候,差点被劝退了。上来就是那种“请用300字解释XXX概念、描述XXX原理”。从小就是背书弱鸡,背诵默写是要我命的事。好在看了后面几年的题,16年~18年左右的,就以图形填空为主了,而且很多能在文案里找到答案。
  第一题必做,架构风格评估几乎每年都有,做几道题了解下质量属性、风险点、非风险点、权衡点之类的特征。嵌入式基本放弃,剩下的有UML数据流图、状态图、数据库设计等等,和软件设计师套路比较像。最近几年的考试趋势偏向于互联网应用,考CDN、主从数据库、集群、负载均衡、Redis缓存、Spring框架等等,这部分教程里没怎么讲,个人推荐看《大型网站架构》之类社会上的架构师书来了解,越新越好。真题推荐蓝色封面的《13-18年解析》资料,案例题做完回顾重点看图,要搞明白为什么这样填写答案。大段背概念的那种反正我记不住,也就看看了。
  今年的案例题考得很深很细。第一题除了效用树选择填空之外,还问了管道和仓库风格的对比和选择。根据刷选择题的经验,现代编译器主要用仓库风格,就写了仓库风格更合适。具体对比细节,完全没想到会考这么细,都没怎么背,就干脆用反义词写了一通。后面的选做题,嵌入式不看,Redis考了数据类型、雪崩和淘汰策略,不是做这块开发的人还真答不好,所以选做了第二题和第五题。第二题是快递单数据库设计,问超类的概念,以前学数据库都没印象用过,但看题目里收件人和寄件人都有姓名、地址和手机号,超类估计是指共同属性,就这么写了。第五题是SSM架构,平时没怎么做过Java开发(我主攻PHP和.NET),没见过这玩意,猜想应该和三层架构差不多。题目里说了是用的SpringMVC + Spring + MyBatis技术,所以架构图里SpringMVC下面填Spring,再下面填MyBatis。这三个确定了,对应右边从上到下分别填表示层(View Layer)、控制层(Controller Layer)、持久层。Persistent这个单词我考试时候都还不认识,但XX Layer只剩下这个了,应该就是持久层,所以填了上去。持久层要连数据库,存在连接池,就填Connection Pool。剩下一个和html并列的就只能是JSP了。
  最终案例题考了61分,真的觉得有运气和发挥的成分,考的东西不会,但题目的提示恰到好处,按自己的猜想去写,就答对了。

4. 论文题

  软考高级要2个小时手写完将近3000字的论文,基本上不会给你现场组织内容的时间,只能按照考点提前准备,然后考试时套用素材。架构师考试论文有六个方向:系统建模、系统设计、架构设计、分布式、可靠性、安全保密性。论文可以早点开始准备,查资料编故事也有助于理解知识点。
  论文纸一共6页A4纸。个人使用的论文格式:摘要(130字介绍项目+170~180字概括论点和总结) + 正文(450字介绍项目背景+350字回答概念问题和过渡段落+1200字3个论点+450字总结项目效果不足和展望)。对应到论文纸上,第1页写摘要,第2页项目背景,第6页写总结,然后从第5页最下面倒着往上数,每20行一个论点,一共3个论点,最后第3页剩下来的部分回答概念和过渡段落。考试拿到答题纸把行数数好,每个地方用笔在格子里轻轻地捣一个点。这样每段写多少篇幅都会有个大概。
  论文涉及项目的选择,自己做过不少系统,像《健康档案》《库房管理》就基本的CRUD太简单了,《组原仿真实验》单机软件不好写架构,最后就选择了我大学时候做的大创项目《OJ系统》(Online Judge,现在学校还在用)。因为论文里评分标准说写大学生实习项目要扣分,所以就给自己虚构了一个在高校计算机专业教学平台研发单位的工作。自己做的真实OJ系统是基于ThinkPHP的单块架构,写出来太减分,就吹成了Spring Cloud微服务架构。所有论文都围绕这个项目来写,也参考了一些类似题目学术论文的素材。
  考试前一共准备了13篇论文(链接附后)。虽说是13篇,但写到后面就发现,很多内容可以直接复用前面写好的论文,重组一下就又是新的一篇。又从资料库里下载了论文答题纸模板打印出来,每篇论文都练习了一遍手抄。练习时间选下午3:20-5:20,跟考试时间一样。一开始手抄差不多正好用完两个小时,再往后面速度就提升上来了,也没那么累了,基本上90分钟左右能写完一整篇论文,平均下来15分钟写完一面,什么时间写到哪里都会有个印象。
  今年考试的论文题一度怀疑是不是和系分搞反了,拿到卷子一看四道题,企业集成、缺陷管理、云原生、数据分片,顿时一万头羊驼奔腾而过。我考前写完13篇论文后犹豫了一下要不要写企业集成,觉得我准备的够多了应该够用了,一念之差没写,结果还就考到了……后面三个题目见都没见过。只能先不选题了,把摘要第一段,还有正文里面介绍项目背景、收尾总结先给写了。选题无关的内容写完后,重新仔细读题,在云原生的题目里看到了一句“云原生架构以微服务和容器技术为代表”(没有这句话提示我论文准挂),就选了云原生,在过渡段落里,根据自己的理解回答了题目问的四个设计原则,然后直接套用考前准备的微服务论文,加了基于Docker容器分布式部署的内容。
  考完查了下云原生架构,发现我论文里破绽不少,担心了许久。最终论文考了52分,还好过了。所以准备论文不要有侥幸心理,一定要能写尽写(数据湖那种一般人写不来的除外),哪个题目犹豫了没写,没准考试就考到了。

5. 总结

  历时15个月,相继通过了软考中级和高级,算是大学毕业后在计算机方面取得的最高成就了吧。中级基本上是吃老本,不多说。高级原本计划三次考过,这次能一次通过,除了运气成分也有临场发挥的成分吧。
  架构师的题最近几年的越来越天马行空、接近互联网,早就超脱了教程的范畴,这部分就需要平时多关心行业动态,常见的技术不要求实际做过,但看到名字要能知道这个技术是干啥的,以及怎么和其他技术配合。
  按照现在这样的题目设置,死记硬背基本上是行不通的,相关知识还是要以理解运用为重,刷题就很有必要。比如我费了很大劲,直到考试前架构评估ATAM和SAAM的步骤都还背不下来,设计模式也列举不全,质量属性的定义解释也记不住,ABSD光记得六个步骤的名字,每个步骤干啥事也记不住,案例分析考的SSM架构就没见过。不过刷题多了,选择填空我还是能凭感觉选对,问答题如果直接叫我写,那就答不上来了。

在这里插入图片描述
在这里插入图片描述
  自己写的论文:
  https://blog.csdn.net/sinat_31152963/category_10672942.html

  • 57
    点赞
  • 261
    收藏
    觉得还不错? 一键收藏
  • 21
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值