本文整理于github上各大star大神仓库。并根据自己的理解重新进行了整理
一、计算机基础
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、编程外包
大神部落
程序员客栈
码市
开源众包
本内容为第一版,后序将继续更新。
本文分享自微信公众号 - 愚公要移山(fdd_sxu_nwpu)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。