本人坐标上海,两年前从制造业国企转行到工业互联网,离开国企后上海户口是真心难拿,准备走居转户的道路。之前在培训机构咨询过软件设计师和其他科目,说如果是为了拿户口不建议软件设计师,因为偏难通过率偏低。不过想到自己本来就是转行缺少专业知识,加上户口需要中级职称,一举两得,就决定报考软件设计师。
前面介绍了背景,在上海的人都知道户口对于一个准备在上海长期发展的人意味着什么,于是动力十足,开始了与转行前相同的疯狂学习之路。以下为个人学习经验,不一定适合所有人,可以作为参考。
准备阶段首先要对考试范围有个大概的认知,官方教程《软件设计师教程(第5版)》目录和主要内容如下:
第一章:计算机系统知识。主要包括硬件组成、数据表示、存储系统、输入/输出技术、总线等知识点。
第二章:程序设计语言基础知识。主要包括程序设计语言的基本概念、成分和汇编、编译、解释程序的基本原理等知识点。
第三章:数据结构。主要包括线性结构、数组与矩阵、树、图、查找、排序等知识点。
第四章:操作系统知识。主要包括操作系统的概念及分类、进程管理、存储管理、设备管理、文件管理、作业管理等知识点。
第五章:软件工程基础知识。主要包括软件工程基本原理、软件生存周期、软件过程模型、需求分析、系统设计、系统测试、运行和维护知识、软件项目管理、软件之路、软件度量等知识点。
第六章:结构化开发方法。主要包括系统分析与设计的原理、结构化分析方法、结构化设计方法、WebApp分析与设计、用户界面设计等知识点。
第七章:面向对象技术。主要包括面向对象分析、设计、测试及UML、设计模式等知识点。
第八章:算法设计与分析。主要包括时间复杂度、分治法、动态规划法、贪心法、回溯法、分支界限算法、概率算法等知识点。
第九章:数据库技术基础。主要包括数据库的体系结构、三级模式结构、数据模型(E-R模型、关系模型)、关系代数、SQL语言等知识点。
第十章:网络与信息安全基础知识。主要包括网络的分类及拓扑结构、网络互联硬件、网络的协议与标准、Internet及应用、信息安全、网络安全等知识点。
第十一章:标准化和软件知识产权基础知识。主要包括ISO9000标准简介、ISO/IEC 15504过程评估标准简介、知识产权基础等知识点。
第十二章:软件系统分析与设计。主要包括结构化分析与设计、数据库分析与设计、面向对象分析与设计、算法分析与设计、面向对象的程序设计与实现等知识点。
看完要考的内容后是不是吓了一跳?这么多知识点怎么记得过来?其实也不用过多担心,再来了解下考试模式。
软件设计师考试分上下午两场:
- 上午:计算机与软件工程基础知识,考试时间150分钟,笔试,75道选择题,总分75。
- 下午:软件设计,考试时间150分钟,笔试共六道大题,其中第五、六题任选一题,题目一样只是一个用Java一个用c 解答。总分75。
上下午均达到45分及以上才算通过,通过一门不算通过。
学习阶段知道了要考哪些知识点和考试形式了,在接下来的疯狂复习之前,要先想想这么一回事:我真的要把官方教程《软件设计师教程》看完么?我真的要把所有知识点学会么?我的建议是不用。对于这种只需要及格就可以的考试,我有一些心得,可以把题目所属的知识点分成以下几种:
- 简单--考题多
- 简单--考题少
- 困难--考题多
- 困难--考题少
接下来制定复习原则:把1、2、3种知识点全部或大部分抓住,基本就能通过考试了,毕竟可以错30道选择题呢。
那么有些人可能会问,我怎么知道哪些题目是考得多和考得少的?这是后面刷题阶段要讨论的问题,现在先不细讲。
有了以上的思想准备后,就正式开始学习(复习)了。我当时是没有报班,在学习网站哔哩哔哩上找到了一个很好的视频教程,知识点分得很细,链接:https://www.bilibili.com/video/BV1rW411j7e7?from=search&seid=13965928541562385319
我的建议是视频和课本同步学习吧,视频为主,课本为辅。毕竟能自己看书学会,我们也不需要经历小学到大学这么多堂课的洗礼了。
这个视频教程每节课都是一到两个知识点,大部分在5-15min左右,适合今天看一点明天学一点的节奏。虽然不推荐把官方课本看完,但是严重推荐把本视频系列看完,不过建议1.5~2.0倍速播放,因为老师说话的确有些慢~
为了防止出现今天看完明天就忘,还是要记得做笔记来巩固,如果实在是没时间或者懒得做,我这里有份基于这个课程的笔记,有需要的可以留言获取。
巩固阶段考试嘛,经历过的人都知道,要有真题来练练手,说不定还会有类似的题目出现。试想,软件设计师已经开考这么多年了,知识点就这么多,出题的花样能翻出来多少?所以,刷题巩固阶段是我认为最重要的阶段,有些对自己理论基础很有信心的同学甚至可以直接跳过复习阶段直接进入刷题。
刷题刷题,总要有题来刷嘛,我之前也是疯狂搜集了一波真题资料。
这个适用于喜欢把试卷打印出来做题、做笔记的同学,或者喜欢电脑阅读的同学,不过我试过之后觉得不适合我,我喜欢当年考驾照刷科目一时候用手机app刷题的感觉。于是我就在手机的应用市场下载了软考刷题的app,刷起来真的是,又找回了当年跑课间操前利用排队等待时间背英语单词的感觉了。友情提醒下,这类app有些收费有些免费,如果没找到免费的同学也可以私信问我,我就不在文章里给人做广告了~
刷题的时候肯定会遇到不会的知识点,个人认为,不管剩余考试时间的长短,优先按从简单-难的顺序学习知识点,除非某个很难的知识点分值很高,这种是一定要搞懂的。这样的话,可以在有限的时间内尽可能多的提分。有些知识点是看视频过一遍理解了,做笔记,就算忘了回头看一遍就能会的,有些知识点却是要刷题才能确切掌握的,所以可以在前期把容易的题型刷完,后期重点攻克难题。最后几天再整体过一遍,保证拿到60%以上的得分点就可以了,有些真的不会且分值不高的可以选择放弃。
app刷题只适用于上午的选择题,可以说只要把推荐的视频看完,把近几年的真题刷完,把笔记多看两遍,上午基本上就稳过了。下午题真的需要些能耐了,对于我这种非IT专业出身、基础知识不牢固的人,下午的题的四、五题真是要了老命。我上午题58分,下午题46分,低空飞过,险之又险。
接下来逐题分析下。
下午题第一道大题,考点是数据流图,主要是要写出数据流图中未给出的实体、数据存储等的名字,补充缺失的数据流和起点终点等。这种类型的题目只要做过不说多,两道,就基本知道怎么做了。这道题15分,不说满分,应该至少拿到12分。
第二道大题,考点是概念模型设计阶段的实体联系图和关系模式。这道题的考点也很固定,可能要刷四五道题才能把握解题思路。会了之后也是道送分题,至少拿12分不过分。
第三道大题,考点是UML。这道题要知道几种关系(依赖关系、组合关系、泛化关系等)的表示方法,不然能看懂图也很难分析出答案。这道题要多刷刷,会了套路之后基本也能拿10分以上。
第四道大题,考点是算法设计题,分治法、动态规划法、贪心法、回溯法,貌似基本就会考这几种里的。针对于某个需求用C语言基于上面提到的某种算法写的一段解决代码,会让填上空白部分的代码片段。这道题看能力吧,如果不是那种真大牛,看到题目就能自己写出来的那种,建议还是多刷题,找到解题感觉,然后看考试题目对不对你的感觉吧。(只是我的见解,大佬们轻喷。)代码片段尽量写对1个以上吧,询问采用了自x向x的xx算法,时间复杂度多少,这些多练练基本稳拿分。这题尽量拿6分以上
第五、六大题,考点是面向对象的程序设计,第五道为C 填空,第六道为Java填空,看自己熟悉哪种语言吧。这道题一般是补充抽象方法、类,函数调用等,仔细分析题目、代码,力求对2个空以上,拿至少6分。
上面算下来是46分,正好是我低空飘过的分数,就是不知道我是不是真的按上面的这些分拿的~
上面的分析是我认为能低分飘过的基础吧,大佬的话肯定不在话下,不过对于那些基础薄弱又想迅速考过的人来说,不妨试试我这个思路。
(关于上下午题的难度自己了解到的大致有两种观点:一种是能力派,下午题目小意思但上午的题目由于量大必须要刷题,会觉得上午题目难;一种是我这种薄弱派,能刷题解决的事情绝不动脑子~,下午偏能力型的题目就会觉得难。)
考试阶段考试一般一年两次,上半年在5月份,下半年在11月份。今年上半年的考试因疫情原因推迟了,目前还未确定考试时间。
上午选择题采用答题卡形式,所以要准备2B铅笔和橡皮。
拿证阶段考试结果一般一个月后能出结果吧,我19年下半年11月9号的考试,12月16号出的结果,纸质证书要几个月后才可以领取,我是在今年4月份收到的证书领取通知。
附考试报名、成绩查询、证书查询、其他通知的查询网址:
中国计算机技术职业资格网:http://www.ruankao.org.cn/
上海市职业能力考试院:http://rsj.sh.gov.cn/xxzsp/ksy/index801.jsp
最后祝大家都能考试成功,附一张自己的成绩查询结果,哈哈。
,