新書推薦:
《
形而上学与存在论之间:费希特知识学研究(守望者)(德国古典哲学研究译丛)
》
售價:HK$
110.7
《
卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张)
》
售價:HK$
132.2
《
化妆品学原理
》
售價:HK$
55.8
《
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
》
售價:HK$
47.0
《
爱你,是我做过最好的事
》
售價:HK$
55.8
《
史铁生:听风八百遍,才知是人间(2)
》
售價:HK$
55.8
《
量子网络的构建与应用
》
售價:HK$
109.8
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:HK$
109.8
|
編輯推薦: |
方法独特,提炼精辟,已助数万考生轻松通过程序员考试攻克要塞软考研究团队真情分享5天精华,浓缩著名一线软考讲师10年黄金经验基于历年考点频次大数据组织编写,内容科学,重点突出精确匹配新考纲,“攻克要塞”公众号提供全天侯学习支持
|
內容簡介: |
程序员考试是计算机技术与软件专业技术资格考试(简称“软考”)系列中的一类重要考试,是计算机专业技术人员获得助理工程师职称的一个重要途径。但程序员考试涉及的知识点较广,考核难度较大。
本书以作者多年从事软考教育培训和试题研究的心得体会为基础,建立了一个5天的学习架构。作者通过深度剖析考试大纲并综合历年的考试情况,将程序员考试涉及的知识点进行高效地概括、整理,以知识图谱的形式将整个考试分解为一个个相互联系的知识点逐一讲解。读者可以通过本书快速提高学习效率和答题准确率,做到复习有的放矢、考试得心应手。本书后还给出了一套经过精心设计的全真模拟试题并作了详细解答。
本书可作为参加程序员考试考生的自学用书,也可作为软考培训班的教材。
|
目錄:
|
前言
考前必知 1
◎冲关前的准备 1
◎考试形式解读 1
◎答题注意事项 1
◎制订复习计划 2
第1天 打好基础 3
第1章 计算机科学基础 3
1.1 数制及其转换 3
1.1.1 二进制、八进制、十进制和十六进制 3
1.1.2 二进制与十进制相互转换 4
1.1.3 二进制与八进制相互转换 6
1.2 计算机内数据的表示 6
1.2.1 数的表示 6
1.2.2 非数值表示 10
1.3 算术运算和逻辑运算 11
1.3.1 二进制数运算 11
1.3.2 逻辑代数运算 13
1.4 编码基础 14
1.4.1 排列组合 14
1.4.2 常见的编码 15
第2章 计算机硬件基础知识 21
2.1 计算机系统体系结构 22
2.1.1 计算机体系结构概述 22
2.1.2 指令系统 24
2.1.3 CPU结构 27
2.1.4 流水线 28
2.2 存储系统 29
2.2.1 存储系统基础 30
2.2.2 存储器相关计算 31
2.2.3 高速缓存 32
2.3 硬盘存储器 33
2.3.1 硬盘存储器的定义及组成 33
2.3.2 常见硬盘种类 34
2.4 可靠性与系统性能评测基础 35
2.4.1 容错 35
2.4.2 系统可靠性分析 35
2.5 输入/输出技术 36
2.5.1 程序控制方式 36
2.5.2 中断方式 36
2.5.3 DMA方式 36
2.5.4 输入/输出处理机(IOP) 37
2.6 总线结构 37
第3章 数据结构知识 39
3.1 概念 40
3.1.1 基础概念 40
3.1.2 数据结构概念 40
3.2 线性表 41
3.2.1 顺序存储结构 42
3.2.2 链式存储结构 44
3.2.3 串 48
3.3 队列和栈 50
3.3.1 队列 50
3.3.2 栈 52
3.4 树 53
3.4.1 树的定义和基本概念 53
3.4.2 二叉树 54
3.4.3 二叉树 57
3.4.4 二叉排序树 57
3.4.5 线索二叉树 57
3.4.6 树和森林 58
3.5 图 61
3.5.1 图的概念 61
3.5.2 图的存储 62
3.5.3 图的遍历 63
3.5.4 小生成树 65
3.5.5 AOV和AOE 66
3.6 哈希表 67
3.6.1 哈希函数的构造方法 67
3.6.2 冲突的处理 67
3.6.3 哈希表的查找 69
3.7 查找 69
3.7.1 顺序查找 69
3.7.2 二分查找 69
3.8 排序 70
3.8.1 插入排序 70
3.8.2 交换排序 71
3.8.3 选择排序 73
3.8.4 归并排序 75
3.8.5 基数排序 75
3.8.6 各种排序算法复杂性比较 76
3.9 算法描述和分析 76
3.9.1 算法的流程图、伪代码描述方式 77
3.9.2 算法的效率分析 77
第4章 操作系统知识 78
4.1 操作系统概述 78
4.2 处理机管理 80
4.2.1 进程状态 80
4.2.2 进程的互斥和同步 81
4.2.3 进程调度 85
4.2.4 死锁 85
4.2.5 线程 87
4.3 存储管理 87
4.3.1 实存管理 87
4.3.2 虚存管理 88
4.4 文件管理 90
4.4.1 文件的组织结构 91
4.4.2 文件目录 93
4.4.3 文件管理其他知识 94
4.5 作业管理 94
4.6 设备管理 94
4.6.1 设备管理概述 94
4.6.2 I/O软件 95
4.6.3 磁盘调度 95
第5章 程序设计语言和语言处理程序基础知识 97
5.1 程序设计语言基础知识 97
5.1.1 常见的程序设计语言 97
5.1.2 程序的翻译 98
5.1.3 程序设计语言的基本成分 99
5.1.4 函数 100
5.2 语言处理程序基础知识 103
5.2.1 解释程序基础 103
5.2.2 汇编程序基础 103
5.2.3 编译程序基础 103
5.2.4 文法和语言的形式描述 104
第2天 夯实基础 113
第6章 数据库知识 113
6.1 数据库三级模式结构 114
6.2 数据模型 115
6.2.1 概念模型 115
6.2.2 E-R图 116
6.2.3 基本数据模型 117
6.3 数据依赖与函数依赖 118
6.3.1 数据依赖 118
6.3.2 函数依赖 118
6.4 关系代数 118
6.4.1 基本关系代数运算 118
6.4.2 扩展关系代数运算 119
6.5 关系数据库标准语言 124
6.5.1 数据定义(DDL) 124
6.5.2 数据操作(DML) 126
6.5.3 数据更新操作 128
6.5.4 视图 129
6.5.5 访问控制 129
6.5.6 嵌入式SQL 129
6.6 规范化 130
6.6.1 存储异常 130
6.6.2 模式分解 130
6.7 数据库的控制功能 130
6.7.1 事务 130
6.7.2 并发控制 131
6.8 数据仓库基础 133
6.9 分布式数据库基础 134
6.10 数据库设计过程 134
6.10.1 需求分析 134
6.10.2 概念结构设计 135
6.10.3 逻辑结构设计 135
6.10.4 数据库物理设计 135
6.10.5 数据库的实施 135
6.10.6 数据库运行与维护 135
第7章 计算机网络 135
7.1 计算机网络概述 136
7.2 网络体系结构 137
7.2.1 网络拓扑 137
7.2.2 OSI 137
7.2.3 TCP/IP参考模型 138
7.3 物理层 139
7.3.1 传输速率 139
7.3.2 传输介质 140
7.3.3 常见网络设备 141
7.4 数据链路层 142
7.4.1 点对点协议 142
7.4.2 局域网的数据链路层结构 142
7.4.3 CSMA/CD 144
7.5 网络层 144
7.5.1 IP协议 144
7.5.2 IPv4地址 144
7.5.3 IPv4地址分类 145
7.5.4 子网掩码 146
7.5.5 地址结构 147
7.5.6 VLSM和CIDR 148
7.5.7 IP地址和子网规划 148
7.5.8 ICMP 150
7.5.9 ARP和RARP 150
7.5.10 IPv6 150
7.6 传输层 150
7.6.1 TCP 150
7.6.2 UDP 150
7.7 应用层 151
7.7.1 DNS 151
7.7.2 DHCP 151
7.7.3 WWW 152
7.7.4 HTTP 152
7.7.5 E-mail 153
7.7.6 FTP 154
7.7.7 SNMP 155
7.7.8 Telnet 155
7.7.9 SSH 155
7.8 交换与路由 155
7.8.1 交换 155
7.8.2 路由 156
7.9 网站建设 156
第8章 多媒体基础 168
8.1 多媒体基础概念 169
8.2 声音处理 170
8.2.1 声音相关的两个参数 170
8.2.2 声音数字化处理参数 170
8.2.3 声音合成 171
8.2.4 声音文件格式 171
8.3 图形和图像处理 172
8.3.1 图形数据 172
8.3.2 图像的压缩 172
8.3.3 图像的属性 172
8.3.4 动画 174
8.3.5 视频 174
8.3.6 流媒体 174
第9章 软件工程与系统开发基础 174
9.1 软件工程概述 175
9.1.1 软件工程基本要素 175
9.1.2 软件开发工具 175
9.1.3 软件开发环境 176
9.2 软件生存周期与软件生存周期模型 176
9.2.1 软件开发模型 176
9.2.2 软件开发方法 181
9.2.3 软件过程改进 183
9.3 软件项目管理 184
9.3.1 软件项目管理基础 184
9.3.2 软件项目成本管理 185
9.3.3 软件项目进度管理 185
9.3.4 软件项目质量管理 186
9.3.5 软件项目风险管理 188
9.3.6 软件项目沟通管理 189
9.3.7 软件项目配置管理 189
9.4 软件项目度量 189
9.4.1 软件度量 189
9.4.2 软件复杂性度量 189
9.5 系统分析与需求分析 189
9.5.1 系统分析 189
9.5.2 需求分析 190
9.6 系统设计 190
9.6.1 系统设计分类 190
9.6.2 结构化分析 190
9.6.3 结构化设计 191
9.6.4 Web应用系统分析与设计 193
9.6.5 用户界面设计 193
9.7 软件测试 194
9.7.1 软件测试基础 194
9.7.2 单元测试、集成测试、确认测试、系统测试、验收测试 194
9.7.3 白盒测试、黑盒测试、灰盒测试 195
9.7.4 静态测试、动态测试 196
9.8 系统维护 196
9.9 软件体系结构 197
第10章 面向对象 197
10.1 面向对象基础 198
10.1.1 面向对象基本定义 198
10.1.2 面向对象分析 200
10.1.3 面向对象设计 200
10.1.4 面向对象程序设计 200
10.1.5 面向对象测试基础 200
10.2 UML 200
10.2.1 事物 200
10.2.2 关系 201
10.2.3 图 202
10.3 设计模式 207
10.3.1 设计模式基础 207
10.3.2 创建型设计模式 209
10.3.3 结构型设计模式 210
10.3.4 行为型设计模式 210
第3天 深入学习 212
第11章 信息安全 212
11.1 信息安全基础 213
11.1.1 信息安全研究方向 213
11.1.2 信息安全管理 213
11.1.3 网络安全等级保护 213
11.2 信息安全基本要素 214
11.3 防火墙与入侵检测 215
11.3.1 常见的3种防火墙技术 215
11.3.2 ACL 216
11.3.3 入侵检测与入侵防护 216
11.4 常见的网络安全威胁 216
11.4.1 网络监听 217
11.4.2 口令破解 217
11.4.3 拒绝服务攻击 217
11.4.4 漏洞攻击 217
11.4.5 僵尸网络 217
11.4.6 网络钓鱼 217
11.4.7 网络欺骗 218
11.4.8 社会工程 218
11.5 恶意代码 218
11.5.1 恶意代码命名规则 218
11.5.2 计算机病毒 219
11.5.3 蠕虫 219
11.5.4 木马 220
11.6 网络安全协议 220
11.6.1 HTTPS与S-HTTP 220
11.6.2 S/MIME 220
11.7 加密算法与信息摘要 220
11.7.1 密码体制 220
11.7.2 对称加密算法 221
11.7.3 非对称加密算法 221
11.7.4 信息完整性验证算法 221
11.7.5 数字签名 222
11.7.6 数字信封 222
11.7.7 容错、容灾与备份 222
第12章 信息化基础 223
12.1 信息与信息化 223
12.2 电子政务 224
12.3 企业信息化 224
12.4 电子商务 225
12.5 新一代信息技术 225
12.5.1 大数据 225
12.5.2 云计算 226
12.5.3 互联网 227
12.5.4 智慧城市 227
12.5.5 物联网 227
12.5.6 移动互联网 228
12.5.7 人工智能 228
第13章 知识产权相关法规 228
13.1 著作权法 229
13.2 专利法 231
13.3 商标法 232
13.4 计算机软件保护条例 232
第14章 标准化 233
14.1 标准化概述 234
14.2 标准化分类 234
14.3 标准的代号和名称 234
14.4 ISO 9000 235
第15章 数学基础 235
15.1 矩阵 235
15.2 线性插值 236
第16章 Excel基础 237
16.1 Excel基本概念 237
16.2 基本公式 238
16.3 公式中单元格的引用 239
16.3.1 相对引用 239
16.3.2 引用 240
16.3.3 混合引用 241
16.4 函数 241
第17章 Windows基础 250
17.1 Windows基本操作 250
17.1.1 资源管理器 250
17.1.2 回收站 251
17.1.3 文件 251
17.1.4 对话框 252
17.1.5 磁盘管理 253
17.1.6 动态链接库 253
17.2 用户与组 253
17.2.1 用户账号 253
17.2.2 组账号 254
17.3 文件系统与分区管理 254
17.4 Windows常见网络命令 255
第4天 扩展实践 257
第18章 C语言基础 257
18.1 C语言程序结构 258
18.1.1 关键字 258
18.1.2 数据类型 259
18.2 变量与常量 260
18.2.1 变量 260
18.2.2 常量 261
18.3 运算符与表达式 262
18.4 基本程序结构 263
18.4.1 顺序结构 263
18.4.2 分支结构 264
18.4.3 循环结构 264
18.5 数组 265
18.5.1 数组的声明 265
18.5.2 数组的初始化 266
18.5.3 数组的访问 266
18.6 函数 267
18.7 指针 268
18.7.1 指针声明 268
18.7.2 空指针 268
18.7.3 指针算术运算与数组访问 269
18.7.4 指针数组 270
18.7.5 数组指针 270
第19章 Java语言 270
19.1 Java语言基础 271
19.1.1 Java关键字 271
19.1.2 Java数据类型 272
19.1.3 Java运算符 272
19.1.4 Java流程控制语句 273
19.1.5 Java数组 275
19.2 Java类和对象 275
19.2.1 类的定义 276
19.2.2 对象 278
19.2.3 构造方法与析构方法 279
19.2.4 this关键字 279
19.2.5 包 279
19.2.6 String类 280
19.3 继承 281
19.4 方法重载与方法重写 282
19.4.1 方法重载 282
19.4.2 方法重写 282
19.5 抽象类 282
19.6 接口 283
19.7 异常机制 283
19.8 输入/输出流 284
19.8.1 字节流 284
19.8.2 字符流 284
第20章 经典案例分析 285
20.1 程序流程图案例 285
20.2 C语言案例 290
20.3 Java语言案例 295
第5天 模拟测试 301
程序员上午试卷 301
程序员下午试卷 309
程序员上午试卷解析与参考答案 315
程序员下午试卷解析与参考答案 323
参考文献 326
|
內容試閱:
|
计算机技术与软件专业技术资格考试是国家水平评价类职业资格考试。软考分为初级、中级、高级3个层次,计算机软件、计算机网络、信息系统、信息服务、计算机应用技术5个专业类别。程序员考试属于计算机软件类的初级考试。
程序员考试已经成为IT技术人员提高薪水和职称提升的必要条件。依据《关于印发〈计算机技术与软件专业技术资格(水平)考试暂行规定〉和〈计算机技术与软件专业技术资格(水平)考试实施办法〉的通知》(国人部发〔2003〕39号)文件规定,通过程序员考试的考生可以聘任助理工程师职务。又因为近些年,国家大力清理一批职业资格考试,所以,越来越多的考生选择报考现存的职业资格考试——软考。
跟我们交流过的“准程序员”都反映出一个心声:“考试面涉及太广,通过考试不容易”。为了帮助“准程序员”们,我们花费了半年多的时间来归纳和提炼历年程序员考试的考点和重点,并整理成书,取名为“程序员5天修炼”,希望读者们能在较短的时间里有所飞跃。这里“5天”的意思,不是指5天就能看完这本书,而是老师们的面授课程只有5天的时间。当然,读者要真正掌握本书的知识点,还需反复阅读本书,并辅以做大量的历年真题。真诚地希望“准程序员”们能抛弃一切杂念,静下心来,认真备考,相信您一定会有意外的收获。
考虑到书本是静态的,而考试考点是变化、是动态的。所以,我们在后续的过程中,将利用“攻克要塞”微信公众号来动态更新本书中的内容,建立书中知识点与考点的动态联系。当然,我们也会每一年增补一些必要的考点到本书中来。
本书第1~10章由曾哲军编写,第11~19章由施游编写,第20章由邹月平编写。本书编写过程中参考了许多专业书籍和资料,在此对这些参考文献的作者表示感谢。此外,还要感谢中国水利水电出版社万水分社的周春元副总经理,他的辛勤劳动和真诚约稿,也是我们完成此书的动力之一。
我们会随时关注“攻克要塞”公众号的读者要求并及时回复各类问题以及发布各类考试相关信息。
此外,要感谢中国水利水电出版社万水分社的周春元副总经理,他的辛勤劳动和真诚约稿,也是我们更新此书的动力之一。攻克要塞的各位同事、助手帮助做了大量的资料整理工作,甚至参与了部分编写工作,在此也一并表示感谢。
我们会随时关注“攻克要塞”公众号的读者要求并及时回复各类问题以及发布各类考试相关信息。
|
|