我 2020 年高考进入大学,软件工程专业,去年(24年7月)毕业开始工作。我实习是在一家云计算公司,公司内部对软考的证书没有什么激励或补助之类的,我也一直认为计算机嘛,“talk is cheap,show me the code”,能力在代码水平上是能体现出来的,综合这些,一直没有去准备相关考试。
正式工作后,公司对这个有激励标准,加上当年考过后第二页可凭证书免最高 3000 的税,至于那些大城市的什么积分落户,我没有详细了解过也不觉得自己能留在大城市。除此之外,我刚毕业来到新的城市嘛,本身也不是很忙,刚好有点空闲时间,就开始看这个软考,2024 年 11 月过了软考中级(软件设计师),今天 25 年 5 月的考试成绩发布,过了系统架构设计师,就想记录一下我考试的经历和一些过程。
说真的分不算很高,两次选择题基本上都是压着线过的,论文也是。
先来说说软件设计师,这个准备的时间比架构师要久,原因一是当时刚工作,没什么事情,公司电脑打开个 pdf 软件做历年真题领导都不在意,二是当时初来乍到,也确实没有太多事情。
软件设计师我是如何准备的
上午题我本来在 b 站搜索一些视频(视频还是挺多的),但是里面讲的大部分知识,其实我在上大学时候已经知道了,大部分都是数据结构、计算机网络、操作系统、计算机组成原理、编译原理、数据库里的内容,但是不要觉得说只有把这些全都学会、学好了才能过,原因一方面是这些东西虽然多,考的杂,但考的不是很深
,另一方面这是考试,又不是真正工作遇到那种完全摸不着头脑的问题,考试就有重点、历年真题规律、每一部分占的分值等,按照分值比重去重点复习
就行了。此外还会有 5 分的全英语完形填空(说实话这 5 分全选一个就行,如果你其他部分准备的很好,这 5 分真的不是很在意,我就全选的 A)。这个部分**一定要做题
**,看视频和文档容易睡着,我刷题用的是微信小程序,叫小鸡软考,我看同事也有用希赛之类的。因为我设计师没怎么看上午题的视频,这里就不胡乱推荐了。
下午题我看的是 B站zst(炸薯条)老师 的,从普通人的角度讲述题该怎么做,下午题我个人觉得比上午题好过,原因是题型固定,我那年刚好算法题还出的很简单(正常做往年题算法题15分我都做好了一分不要的准备,但那次我应该拿了9分附近),但是需要掌握 java 或者 c++ 的一些语法规则(二选一),这会有15分,虽然这题官方考的叫设计模式,但我说实话懂语法就够了,当然设计模式也很重要,尤其是创建型那几个,选择题经常考到。up 动态置顶有网友,路人朋友总结的笔记,历年真题,是一个云盘链接,真的啥都准备齐全了,下午题跟就行了。而且每次出成绩,up 的视频下面都会有很多朋友留言,过了,充电支持之类的
,虽然他已经很久不更新了,留下的视频还是足够应对考试的。当然学习前可以先问问上次考试的朋友,对比下题型变化之类的,万一改版很大就不好了~
这是我写文字的时候刚看到的评论~
系统架构师我是怎么准备的
我先说我是很有自知之明的,我知道这个过了我离架构师也很遥远,这里顺便一提,这个和系分据说是高级里比较难的,如果没有必须要求,考那个管理师也是可以的,比如我们公司就只要是高级就行,补贴待遇一致。
这个的上午题我本来想着跟设计师差不多,无脑做题去了,一看一脸懵,什么质量属性,什么敏感点权衡点,这个是真得看视频了,于是我几经搜罗,找到了一个很不错的视频 系统架构设计师,看了两三遍质量属性,架构风格相关的章节,视频老师讲的真好,我刚刚去搜,视频已经被拿下了,所以我也没办法推荐了,我依稀记得是个女讲师,貌似是前 Orcale 的,视频里好像有慕课,不知道是不是慕课平台的。讲的真的很好,我一直分不清那么多开发模型,什么瀑布,V 模型,极限水晶什么什么的,这个老师解释完还给了总结,我记录到另一篇文章里了,软考-软件工程开发模型。
案例分析题也相对固定,注意这个相对固定,比如有一题考 NoSql,redis,memCache 可都算,甚至 es 也算,这要懂的可就多了,比如 redis 的主从复制,主节点 fork 子线程创建 rdb,传给从节点同步,同步期间使用扇形缓冲区记录新的操作,rdb 同步完成后再把这段时间的操作发过去,细节其实是很多的,包括 rdb,aof 的优缺点,怎么保持缓存和数据库的一致性,真的不是随便看看就能过的,我恰好在极客时间买了 redis 的一个专栏,所以这部分我答的还算可以。共 5 题,第一题必做,剩下 4 选 2,我记得第一题是质量属性的必选,剩下的数据库,嵌入式,web和一个什么(记不大清了,但是我肯定不会),我能选的基本上是固定的,数据库和 web,web 是跟架构有关系的,比如某几个软件是一个层,让你把这个层对应的字母选上,最后还会有一些问答题,总之一定要学好 架构风格和质量属性
。这个视频应该挺多的,我闲鱼买了一个,应该违规我就不发了~
论文题是四选一,网上有很详细的分析,我也看了往年的题,基本上每年都只会其中一两个,而且不是说你知道这个东西就能写,比如我这次考试有个负载均衡,我知道负载均衡这个概念,但当时我真不知道负载均衡的 4 种策略,我只知道个加权的,还好有个事件驱动的,最后我写了事件驱动,以 spring 里的事件为例讲的,结合消息队列。这都是有格式的,本人是xxx架构师,参与了项目,耗时 N 个月,B 站找几个模板就行,但是事前一定要写几篇,确定要写哪个项目,另外这个对知识的广度真的很大,分布式理论,负载均衡,消息队列,事件驱动,一致性哈希,共识算法.......所以架构师也确实是比软件设计师难度大的
。
当然最后我想说,考试肯定也是有运气成分的,要有赌的勇气,比如我考前就说我就赌数据库考 redis 了,其他的我都没用过,考了我也不会,所以不要因为没有完全准备好就不考
,要用于尝试~
这个考试,报名费也不是很贵,考过了之后一次抵税都够多少次报名了,而且有些公司报销报名费,过了给奖金,每月有补贴,性价比还是很高的。
考了这个架构师虽然说对我直接编码能力提升不大,但是知道了很多东西,soa,ejb,webservice,rpc 和很多相关的东西,对 rpc、多路复用的理解也更深刻了~