最近在准备校招,想系统性整理一下Java服务端的面试。立此贴,准备开始这项计划。知识整理计划包括初步定为一下几个部分:
一.计算机网络(Computer Networking)
-
HTTP
1.1 HTTP协议基础知识
- HTTP/1.1和HTTP/1.0中的方法
- HTTP状态码
- HTTP/1.1通用首部字段中的Cache-Control之no-cache 与no-store的区别
- HTTPS
- TCP/IP
- Thrift
二.操作系统(Operating System)
三.数据库(Database)
-
MySQL
1.1 MySQL基础杂记
- MySQL常用命令
- 正则表达式
- MySQL中的
NULL
-
Redis
2.1Redis中的数据结构
四.Linux
五.Java基础(Basic)
- 从JDK源码角度分析
System.out.println()- Java中的四种访问权限
- Java中的
args- Java中的比较==、!=和equals()
- Java中的字符串的灵活使用
- Java中的
this- Java中的构造器在继承时的初始化顺序
- Java中的
String.valueOf()与Object.toString()- Java中的内部类与外部类的关系
-
集合
2.1 集合基础 2.2 ArrayList源码分析
-
泛型
-
反射
六.Java并发(Concurrency)
- 3种实现多线程编程的方式
- start()和run()方法的区别
interrupt()、interrupted()和isInterrupted()- 守护进程
- 可重入锁
volatile非原子的特性volatile与synchronized的比较- 等待/通知机制
- 线程的状态
join()- 公平锁与非公平锁
ReentrantReadWriteLock(读写锁)
七.Java虚拟机(JVM)
1. Java内存模型
八.设计模式(Design Patterns)
- 立即加载/“饿汉模式”
- 延迟加载/“懒汉模式”
- 延迟加载/“懒汉模式”在多线程环境下的解决方案
- 使用静态内部类实现单例模式
- 序列化与反序列化的单例模式实现
- 使用static代码块实现单例模式
- 使用enum枚举数据类型实现单例模式
九.框架(Framework)
- Spring
- MyBatis
- Netty
十.分布式
十一.其他
- Git
参考资料(Reference):