这书选萃了很多大型企业的程序员笔试题目、面试问题,重中之重突显、解释详实。全书共分成四一部分,各一部分给出:首位一部分是程序设计基础及数据结构基本,探讨C/C++基本知识及其数据结构基本知识;其次一部分是计算机网基本,探讨互联网实体模型、套接字程序编写操作过程、IPv4与IPv6、子网划分、互联网常见检测工具等;最后一部分是电脑操作系统基本,探讨系统进程与进程的基础知识、进程间通信与进程同步、内存管理的有关专业知识等;最后一部分是别的计算机相关基本,探讨数据库基础专业知识、设计模式的有关专业知识、基础数学、逻辑性专业知识与综合知识等。
目录
- 前言
- 第1篇 程序设计基础及数据结构基础
- 第1章 数组
- 1.1 一维数组的声明与字符数组
- 1.1.1 一维数组的声明与初始化
- 1.1.2 C风格字符串与字符数组
- 1.2 二维数组
- 1.2.1 二维数组的声明与初始化
- 1.2.2 行优先存储与列优先存储
- 1.2.3 二维数组的动态声明
- 1.3 数组指针、指针数组与数组名的指针操作
- 1.3.1 指针运算--算术运算、关系运算
- 1.3.2 指针数组与数组指针
- 1.3.3 指针运算在数组中的应用
- 1.4 数组的应用
- 1.4.1 线性表的顺序存储
- 1.4.2 对称矩阵的压缩
- 本章习题
- 第2章 字符串
- 2.1 字符串与子串、子序列
- 2.2 C风格字符串
- 2.3 标准库提供的字符串处理函数
- 2.3.1 strlen
- 2.3.2 strcmp
- 2.3.3 strcat与strcpy
- 2.3.4 memcpy与memset
- 2.4 字符串的实际应用
- 2.4.1 字符串包含问题
- 2.4.2 字符串转换为数字
- 2.4.3 其他应用
- 本章习题
- 第3章 结构体、共用体与枚举
- 3.1 结构体struct
- 3.1.1 结构体的定义
- 3.1.2 结构体中的位字段
- 3.2 共用体union
- 3.3 枚举
- 3.4 sizeof运算符
- 3.4.1 sizeof的使用方法
- 3.4.2 sizeof的结果
- 3.4.3 与strlen比较
- 3.4.4 指针、引用、汉字及数组的sizeof操作
- 3.4.5 struct的空间计算
- 3.4.6 union的空间计算
- 3.4.7 枚举的空间计算
- 本章习题
- 第4章 运算符及其优先级
- 4.1 赋值语句
- 4.2 自增与自减运算符
- 4.2.1 前缀运算与后缀运算
- 4.2.2 自增、自减运算符作用的对象
- 4.2.3 ++、--运算符的结合方向
- 4.3 关系与逻辑运算符
- 4.4 位运算符
- 4.4.1 与、或、非及异或运算符
- 4.4.2 移位运算符
- 4.5 C++基本类型的类型转换
- 4.5.1 赋值转换
- 4.5.2 表达式的转换
- 4.5.3 显式转换
- 4.5.4 其他转换
- 4.6 运算符优先级表
- 本章习题
- 第5章 C预处理器、作用域、static、
- const以及内存管理
- 5.1 C预处理器
- 5.1.1 宏定义与宏替换
- 5.1.2 文件包含
- 5.1.3 条件编译
- 5.2 全局变量与局部变量
- 5.3 static
- 5.3.1 static的作用
- 5.3.2 类中static的作用
- 5.4 const
- 5.4.1 常量
- 5.4.2 指针和const修饰符
- 5.4.3 修饰函数参数与返回值
- 5.4.4 const在类中的应用
- 5.5 内存管理与释放
- 5.5.1 C语言内存操作函数
- 5.5.2 C++内存管理
- 本章习题
- 第6章 函数
- 6.1 参数传递
- 6.2 内联函数
- 6.3 默认参数
- 6.4 函数重载
- 6.5 函数模版与泛型
- 6.5.1 函数模版
- 6.5.2 类模版
- 6.6 函数的递归
- 本章习题
- 第7章 指针与引用
- 7.1 指针
- 7.1.1 指针的声明
- 7.1.2 typedef
- 7.1.3 void* 指针
- 7.1.4 指向指针的指针
- 7.1.5 函数指针
- 7.2 引用
- 7.2.1 const引用
- 7.2.2 引用做类的数据成员
- 本章习题
- 第8章 类
- 8.1 访问标号
- 8.2 类成员简介
- 8.2.1 成员函数
- 8.2.2 构造函数
- 8.2.3 析构函数
- 8.2.4 构造函数与析构函数调用顺序
- 8.2.5 操作符重载
- 8.3 成员函数的重载、覆盖与隐藏
- 8.3.1 成员函数的重载
- 8.3.2 成员函数的覆盖
- 8.3.3 成员函数的隐藏
- 本章习题
- 第9章 面向对象编程
- 9.1 继承
- 9.1.1 基类成员在派生类中的访问属性
- 9.1.2 继承时导致的二义性
- 9.1.3 转换构造函数
- 9.1.4 类型转换函数
- 9.2 虚函数多态
- 9.2.1 静态联编与动态联编
- 9.2.2 虚函数表指针(vptr)及虚基类表指针(bptr)
- 9.2.3 虚拟继承时构造函数的书写
- 9.2.4 纯虚函数
- 9.3 动态运行时类型识别与显式转换
- 9.3.1 typeid
- 9.3.2 显式转换
- 本章习题
- 第10章 分治法、动态规划与贪心算法
- 10.1 分治法
- 10.2 动态规划
- 10.2.1 LCS问题
- 10.3 贪心算法
- 10.3.1 贪心算法与动态规划
- 本章习题
- 第11章 链表
- 11.1 单链表
- 11.2 快慢指针的概念及其应用
- 11.3 双链表
- 本章习题
- 第12章 栈与队列
- 12.1 栈
- 12.2 栈的应用
- 12.2.1 算术表达式的计算
- 12.3 Catalan数
- 12.3.1 Catalan数的应用
- 12.4 队列
- 12.4.1 队列的顺序存储
- 本章习题
- 第13章 树
- 13.1 树的基本概念和性质
- 13.2 二叉树
- 13.2.1 二叉树的性质及存储结构
- 13.2.2 二叉树的遍历
- 13.3 二叉树的应用
- 13.4 树的应用
- 13.4.1 二叉排序树
- 13.4.2 平衡二叉树
- 13.4.3 哈夫曼树及哈夫曼编码
- 13.5 并查集
- 本章习题
- 第14章 图
- 14.1 图的基本概念
- 14.2 图的存储及基本操作
- 14.2.1 邻接矩阵法
- 14.2.2 邻接表法
- 14.3 图的遍历
- 14.3.1 深度优先搜索
- 14.3.2 广度优先搜索
- 14.4 图遍历算法的应用
- 14.5 图的基本应用
- 14.5.1 最小生成树
- 14.5.2 最短路径
- 14.5.3 拓扑排序
- 本章习题
- 第15章 排序
- 15.1 插入排序
- 15.1.1 直接插入排序
- 15.1.2 希尔排序
- 15.2 交换排序
- 15.2.1 冒泡排序
- 15.2.2 快速排序
- 15.3 选择排序简介
- 15.3.1 简单选择排序
- 15.3.2 堆排序
- 15.4 归并排序
- 15.4.1 二路归并排序
- 15.4.2 多路归并排序
- 15.5 不同排序算法比较
- 15.5.1 稳定性
- 15.5.2 比较次数
- 15.5.3 空间复杂度
- 本章习题
- 第16章 查找
- 16.1 基本概念
- 16.2 折半查找
- 16.3 键树
- 16.3.1 键树的定义与Trie树
- 16.3.2 键树两种实现的对比
- 16.4 后缀树与后缀数组
- 16.4.1 后缀树
- 16.4.2 后缀数组
- 16.5 哈希表
- 16.5.1 哈希表的基本概念
- 16.5.2 哈希函数
- 16.6 一致性哈希
- 16.6.1 普通集群
- 16.6.2 hash集群
- 16.6.3 一致性哈希
- 16.7 海量数据处理
- 16.7.1 分治--Hash映射
- 16.7.2 Bit-map
- 16.7.3 Bloom Filter
- 16.7.4 倒排索引法
- 本章习题
- 第2篇 计算机网络基础
- 第1章 计算机网络模型
- 1.1 OSI参考模型
- 1.2 TCP/IP模型
- 本章习题
- 第2章 传输层与SOCKET基本操作简介
- 2.1 传输层
- 2.2 TCP连接的建立和终止
- 2.2.1 三次握手建立连接详解
- 2.2.2 四次挥手释放连接详解
- 2.3 TCP状态转换图
- 2.4 SOCKET的基本操作
- 本章习题
- 第3章 网络层
- 3.1 IPv4地址及网络地址转换NAT
- 3.2 子网划分与子网掩码、CIDR
- 3.3 ARP、RARP、ICMP
- 3.4 IPv6
- 本章习题
- 第4章