面试知识提纲
数据结构与算法
- 
数组、链表、二叉树(熟练) 
- 
B+树、红黑树(了解) 
- 
剑指Offer(熟练),建议刷两遍以上 
- 
冒泡排序、插入排序、堆排序、快排、归并排序(熟悉) 
- 
动态规划、分治(拔高可专向突破 
操作系统
- 
进程、线程、死锁产生与预防 
- 
虚拟内存 
- 
IO多路复用(select、pool、epool实现与区别) 
计算机网络
- 
七层网络模型TCP三次握手、四次挥手以及time-wait的原因 
- 
TCP与UDP的区别 
- 
从浏览器输入URL到页面显示所经历的过程 
- 
HTTP、HTTP1.1、HTTP2 
数据库
- 
MySQL索引实现与优化 
- 
索引的实现原理 
- 
常用的SQL书写 
- 
ACID的定义与原理 
- 
隔离级别(不可重复度、可重复读、顺序读、MVCC) 
- 
悲观锁、乐观锁 
JAVA基础
- 
Java Object类有那些常见函数 
- 
final,finally,finalize的区别重载和重写 
- 
接口和抽象类的区别 
- 
equals() 和 == 的区别 
- 
String Integer , valueOf()函数 
- 
JUC ( AQS CAS ) 重点 
- 
Collection (List Map Set HashMap HashSet ConcurrentHashMap) 
- 
IO,NIO,AIO 
- 
Java 8 新特性 (Stream 函数式编程) 
- 
Error,Exception 
- 
接口、抽象类、内部类、继承、多态 
- 
StringBuilder、StringBuffer的实现与使用区别 
- 
JAVA集合:HashTable与HashMap的区别、HashMap的实现、ConcurrentHashMap 
- 
synchronized与Lock的区别、实现原理、CAS的实现与使用 
- 
JAVA线程的实现,Runnable、Callable、Thread的区别与使用场景 
- 
JAVA线程池的实现与应用 
- 
JAVA内存模型(堆、方法区、方法栈、本地方法栈、程序计数器) 
- 
JAVA中的OOM问题,如何排查和解决OOM 
- 
JAVA类的加载过程 
- 
JVM垃圾收集器 
框架学习
- 
Spring:用到的设计模式、AOP和IOC的实现、动态代理的实现、Spring中对象的加载过程 
- 
Mybatis:动态SQL、缓存机制 
- 
Redis :常用的数据类型及其实现原理、RDB和AOP备份、主从同步 
分布式
- 
分布式协议(2PC、3PC、PAXOS、Raft、POW、POS、DPOS) 
- 
分布式事务(TCC) 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号