内容:
1、Java基础(JavaSE)
2、数据结构与算法与设计模式
3、计算机理论知识
4、数据库
5、Java web(JavaEE)
6、消息队列
7、Linux及服务器相关
8、分布式相关
9、拓展技能
参考:https://blog.csdn.net/ferrari_cal/article/details/79093826
以下整理结合个人实际情况
一、Java基础(JavaSE)
1、Java基础常用
熟悉Java中各种变量类型
熟悉Java String的使用,熟悉String的各种函数
熟悉Java中各种关键字
学会使用Java内置的List,Map,Stack,Queue,Set:
- 上述数据结构的遍历和常用方法
- 上述数据结构的使用场景
Java内置Array/List排序“
- java.util.Arrays.sort()
- java.util.Collections.sort()
Java实现对List去重并且保留数据原始的出现顺序
Java正则表达式:
实现通过正则表达式提取一段文本中的电子邮件,并将@替换为#输出 =》 java.lang.util.regex.*
Java反射与javassist
- 反射与工厂模式
- java.lang.reflect.*
Java序列化:
- java.io. Serializable
- 什么是序列化,为什么序列化
- 序列化与单例模式
2、Java IO相关
- java.io.*
- java.nio.*
- nio和reactor设计模式
- 文件编码,字符集
3、JVM与Java底层知识
- Java内存模型,Java内存管理,Java堆和栈,垃圾回收
- 了解JVM各种参数及调优
- 类加载机制,也就是双亲委派模型
- Java内存分配模型
- 线程共享的:堆区、永久区 线程独享的:虚拟机栈、本地方法栈、程序计数器
- 内存分配机制:年轻代(Eden区、两个Survivor区)、年老代、永久代以及他们的分配过程
- 强引用、软引用、弱引用、虚引用与GC
- Java 8的内存分代改进
- 垃圾回收算法
4、Java并发编程(多线程)
5、Java网络编程(socket)
6、Java泛型编程
7、阅读源码
java.lang.String
java.lang.Integer
java.lang.Long
java.lang.Enum
java.math.BigDecimal
java.lang.ThreadLocal
java.lang.ClassLoader
java.net.URLClassLoader
java.util.ArrayList
java.util.LinkedList
java.util.HashMap
java.util.LinkedHashMap
java.util.TreeMap
java.util.HashSet
java.util.LinkedHashSet
java.util.TreeSet
二、数据结构与算法与设计模式
1、常用数据结构
(1)链表
(2)栈与队列
(3)数组和矩阵
(4)字符串
(5)二叉树
(6)并查集
(7)前缀树
(8)图
2、常用算法
(1)排序算法和查找算法
(2)位运算
(3)递归
(4)动态规划
(5)贪心法
(6)回溯法
(7)分支限界法
3、海量数据问题
(1)布隆过滤器
(2)一致性哈希
4、设计模式
(1)最重要的模式(要求能手写出来)
- 单例模式
- 适配器模式
- 工厂模式
- 观察者模式
- 装饰器模式
- ThreadLocal设计模式
(2)其他模式(了解即可)
- 创建型模式:抽象工厂模式、单例模式、建造者模式、原型模式。
- 结构型模式:代理模式、桥接模式、组合模式、享元模式。
- 行为型模式:策略模式、模板方法模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
- 其实还有两类:并发型模式和线程池模式
4、其他
三、计算机理论知识
1、计算机网络
2、操作系统
3、计算机组成原理
4、编译原理
5、网络安全知识
6、其他理论知识
四、数据库
1、数据库基础理论
2、sql
3、MySQL数据库
4、NoSql数据库mongoDB
5、KV键值系统redis - Memcached
五、Java web(JavaEE)
1、web基础知识
(1)计算机网络体系结构
(2)HTTP协议
(3)web服务器
(4)JavaEE
(5)EJB和JavaBeam
(6)Ioc和AOP
(7)SOAP和REST
(8)ssh和ssm
(9)JDBC API
2、servlet与jsp
3、struts2框架
4、ORM模型 - Hibernate和mybatis
5、spring框架
6、springMVC框架
六、消息队列
1、kafka
2、RocketMQ
3、Notify
4、Hermes
七、Linux及服务器相关
1、Linux常用命令
2、web服务器tomcat、ngnix
3、docker使用
八、分布式相关
九、拓展技能
1、云计算、虚拟化
2、监控、负载均衡
3、使用git
4、使用maven
5、了解编码
6、大数据相关