前言

26日急急忙忙考完软考之后总算解决掉一件事情,今后的日子也不用慌慌张张的备考了。嘤嘤嘤~ 这篇文章主要来总结下这次软考备考过程。

咳咳,首先是备考。恩……大概是从考前20天,5月6日前后开始的。(笔记为证)报考的是软件设计师中级。觉得有实力的可以选择直接报考高级的。下图是报考类别:

全国计算机技术与软件专业技术资格(水平)考试考试级别

选择软件设计师主要是因为大学时期有去考过一次,记得上午卷是过了,下午没过。所以难点还是下午卷。上午75道选择题只要刷下历年试卷,弄懂一些重点的考点。考过基本没问题。(上下午都是75分卷,45分及格)。

回顾下这20几天备考,反省下自己大部分的时间都在都在都在都在……不知道干嘛了。大致考前一星期才觉得快来不及了去努力啃考试教材。可惜其他事情忙忙~耽误耽误,到最后也才看了半本书TOT。(注:大学是也没好好备考,就算备过得也忘得差不多了)。

废话不多说,直接来点干货。本次考试还是按规矩来的,重点考点都有,下午试卷的考题也是中规中矩(本人觉得这次题目较为简单)。

上午试题

以下内容全凭作者小脑袋记住,内容不全敬请谅解,个人见解仅供参考

海明校验码 考到了

而且这次考得比较细,要求你理解掌握海明校验码的实现原理了。不只是简单的考察2^r-1 ≥ k + r这个公式了。详细理解可以看我之前的文章《简单理解海明校验码》

Gantt和PERT图 考到了

考得还是常见套路:
考得的种图的特点

  • 甘特图特点:能清晰的描述每个任务从何时开始,到何时结束,以及任务之间的并行关系。但是他不能清晰的反应出各任务的依赖关系。
  • PERT图特点:不仅给出了每个任务的开始时间、结束时间和完成该任务所需的时间,还给出了任务之间的关系。在PERT图中,关键路径是图中最长的一条路径。而松弛时间则反映了完成某些任务时可以推迟其开始时间或延长其所需完成的事件。但是PERT图不能反应任务之间的并行关系。

以及PERT图的关键路线(累计时间最长的的路线称为关键路径)和某小段线路的最迟开始时间。

正规式 考到了

考得就是正规式的转换。

正规式是一种表示正规集的工具,正规式是描述程序语言单词的表达式,对于字母表∑。
运算符“|”、“·”、“*”分别称为“或”、“连接”和“闭包”。在正规式的书写中,连接运算符“·”可省略。运算符的优先级从高到低顺序排列为:“*”、“·”、“|”。
运算符“|”表示“或”、并集。“*”表示*之前括号里的内容出现0次或多次。
若两个正规式表示的正规集相同,则认为二者等价。两个等价的正规集U和V记作U=V。
b(ab)*=(ba)*b,(a|b)*=(a*b*)*
需要注意的是,编译原理里面的正规式叫做范式,和正则表达式不是一个概念,但是有相通之处:都是通过一定的语法规则来描述文法,也就是所谓的匹配。

易错点:ab* 不是 0~n个ab, 而是a + 若干个b(包括0个)。完整的写法应该是 a.b*。 (ab)* 才是若干个ab。

后缀式 考到了

考得就是后缀式的转换。

后缀表达式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则)。

举个简单的好理解干货例子:

1
2
3
4
5
6
7
8
9
10
11
a+b*(c+d/e)
(a+(b*(c+(d/e)))) 按计算顺序加上括号
(a(b(c(de)/)+)*)+ 把运算符放到括号外面
abcde/+*+ 去掉括号

a&b|c&(b|x>0)
(a&b)|(c&(b|(x>0)))
((a&b)|(c&(b|(x>0)))) 把运算符放到括号外面
注意(a&b)先运算,得:
((ab)&(c(b(x0)>)|)&)| 去掉括号得:
ab&cbx0>|&|

McCabe度量法 考到了

MaCabe度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中的环路的个数。计算有向图G的环路复杂性的公式为V(G) = m - n + 2,其中V(G)是有向图G中的环路个数,m是G中的有向弧数,n是G中的节点数。

前趋图PV操作 考到了

详情查看《软考备考之前趋图PV操作》这篇文章

考到的还有 不说你也猜到

UML图、二叉树、设计模式、算法时间复杂度、面向对象设计(多态)、几种经典的算法策略(分治、动态规划、贪心、回溯)、图表、网络协议和对应层的设备、软件著作权、CPU等等。

哦,最后顺带提一下考过浮点数运算的的流程:小阶对大阶,同时将小阶码对应的浮点数的尾数右移相应位数。这也是今年的考点之一。(之前也有考过)

下午试题

第一道:用例图+流程图 一样的套路

第二题:数据库设计+实体联系图 一样的套路

第三题:用例图+类图 一样的套路(今年的考题是那种全部都是空的题型,只要认真审题,容易拿多分)
前三题是拿分题,大家务必认真读题,写写画画,难度不大。
第四题:一样的C语言算法题,还是一样的味道。

算法是求啥钢材长度价值的那种,怎样裁能得到最大价值。(之前好像考过,不知道是不是作者的错觉,觉得复习的时候见过,似曾相识)。

顺带吐槽下这道题……为啥么变量定义的时候都用单个字母表示而不用有具体含义的英文表示,这样在读代码的时候经常看到一半又忘了这个变量代表的值。无形中加大了这道算法题的难度。解题的时候可以自己给变量取个有语义的名称,带入理解可能会比较清晰。

代码的空填完就是考这题的算法设计采用啥策略以及算法的时间复杂度。

第五题:作者选择相对熟悉的java代码。这题考得是设计模式,如果你掌握了对应的设计模式,解起题来会比较容易。

安利一本设计模式的书《HeadFirst设计模式》,书上是用java代码做案例的,内容通俗易懂,推荐大家学习。

最后

不管有没有考好,重要的是你在整个过程中有没有收获到新知识以及备考学习的乐趣。祝大家身体健康笑口常开233333~

希望这篇文章能给你带来知识和乐趣,喜欢博主的文章可以加博主好友哦

有好的文章也可以向博主投稿哦