我参加了2022年11月份的《软考-系统架构设计师》考试,在一个多月的备考之中我总结了一些学习经验和答题技巧,现毫无保留的分享给大家,希望对报考的同学们有所帮助。彩蛋:关注我的公众号【劼哥舍】,回复“软考”即可获取我精心整理的学习资源。祝愿所有报考的同学们都逢考必过~
软考,全称「计算机技术与软件专业技术资格(水平)考试」,是由国家人力资源和社会保障部、工业和信息化部领导下的国家级考试,其目的是科学、公正地对全国计算机与软件专业技术人员进行职业资格、专业技术资格认定和专业技术水平测试。详细介绍可参见官网:www.ruankao.org.cn。
获得软考高级证书的好处:
我自己为什么参加软考呢?
如下图所示,软考有3个级别5个专业,很多同学在报名的时候不知道如何选择科目。
软考高级比中级的难度要大一些。中级考试为基础知识和应用技术两科,各科目考试时间均为2.5小时。高级考试主要多了论文,考试时间为2小时(将近要写3000字)。合格标准是各个科目都要求在45分以上(含45分)。中级合格率约为20-30%,高级合格率不到20%。 我的建议是:不要报考初级,因为参加软考没有任何的门槛限制,没有必要一步一步考;中级和高级具体报哪一个,按个人技术储备的实际情况来选择,IT基础差一点的同学可以报项目管理方向。有3~5年后端经验的同学可以尝试高级资格,因为写论文还是需要一定的项目经验的积累。
我自己报考的是系统架构设计师,下面主要介绍系统架构设计师的备考方法。
对于计算机类科班的同学来说,这一部分主要就是在学校里学习的内容,主要包括:计算机组成与体系结构(计算机组成、指令系统、流水线技术、存储体系、总线等)、操作系统(进程与PV操作、存储管理、设备管理、文件管理等)、数据库系统(设计范式、关系代数、SQL、数据架构、并发控制等)、计算机网络(常见网络设备、常用协议、组网方式等)、嵌入式系统(嵌入式操作系统、多核处理等),每个部分基本就是学校里面所学知识的简化版。针对这一部分,有科班基础的同学可以看视频1.5倍速复习一轮,题目大部分就是送分题;如果是没有基础的同学,最好跟着视频多学几遍,这些都是程序员安家立命的根本。
这一部分是很枯燥的理论性内容,主要包括:软件开发生命周期、软件开发过程模型(瀑布模型、螺旋模型、原型模型等)、需求管理、开发管理、软件系统设计 (易用性设计、设计模式)、软件系统建模(结构化设计、UML)、软件系统构建、软件测试(黑盒、白盒、回归、单元、集成、路径覆盖等)、项目管理 (关键路径)。其中,系统建模很可能会在案例分析题中出现。这一部分的概念枯燥并且不好记忆,建议反复观看资料学习。
这一部分是系统架构师这个科目考察内容的重中之重,无论是选择题,还是案例分析题,还是论文,都会涉及该部分的内容。这一部分首先引出了软件架构的定义,紧接着讲如何从多个维度评价一个软件架构设计(质量属性、软件质量评估方法),为了达到软件系统设计的预期标准,如何通过一些架构模式(或叫架构风格)来实现整个架构的设计。并额外列举了一些派生的架构模式和现实系统中的架构设计案例,如MVC、 微服务架构、常用中间件等。这一部分的内容最少完整学习一遍,深刻理解每个章节的内容。这一部分很重要,很重要,很重要!这一部分除了固定题型的送分题,还有很发散的开放式问答。看完这一部分的内容,也基本上就知道怎么写论文了。
这一部分内容都是概念性并且十分抽象,主要涉及到企业信息化需要做什么怎么做。比如,企业内外部有信息系统的类型的信息系统,它们之间是如何进行系统集成的,如何进行系统迁移和系统迭代,信息系统如何支撑企业的发展,如何建设电子商务等。信息系统如何服务企业、个人、政府,这些概念虽然很抽象,但我认为这也是一个系统架构师应该掌握的知识,它站在一个宏观的视角回答了“为什么要做信息化、智能化”。这一部分建议深度学习,因为在论文中写项目的背景、价值的时候可能也会用到,要深刻理解之后再开始刷题。
这一部分内容是信息安全和法律常识的基础内容,信息安全包括:基础密码学(对称、非对称加解密、数字签名)、常用身份认证方案设计、访门控制方案设计、系统安全性设计等内容;法律常识包括:著作权、专利、商标、商业机密等概念,在选择题和论文中可能也会用到这一部分的知识点。
这一部分内容是作为程序员最基本的要求,如果数学和逻辑不好,很难写出逻辑清晰工整优雅的代码。数学一般考离散数学、运筹学里面的东西,比如高考考过的线性规划、大学学过的图论,一般在考场上都能硬算出来,这一部分不建议复习,直接刷真题,边刷边了解一些算法。英语主要是计算机和软件的专业英语,会以5道完形填空的形式出现,英语很难在短时间内提高,只能鹏鹏运气了。
整个考试分三个题型:选择题、案例题、论文题,每种题型一场考试,一天内考完。上午考选择题,下午考案例分析和论文。每种题型满分都为75分,达到45分及以上算合格。由于是资格性考试,而且通过后不区分等级,因此合格万岁。这个考试很大的一个难点,在于三个题型的分数要同时达到45分及以上。
考试时间120分钟,75道四选一单项选择题,每道题1分,主要考上面提到的知识点。解题技巧如下:
考试时间90分钟,主要是问答题和填空题,总共五道大题,每道大题25分,第一题必答,二到五题四选二,选定的三题一共75分。
第一道大题比较固定,一般是软件架构评估。二到五题中,固定会有一道题是嵌入式系统设计(建议非嵌入式从业者直接放弃),除此之外还会有以下题型:
其中问答题一般有两种问法,一是概念问答类:
二是方案分析与选择类:
考试时间120分钟,考试形式是给出4道论文题目,只需要选其中一道题目来写,两个小时,手写在类似高考语文作文的答题卡上,摘要部分一般要写200字以上,正文部分一般要写2000字以上。
论文是软考高级中经常出现不合格的题型,不过只要你有实际的工作经验,有一定的理论基础,再进行了认真的准备,达到45分合格线并不是一件很困难的事。
通常来讲,论文给出的4道题目里面,一般有一道是最近两年比较火热的技术,如云原生、无服务架构、区块链等。其它三道题的出题方向很固定,频次大致从高到低主要包括:软件系统架构设计(架构评估、架构风格、微服务架构等)、软件系统建模、信息系统规划与集成、软件质量保证、软件高性能设计、软件可用性设计、软件安全性设计、需求管理、项目管理等;
想拿下论文,就必须要深入地准备一个项目,—般是自己平时工作中做的系统,从全局的角度来梳理这个系统的方方面面,然后针对不同题目从不同角度来描绘这个系统就行了。
论文的结构可以直接套用以下模板,不同的题材,结构和框架可以相同,只需要替换内容就好了。
我主要的复习方式是视频学习+真题训练+论文仿写。
视频主要用于掌握基础知识,附带一些练习题,以巩固知识点的记忆。
上午的选择题,完整的刷过一遍视频,然后再刷个10来套选择题真题,如果分数能达到60分以上的话,选择题这块应该就比较稳妥了。
下午的案例题,比选择题要难一些,有较多的概念手写,所以学习视频中明确提到的五星考点,都要背下来才行,这个背太早可能就忘记了,可以先背一轮有个印象,然后考前一周再集中记忆。另外也要配合多刷题,历年的真题都做一遍。
我自己的视频资源是公司请的培训机构讲的线上直播,虽然这课程不花钱就能听,但质量真的一般。后来我又在网上找了一些视频资源,比公司课程强太多,大家关注我微信公众号【劼哥舍】,回复“软考”即可获取我精心整理的学习资源。
学习完视频之后,就要拿分类练习题和真题来训练,在训练的过程中如发现模棱两可的知识点,可以再去反复刷视频的某个章节,力争把每个知识点都记住,软考需要记的概念性知识点还不少,特别是下午的案例题和论文,必须需要写出来大段准确概念或者某个架构方法。
刷题的话我推荐用「软考通APP」,安卓和苹果都有同款APP。
有历年真题、模拟测验、智能练习等功能,让我们非常灵活利用碎片时间来刷题。还有错题集、收藏夹等功能,让我们能够针对部分不熟悉或经常出错的知识点重点复习。
不过该APP也有2个问题,一是真题只更新到了19年(可以配合上面学习资料一起用),二是偶尔会弹广告(可以手动关闭不会强制看完),已经算是一款良心的学习APP,如果APP的作者能把最近两年的真题也更新进去就太完美了。
对于论文的准备,建议先多看看别人的论文,然后自己至少仿写三篇不同主题的论文,重点写架构设计方向的主题,最后再准备一篇近期流行的技术,比如:云原生、区块链、Web3等。
2个小时的论文书写时间非常紧张,如果没有经过考前特训,很多同学2个小时2500字抄都抄不完,更不要谈临场发挥直接写。所以每篇论文框架(摘要、开头、结尾)必须能熟练默写,要做到这3部分完全不用思考,提笔就能写至少800字,那么两千字的正文,你真正需要边思考边书写的内容就只有1200字,然后再把你准备的项目经验,结合题干套进正文里就好了。
特别需要注意的是,大家练习论文一定要拿格子本或者把答题卡打印出来练习,这样你才能习惯在答题卡上写字的感觉,避免临场书写习惯问题而手忙脚乱。
刚开始准备的时候,我觉得自己有点基础,没有复习就直接做了一套选择题的模拟题,结果惨不忍睹只拿了30多分。完整的做过一套真题才知道,选择题里陌生的知识点和概念特别多,如果不复习直接做的话,估计大部分题目都只能靠猜,后面就老老实实的开始刷视频来补基础。
视频总时长在30个小时左右(除论文以外),我大概从9月下旬开始每天用上下班通勤时间1.5~2倍速刷视频,每天大概能看2个多小时,连着国庆假期一起把所有的视频全部刷完了。大家可以看到上图中的选择题刷题记录,从最开始的30分到能拿55分,这就是刷完视频的效果。
国庆之后就只剩不到一个月的备考时间(其中包含3个周末)。日常工作比较忙,抽不出大段的时间用来复习,只能拿通勤和休息时间来零碎做做选择题、翻翻错题集、背背不牢靠的知识点。然后充分利用周末,尽量推掉所有事情,完整的做一套选择题、案例题以及论文,然后针对错题进行复盘和针对性练习。
在考试的前一周,我完整的练了2套选择题,按道理说选择题要练习到60分以后才比较稳妥,我自己训练得还不达标。作文又把摘要、开头、结尾专项练习了一遍,控制手写时间在半小时以内。然后刷了一些案例题查漏补缺,把不熟悉的知识点再背了背。
最后,来讲讲我自己这次考试的表现情况:
以上就是我2022年备考系统架构设计师的全部过程,期望我的经验能带给大家一点帮助,最后祝愿所有报考软考的同学们逢考必过~