软考A部分主要是计算机与软件工程的基础知识,主要涉及的内容有数据结构和算法基础、编译原理、操作系统和软件工程。其中,除了编译原理之前没有细致的学习(其实米老师在上课的时候有提到过这方面的内容)外,其它的内容或者是自考的内容,或者是日常学习的内容。
数据结构与算法基础:
数据结构是计算机组织数据和存储数据的方式。主要分为三种结构:线性结构、树形结构、图结构。其中线性结构又包括:线性表、链表、栈、队列和数组。这里我们需要重点掌握线性表和链表的操作、栈是先进后出、队列式先进先出等。
树形结构中树的遍历主要有前序遍历、中序遍历、后序遍历三种方式,另一个重点就是二叉树及其分类,掌握二叉树的一些基本原则。还要清楚二叉树与树的转换。
图形结构中图的遍历分为深度优先和广度优先,其中深度优先类似于树的前序遍历,广度优先类似树的层次遍历。算法主要有普里姆算法、克鲁斯卡尔算法。而关键路径法是我们需要重点掌握的,在运筹学考试中也曾用到过这种方法,但也有所不同,不同的是该路径中“正推选最大,逆推选最小”。
算法主要有插入算法(直接插入、希尔)、选择算法(简单选择、堆排序)、交换排序(冒泡、快速)、归并、基数等。这部分还提到了Hash(哈希),是一种散列表
编译原理:
编译原理是之前没有学到的内容,暂时存在很多疑惑。这部分的主要内容有文法,分为0、1、2、3四种文法,如何去判断一种文法属于哪种类型是这一部分的主要内容。在有限自动机部分,分为NFA和DFA,其中DFA是一个确定的有限状态自动机,是一个五元组;而NFA是一个不确定的有限状态机。对于这部分内容还需要在今后的学习中继续学习和研究。
操作系统:
操作系统是自考学过的内容,对这一部分内容的了解还是相对较深的。进程管理是操作系统的核心,稍有不当,就可能导致死锁。所以我们就要掌握死锁的必要条件,然后才能避免发生死锁,给我们的程序带来影响。PV操作也是一个重点掌握的内容
实存管理分为单一连续分配、固定分区分配和可变分区分配。其主要特点如下:
虚存管理分为页式、段式、段页式,主要的作用也是为了合理分配空间。
软件工程:
软工这部分我们之前接触的最多,从自考到C/S项目的学习,都是对这一内容进行了反复深刻的学习。而软考视频中的内容主要是针对我们考试中的一些常考的知识。首先就是开发的模型,主要是对我们整体的项目进行规划描述;然后就开始了解和分析需求,这是最主要的,我们必须根据用户的要求进行设计,而不能随意的开发;需求了解之后,还需要对它进行进一步的评估预算,考虑风险。一切准备就绪之后,进入了开发实施阶段,当然在具体的开发过程中可能还会不断的优化之前的方案。最后是测试与维护。
总结:
通过这部分的学习,使我明白,这不仅仅是一次软考,也是在为自己今后的学习寻找有效的方法。学习就是一个反复学习,不断总结的过程。可能一开始的时候不理解,比如现在遇到的编译原理部分的内容,但是在之后学习过程中会不断的接触,不断的进行学习,总会理解的。