说明:参考书目未指定,由于通常的国内本科阶段教材都能找到相应知识点算法
第一部分软件工程基础编程
考试题型:概念问答题、实践案例题
总分:50分
1、软件过程
软件过程的概念;经典软件过程模型的特色(瀑布模型、增量模型、演化模型、统一过程模型);过程评估与CMM/CMMI的基本概念;敏捷宣言与敏捷过程的特色。
2、软件需求
软件需求的概念;需求工程的基本过程;分层数据流模型;用例和场景建模及其UML表达(用例图、活动图、泳道图、顺序图);数据模型建模及其UML表达(类图);行为模型建模及其UML表达(状态机图)。
3、软件设计与构造
软件体系结构及体系结构风格的概念;设计模式的概念;模块化设计的基本思想及概念(抽象、分解、模块化、封装、信息隐藏、功能独立);软件重构的概念;软件体系结构的UML建模(包图、类图、构件图、顺序图、部署图);接口的概念;面向对象设计原则(开闭原则、Liskov替换原则、依赖转置原则、接口隔离原则);内聚与耦合的概念、常见的内聚和耦合类型。
4、软件测试
软件测试及测试用例的概念;单元测试、集成测试、确认测试、系统测试、回归测试的概念;调试的概念、调试与测试的关系;测试覆盖度的概念;白盒测试、黑盒测试的概念;代码圈复杂度的计算方法;白盒测试中的基本路径测试方法;黑盒测试中的等价类划分方法。设计模式
第二部分计算机系统基础数组
考试题型:问答、分析缓存
总分:40分性能优化
1、处理器体系结构服务器
内容:CPU中的时序电路、单周期处理器的设计、流水线处理器的基本原理、Data Hazard的处理、流水线设计中的其余问题微信
2、优化程序性能网络
内容:优化程序性能、优化编译器的能力和局限性以及表示程序性能、特定体系结构或应用特性的性能优化、限制因素、确认和消除性能瓶颈数据结构
3、存储器结构及虚拟存储器
内容:局部性、存储器层级结构、计算机高速缓存器原理、高速缓存对性能的影响、地址空间、虚拟存储器、虚拟内存的管理、翻译和映射、TLB、动态存储器分配和垃圾收集
4、连接、进程及并发编程
内容:静态连接、目标文件、符号和符号表、重定位和加载、动态连接库、异常和进程、进程控制和信号、进程间的通讯、进程间信号量的控制、信号量,各类并发编程模式,共享变量和线程同步,其余并行问题
5、系统级I/O和网络编程
内容:I/O相关概念、文件及文件操做、共享文件、网络编程、客户端-服务器模型,套接字接口、HTTP请求,Web服务器
第三部分数据结构
考试题型:问答、分析、编程(廖老师:可用本身熟悉的程序语言、伪代码都可)
总分:60分
1、栈(Stack)、队列(Queue)和向量(Vector)
内容:
单链表,双向链表,环形链表,带哨兵节点的链表;
栈的基本概念和性质,栈ADT及其顺序,连接实现;栈的应用;栈与递归;
队列的基本概念和性质,队列ADT及其顺序,连接实现;队列的应用;
向量基本概念和性质;向量ADT及其数组、连接实现;
2、树
内容: 树的基本概念和术语;树的前序,中序,后序,层次序遍历;
二叉树及其性质;普通树与二叉树的转换;
树的存储结构,标准形式;彻底树(complete tree)的数组形式存储;
树的应用,Huffman树的定义与应用;
3、查找(search)
内容: 查找的基本概念;对线性关系结构的查找,顺序查找,二分查找;
Hash查找法,常见的Hash函数(直接定址法,随机数法),hash冲突的概念, 解决冲突的方法(开散列方法/拉链法,闭散列方法/开址定址法),二次汇集现象;
BST树定义,性质,ADT及其实现,BST树查找,插入,删除算法;
平衡树 (AVL) 的定义,性质,ADT及其实现,平衡树查找,插入算法,平衡因子的概念;
优先队列与堆,堆的定义,堆的生成,调整算法;范围查询;
4、排序
内容: 排序基本概念;插入排序,希尔排序,选择排序,快速排序,合并排序,基数排序等排序算法基本思想,算法代码及基本的时间复杂度分析
5、图
内容:图的基本概念;图的存储结构,邻接矩阵,邻接表;图的遍历,广度度优先遍历和深度优先遍历;最小生成树基本概念,Prim算法,Kruskal算法;最短路径问题,广度优先遍历算法,Dijkstra算法,Floyd算法;拓扑排序。
特点方向报名联系老师:廖炳华 老师
特点方向报名老师联系方式:(021)13012893863(含微信);55664335-809;liaobh@fudan.edu.cn。