复习大纲:git === > CS-Note
数据结构与算法
排序
小和问题,将此问题跟归并排序结合起来。
荷兰国旗问题,有随机求 012210这样的组合队列,将数据进行排序实现00001111222这样的排序,桶排。
认识排序算法的稳定性,选择排序,希尔排序,堆排,快排不稳定
如何分析递归过程的时间复杂度,代入法,迭代法,公式法,母函数法,差分方程法,递归树法
冒泡排序,选择排序,插入排序,希尔排序,归并排序,堆排序,快排序,计数排序,桶排序,基数排序。排序C++版
字符串
待定
指纹
KMP
AC自动机
排序
Trie
字符串的逆序,
查找最长无重复子串
栈stack
队列queue
树
B/B+ 树,引深到数据库的存储
AVL,平衡二叉树
最短路径 ====> 弗洛伊德(Floyd)算法,迪杰斯特拉(Dijkstra)算法
最小生成树 ===> MST-克鲁斯卡尔(Kruskal)算法,-普里姆(Prim)算法
拓扑排序 =====> AOV网-拓扑排序,AOE网-关键路径
并查集,ACM入门之并查集,主要用在判断一个图中的两个顶点是否能相联通的问题,用于 克鲁斯卡尔(Kruskal)算法
网络流,
散列表
开放定址法(线性探测法),发生了冲突就寻找下一个散列地址。
拉链法,将冲突的用链表连接起来
其它
汉诺塔,递归 回溯 循环,面积小题
TOP-K
海量数据判重
海量数据排序
MapReduce
数学与逻辑
概率题
抢红包
洗牌
蓄水池抽样
Rand7
智力题
操作系统
基础
进程与线程
进程状态
进程调度算法
线程实现方式
协程
进程同步问题
进程通信
死锁
虚拟内存
页面置换算法
分页与分段
静态链接与动态链接
Linux
文件系统
硬链接与软链接
常用命令
僵尸进程与孤儿进程
数据库
SQL
手写分组查询
手写连接查询
连接与子查询
drop、delete、truncate
视图
存储过程
触发器
系统原理
ACID
隔离级别
封锁
乐观锁与悲观锁
MVCC
范式
SQL 与 NoSQL
一图学会MySQL的JOIN
B+ 树
索引以及优化
查询优化
InnoDB 与 MyISAM
水平切分与垂直切分
主从复制
日志
Redis
字典和跳跃表
使用场景
与 Memchached 的比较
RDB 和 AOF 持久化机制
数据淘汰机制
事件驱动模型
主从复制
集群与分布式
事务
线程安全问题
面向对象
思想
三大特性
设计原则
设计模式
单例模式
工厂模式
MVC
代理模式
JDK 中常用的设计模式
系统设计
基础
性能
伸缩性
扩展性
可用性
安全性
分布式
分布式事务
CAP
BASE
Paxos
Raft
分布式锁
分布式 ID
集群
负载均衡
Session 管理
缓存
缓存特征
LRU
缓存位置
CDN
缓存问题
一致性哈希
攻击技术
XSS
CSRF
SQL 注入
DDoS
消息队列,Celery 简明笔记, rabbitmq简介,docker学习笔记
消息模型
使用场景
可靠性
高并发系统
秒杀系统
限流算法
服务熔断与服务降级
服务拆分
幂等性
远程服务访问方法
微服务
SOA
系统设计
Web 页面请求过程
二维码登录
TinyURL
KV 存储系统
搜索引擎
网络
简单入门:图解HTTP
圣经:unix网络编程卷
基础
体系结构
以太网
网络硬件设备
IP 数据报
ARP 协议
ICMP 协议
UDP 与 TCP
TCP 连接
TCP 可靠传输
TCP 拥塞控制
DNS
HTTP
GET 与 POST
状态码
Cookie
缓存
连接管理
HTTPs
HTTP/2
版本比较
HTTP 与 FTP
Socket
I/O 模型
多路复用
Java NIO
中间件
RabbitMQ
ZooKeeper
Dubbo
Nginx
其它知识
新技术的自学,开源项目,git,kaldi
项目
个人项目
面试相关
简历
投递
========================================================================================