请访问: https://doctording.github.io/sword_at_offer/
欢迎star
,fork
,pr
刷题地址: http://www.nowcoder.com/ta/coding-interviews?page=1
需要找到最优解法:参考学习牛客网左程云视频、牛客网算法讨论、《剑指offer》图书,LeetCode等。
直接编辑器敲出代码,或在纸上直接写出代码(注意时间/空间复杂度);剑指offer整体难度都不高,不过如果手撕代码的话,还是很锻炼的。
Java 文档中心: https://docs.oracle.com/en/
-
操作系统
- 内存管理;页面置换算法:LRU, LFU
- 内核,用户态
- 虚拟内存; MMAP
- 缓冲区
- 进程,线程;进程间通信;同步机制
- 局部性原理
- IO复用
-
基础
- ArrayList, List, Map, Set等数据结构
- String,StringBuffer,StringBuilder
- 反射
- 对象的几种引用类型
-
线程
- 线程基础
- 原理
- 线程池
-
并发基础
- 并发的三大性质(原子性,可见性,顺序性)
- volatile / synchronized / CAS / Lock
- AQS
- 原子类
- java.util.concurrent(JUC):CountDownLatch / Semaphore / CyclicBarrier / Exchanger
-
JVM
- 类加载机制,双亲委派模型
- JMM(内存模型):堆,元空间;虚拟机栈,本地方法栈,程序计数器
- GC,垃圾收集算法
- 内存泄漏,GC调优
- jstack, jmap, jconsole等命令
-
设计模式
- 单例
- 工厂模式
- 迭代器模式
- 代理模式
-
IO
- BIO
- NIO
- AIO
-
网络
- Socket,TCP,HTTP
- HTTPS
- 序列化
- RPC
-
数据库
- 数据库引擎
- 事物,隔离机制
- 索引
- 主从,分库,分表
- 数据库锁
- 慢查询 & SQL优化
-
框架
- Mybatis
- Spring,Spring MVC
- SpringBoot
-
服务器
- Tomcat
- Netty
-
消息中间件
- Kafka
-
高并发 & 分布式
- 缓存:Redis, 持久化
- 负载均衡,一致性Hash原理等
- 数据库读写分离
- zookeeper
- 限流:缓存击穿,雪崩等
-
算法和相关题目手写
- 手写模式
- 手写
String
- 手写
HashMap
- 手写
semaphore
- 字典树
- 正则
- 各种排序:归并,快排,堆排