稳定的排序算法(冒泡排序、插入排序、鸡尾酒排序、桶排序、计数排序、归并排序、原地归并排序、二叉排序树排序、鸽巢排序、基数排序、侏儒排序、图书馆排序、块排序)
不稳定的排序算法(选择排序、希尔排序、梳排序、堆排序、平滑排序、快速排序、内省排序、耐心排序、Clover 排序)
时间复杂度
空间复杂度
贪心算法
KMP 算法
5)操作系统
Linux 常用命令(find、top、tar、move、grep、tail、netstat、curl、wget、ping、ssh)
服务器性能指标(qps、CPU 利用率)
进程同步
分段和分页
虚拟内存和主存
6)网络安全
CSRF
XSS
SQL 注入
加密和解密(对称加密、非对称加密)
MD5、SHA1、DES、RSA
DDOS 攻击
HTTP 和 HTTPS
SSL
TLS
TCP 和 UDP
Cookie、Session
CDN
DNS
7)数据库
MySql
索引
存储过程
分库分表
binlog
读写分离
数据库缓存(Redis、MongoDB)
数据库中间件(MyCat)
数据库连接池(Durid)
8)大数据
搜索(Elasticsearch 、Solr)
流式计算(Storm、Spark、Flink)
Hadoop
9)服务器
Tomcat
jetty
Nginx
10)框架
Spring
MyBatis
Spring MVC
Spring Boot
Spring Security
Spring Cloud
Netty
Dubbo
11)消息队列
RabbitMQ
Kafka
12)容器
Docker
K8s
需要 Java 书单的话,我在 GitHub 上发现了一个宝藏项目,光看了一下目录,就有点吸引我。需要的小伙伴可以按需自取,地址如下所示:
https://github.com/itwanger/JavaBooks
05、第五个阶段,活着最重要技术是没有终点的,也是学不完的,最重要的是活着、不秃。
零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。
最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。
开源的项目我推荐 GitHub 上的 mall 和 vhr,前者是电商系统,后者是微人事,都用的最前言的技术,并且文档很全面,不怕晕头转向。
自学最怕的就是缺乏自驱力,一定要自律,杜绝“三天打鱼两天晒网”,到最后白忙活一场。
高度自律的同时,要保持耐心,不抛弃不放弃,切勿自怨自艾,每天给自己一点点鼓励,学习的劲头就会很足,不容易犯困。