本文整顿于 github 上各大 star 大神仓库。并依据本人的了解从新进行了整顿
本文曾经收录于 https://github.com/fengdongdo…
后序会持续更新
一、计算机根底
1、数据结构
(1)根本数据结构
- 数据结构基本概念(工夫复杂度和空间复杂度的计算方法)
- 数组
- 链表
- 汇合
- 队列
- 栈
- 关联数组
- 跳表
- 倒排索引
- BitSet
(2)树
- 二叉树
- 均衡二叉树
- 齐全二叉树
- 哈弗曼树
- 二叉查找树
- B、B+、B* 树
- LSM 树
- 字典树
- 红黑树
- 线段树
(3)图
- 最小生成树
- 最短门路算法
- 拓扑排序
- 深搜和广搜
(4)排序算法
- 抉择排序
- 冒泡排序
- 插入排序
- 疾速排序
- 归并排序
- 希尔排序
- 基数排序
- 计数排序
- 桶排序
- 堆排序
- 排序算法应用场景特点总结
(5)查找算法
- 程序查找
- 二分查找
- 插值查找
- 斐波那契查找
- 树表查找
(6)常见算法
- KMP 算法
- 贪婪算法
- 回溯算法
- 剪枝算法
- 动静布局
- 并查集
- 奢侈贝叶斯
- 递归算法
- 符号表
- 布隆过滤器
2、计算机网络
(1)协定
- OSI 七层协定
- TCP/IP 协定
- HTTP 协定
(2)网络模型
- 阻塞式 IO
- 非阻塞式 IO
- 复用 IO
- 信号驱动 IO
- 异步 IO
- Epoll 模型
- javaNIO
- javaAIO
- kqueue
(3)序列化
- java 序列化
- protoBuf
- protoStuff
- avro
- Hessian
3、操作系统
(1)基本知识
- 操作系统的四个特色
- 操作系统的性能
(2)过程与线程
- 过程的概念与分类
- 线程的概念与分类
- 过程与线程的区别
- 进行的状态转换
- CPU 调度算法
- 管程
- 协程
- 过程间的通信形式
-
过程间同步问题
- 生产者消费者问题
- 哲学家就餐问题
- 读者 - 写者问题
- 锁死的四个必要条件
- 死锁解决
(3)内存治理
- 段式治理
- 页式治理
- 段页式治理
- 页面调度算法
(4)其余
- 虚拟内存和逻辑内存
- 动态链接和动静链接
- 缓存
- 僵尸过程与孤儿过程
二、java 根底
1、面向对象根底
- 继承
- 封装
- 多态
- 接口
- 抽象类
2、java 汇合
- 总体框架
- Collection
- ArrayList
- LinkedList
- Vector
- Stack
- 疾速失败和疾速平安
- HashMap
- TreeMap
- LinkedHashMap
- HashSet
- TreeSet
- Hashtable
- WeakHashMap
3、关键字和类
- transient
- instanceof
- static
- this
- super
- void
- final
-
String
- String 为什么不可变
- String、StringBuilder、StringBuffer 区别
- String 到底新建了几个对象
4、java 高级特点
- 注解
- 反射
- 泛型
- 异样
- 枚举
- IO 机制
- 编码转换
- java8 新个性
- java11 新个性
5、并发库
(1)并发根底
- Thread 生命周期
- 线程平安问题
- 线程通信模式
- sleep 和 wait 的区别
- ThreadLocal
(2)原子个性
- AtomicInteger
- AtomicBoolean
- AtomicStampedReference
- Unsafe
- CAS
(3)并发工具
- CountDownLatch
- CylicBarrier
- Semaphore
- Exchanger
- Phaser
- ForkJoin
(4)锁机制
- synchronized
- volatile
- Reentrantlock
- ReenReadWriteLock
- StampedLock
- 偏心锁和非偏心锁
- 乐观锁和乐观锁
- ABA 问题
- 互斥锁和共享锁
- 可重入锁和不可重入锁
- AQS 机制
- RingBuffer
- 锁降级
- 锁打消
- 锁粗化
(5)并发容器
- ConcurrentHashMap
- ConcurrentSkipListMap
- ConcurrentSkipSet
- ConcurrentLinkedQueue
- CopyOnWriteArrayList
- 阻塞队列
- 优先级队列
(6)线程池
- 线程池的几种状态切换
- 线程池的参数
- 线程池的启动流程
- 线程池的分类
- 线程池的大小设置
6、JVM
- java 内存构造(jdk1.7 和 1.8)
- 垃圾回收机制
- 类加载机制
- 内存分类和回收
- 四种援用(强、软、弱、虚)
- 内存溢出
- JVM 调优工具
- 垃圾回收器
- ZGC 的意识
- JNI
- 内存逃逸
三、必备根底
1、设计模式
- 创立型模式
- 结构性模式
- 行为性模式
- 设计模式的六种准则
- MVC 模型
- MVVC 模型
- UML
- 康威定理
2、Linux
- Linux 目录构造
- 常见命令
- 文件系统治理
- 用户系统管理
- 过程治理
- 网络管理
- 备份与复原
- 文本文件解决命令
- shell 编程
3、代码工具
- Git
- Maven
- gradle
- 日志框架
- Junit
四、数据库
1、mysql
(1)基本知识
- 三大范式
- 数据库、数据表、字段的增删改查基本操作
- 分区表
- 视图
- 外键束缚
- 游标
- 变量
- 存储过程
- 函数
- 字符集
(2)存储引擎
- InnoDB
- MyISAM
- 转换表的引擎
(3)事务
- 隔离级别
- 多版本并发工具
- 分布式事务
- ACID 个性
(4)索引
- 汇集索引
- 非汇集索引
- 复合索引
- 底层实现原理
(5)锁
(6)测试
(7)优化计划
- 数据类型优化
- 索引优化
- 查问性能优化
- mysql 配置优化
- 硬件优化
(8)高可用计划
(9)复制迁徙
2、Redis
- 长久化机制
- 缓存三种问题(穿透、击穿、雪崩)
- 内存淘汰策略
- 哨兵机制
- 集群计划
- 复制原理
3、MongoDB
4、Hbase
五、罕用根本框架
1、servlet
2、Spring 系列家族
3、Mybatis
4、JPA
5、Netty
6、websocket
六、运维统计相干
1、平台监控
- zabbix、Nagios、Ganglia 等
- Linux 命令监控:top、sar、tsar、nload 等
- JVM 监控工具
2、APM
3、继续集成
- 继续集成工具 Jenkins
- TeamCity
- Travis CI
- GitLab CI
- 环境拆散
4、容器相干
- Docker
- K8S
5、虚拟化
- KVM
- Xen
- OpenVZ
6、自动化运维
- Ansible
- puppet
- chef
7、测试
- 单元测试
- 压力测试
- 灰度测试
- A/ B 测试
- 蓝绿测试
- TDD 测试实践
- 全链路测试
七、中间件
1、web
- Nginx
- OpenRestry
- Tengine
- ApacheHttpd
2、服务器
- Tomcat
- Jetty
- WebLogic
- JBoss
3、缓存
- 本地缓存
- 客户端缓存
- web 缓存
- Memcached
- Redis
- Tair
- cellar
4、音讯队列
- Kafka
- ActiveMQ
- RocketMQ
- RabbitMQ
- Redis 音讯队列
- ZeroMQ
5、RPC
- Dubbo
- Thrift
- gRPC
- java 的 RMI
6、定时工作
- Quartz
- cron 定时调度
- java 定时工作
- Elastic-job
- opencron
- LTS
7、数据库中间件
- Mycat
- Sharding Jdbc
8、搜索引擎
- Lucene
- Elasticsearch
- Solr
- sphinx
八、微服务
1、微服务框架
- Springcloud
- SpringCloud Alibaba
- Dropwizard
- Akka
2、注册核心
- Eureka
- Zookeeper
- Consul
3、服务调用
- Feigh
- restTemplete
4、负载平衡
- Ribbon
5、网关
- Gateway
- kong
- zuul
6、配置核心
- Zookeeper
- Apollo
- Springcloud Config
7、链路跟踪
- SpringCloud Bus
- SpringCloud Sleuth
- Zipkin
- Dapper
- log-based
- HTrace
九、分布式
1、分布式实践
- CAP 实践
- BASE 实践
- 幂等性
-
分布式锁
- redis 实现
- 数据库实现
- Zookeeper 实现
2、一致性算法
- Paxos
- ZAB
- Raft
- Gossip
- 两阶段提交协定
- 节点选举策略
- 一致性 hash 算法
3、分布式文件系统
- HDFS
- fastDFS
4、分布式 ID
- Snowflake 算法
- Flicker 算法
- UUID
- MongoDB 实现
5、分布式事务
- 多阶段提交
- TCC 弥补事务
- 本地音讯表
- MQ 事务音讯
- 最大致力告诉
6、稳定性高可用计划
- 软硬件负载平衡
- 限流
- 容灾
- 平滑启动
十、平安
1、web 平安
- XSS
- CRSF
- SQL 注入
- DDOS
- DNS 攻打
- 脚本注入
- 序列化攻打
- 中间人攻打
2、加密解密算法
- 对称加密
- 非对称加密
- hash 算法
- 数字签名
- Base64
3、框架
- Shiro
- SpringSecurity
4、受权认证
- RBAC
- OAuth2.0
- OIDC
- SAML
- TLS 全链路加密
- JWT 用户认证
- Check 前置查看
- Quota 配额治理
- Telemetry 遥测报告
- 双因素认证(2FA)
- 单点登录 SSO
十一、项目管理
1、开发设计
- DDD 畛域驱动模型
- Actor 模式
- 响应式编程
- DODAF2.0
- Serverless
- Service Mesh
2、项目管理
- 代码标准
- 麻利开发
- 极限编程
- 结对编程
- RUP
- SCRUM
- PDCA 循环品质治理
- FMEA 管理模式
3、架构治理
- DevOps
- OpenGroup
- ABSD 架构方法论
- 架构设计准则
- 异地多活
- Knative 弹性伸缩
十二、大数据云计算
1、流式计算
- storm
- Flink
- KafkaStream
2、Hadoop
- HDFS
- MapReduce
- Yarn
- Spark
十三、开发工具
- IDEA
- VSCode
- VIM
- Gitlab
- Navicat
- XShell
- postman
- Filezilla
- Fiddler
十四、学习资源
1、视频网站
- B 站
- 慕课网
- 中国大学 MOOC 网
2、博客社区
- CSDN
- 开源中国
- 简书
- 思否
- 掘金
- 博客园
- 阿里云社区
- 开发者头条
- Medium
3、技术手册
- W3Cschool
- Runoob.com
- 慕课网教程手册
4、行业资讯
- 知乎
- stackoverflow
5、代码托管
- github
- gitee
- coding
6、电子书网站
- gitbook
- aibooks
- 书栈网
- 搬书匠
- 鸠摩搜寻
- IT-ebooks 国外收费
7、程序员交换网站
- V2EX
- 知乎
8、云服务器
- 阿里云
- 腾讯云
- 百度云
- 华为云
- 七牛云
- 西部数据
- 金山云
9、面试刷题
- LinkCode
- LeetCode
- 牛客网
10、找工作
- 100offer
- 拉勾网
11、数据资源下载
- 国家数据
- MSDN
- PUDN
- OPSX 阿里巴巴开源镜像
- TUNA 清华开源软件
- 163 网易开源镜像
12、编程外包
- 大神部落
- 程序员客栈
- 码市
- 开源众包
本内容为第一版,后序将持续更新。