1.一种结构:数据结构
参考书目:《大话数据结构》、《数据结构(C#语言描述)》、《剑指Offer》
①线性表部分:
线性表(上){ 数组、ArrayList }
线性表(中){ 单链表、双链表、LinkedList }
线性表(下){ 循环链表、约瑟夫问题 }
②栈与队列部分:
栈 { LIFO、Stack<T> }
队列 { FIFO、Queue<T> }
③树与二叉树部分:
树与二叉树(上){ 二叉树的创建与递归遍历 }
树与二叉树(中){ 二叉树的非递归遍历与二叉查找树 }
树与二叉树(下){ 二叉树的应用:求解四则运算 }
④图部分:
图(上){ 图的基本概念、存储结构与模拟实现 }
图(中){ 图的深度与广度优先遍历算法与实现 }
图(中){ 最小生成树算法介绍与实现 }
图(下){ 最短路径算法介绍与实现 }
⑤查找部分:
查找(上){ 二分查找、二叉查找树、平衡二叉树、SortedDictionary<TKey,TValue> }
查找(下){ 哈希表、Hashtable、Dictionary、三种查找表的对比测试 }
⑥排序部分:
排序:{ 插入排序、交换排序、选择排序、归并排序 }
⑦剑指Offer算法题部分:
面试题1:{ 实现Singleton模式 } 面试题2:{ 二维数组中的查找 }
面试题3:{ 替换空格 } 面试题4:{ 从尾到头打印链表 }
面试题5:{ 重建二叉树 } 面试题6:{ 用两个栈实现队列 }
面试题7:{ 旋转数组的最小数字 } 面试题8:{ 斐波那契数列 }
面试题9:{ 二进制中1的个数 } 面试题10:{ 数值的整数次方 }
面试题11:{ 打印1到最大的n位数 } 面试题12:{ 在O(1)时间删除链表 }
面试题13:{ 调整整数数组使得奇数在偶数之前 } 面试题14:{ 链表的倒数第k个节点 }
面试题15:{ 反转链表 } 面试题16:{ 合并两个排序的链表 }
面试题17:{ 二叉树的子结构 } 面试题18:{ 二叉树的镜像 }
面试题19:{ 包含Min函数的栈 } 面试题20:{ 栈的压入、弹出序列 }
面试题21:{ 从上到下打印二叉树 } 面试题22:{ 二叉搜索树的后序遍历序列 }
面试题23:{ 二叉树中和为某一值的路径 } 面试题24:{ 复杂链表的复制 }
面试题25:{ 二叉搜索树与双向链表 } 面试题26:{ 字符串的排列 }
面试题27:{ 最小的k个数 } 面试题28:{ 连续子数组的最大和 }
面试题29:{ 丑数 } 面试题30:{ 第一次只出现一个的字符 }
面试题31:{ 两个链表的第一个公共节点 } 面试题32:{ 数字在排序数组中出现的次数 }
面试题33:{ 二叉树的深度 } 面试题34:{ 翻转单词顺序vs左旋转字符串 }
面试题35:{ 将字符串转换为数字 }
2.两个协议:TCP与HTTP协议
① TCP/IP协议
参考书目:《图解TCP/IP协议》
② HTTP协议
参考书目:《图解HTTP协议》
3.三大原理:计算机原理、操作系统原理与编译原理
① 计算机系统原理
参考书目:《程序是怎样跑起来的》、《深入理解计算机系统》
② 操作系统原理
参考书目:《计算机的心智-操作系统之哲学原理》
Part 0.导论
操作系统导论 { 程序的演变过程、操作系统是什么、操作系统的角色和功能 }
操作系统基本概念 { 硬件基础知识、抽象、内核态与用户态、操作系统结构、系统调用 }
Part 1.CPU管理部分:
进程原理(上){ 进程模型、进程的层次结构、进程的状态、进程的缺陷 }
进程原理(中){ 进程调度的定义、各种调度算法、调度异常之优先级倒挂 }
进程原理(下){ 进程通信概要、各种通信方式 }
线程原理(上){ 线程基础、线程同步 }
线程原理(下){ 死锁描述、死锁必要条件、死锁应对方式、哲学家就餐问题、银行家算法 }
Part 2.内存管理部分:
内存管理(上){ 内存管理概念、基本内存管理 }
内存管理(中){ 页式内存管理、页面置换算法 }
内存管理(下){ 段式内存管理、段页式内存管理 }
Part 3.外存管理部分:
外存管理(上){ 磁盘定义、磁盘结构、访问时间、磁盘调度算法 }
外存管理(下){ 文件系统、文件夹、文件系统的调用 }
Part 4.设备管理部分:
设备管理 { I/O基本原理、I/O硬件与软件、I/O软件的分层 }
③ 编译原理
参考书目:《编译原理(龙书)》
4.基本功:Windows Server/Linux/GitHub/正则表达式
① GitHub : { 基本概念、GitHub使用、Git操作、托管代码 }
② Linux :
参考书目:《鸟哥的Linux私房菜》
熟练的面向对象之路
轻轻的一句熟悉面向对象,能够将业务逻辑转变为对象之间的交互,是一种大道至简的描述。至于面向对象,很多人都很熟悉,但却又不太熟悉。因此,我决定重新认知面向对象,下面列出我的补课成果:
1.面向对象分析之UML
2.面向对象设计之设计模式
【预备篇】
【创建型】
② 设计模式的征途-02.简单工厂(Simple Factory)模式
③ 设计模式的征途-03.工厂方法(Factory Method)模式
④ 设计模式的征途-04.抽象工厂(Abstract Factory)模式
【结构型】
【行为型】
① 设计模式的征途-14.职责链(Chain of Responsibility)模式
④ 设计模式的征途-17.模板方法(Template Method)模式
⑩ 设计模式的征途-23.解释器(Interpreter)模式
文章来源:https://www.cnblogs.com/edisonchou/p/4820676.html