Skip to content

doctording/sword_at_offer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

请访问: https://doctording.github.io/sword_at_offer/

欢迎starforkpr


剑指offer刷题说明

刷题地址: http://www.nowcoder.com/ta/coding-interviews?page=1

需要找到最优解法:参考学习牛客网左程云视频、牛客网算法讨论、《剑指offer》图书,LeetCode等。

直接编辑器敲出代码,或在纸上直接写出代码(注意时间/空间复杂度);剑指offer整体难度都不高,不过如果手撕代码的话,还是很锻炼的。

Java 技能树

Java 文档中心: https://docs.oracle.com/en/

  • 操作系统

    1. 内存管理;页面置换算法:LRU, LFU
    2. 内核,用户态
    3. 虚拟内存; MMAP
    4. 缓冲区
    5. 进程,线程;进程间通信;同步机制
    6. 局部性原理
    7. IO复用
  • 基础

    1. ArrayList, List, Map, Set等数据结构
    2. String,StringBuffer,StringBuilder
    3. 反射
    4. 对象的几种引用类型
  • 线程

    1. 线程基础
    2. 原理
    3. 线程池
  • 并发基础

    1. 并发的三大性质(原子性,可见性,顺序性)
    2. volatile / synchronized / CAS / Lock
    3. AQS
    4. 原子类
    5. java.util.concurrent(JUC):CountDownLatch / Semaphore / CyclicBarrier / Exchanger
  • JVM

    1. 类加载机制,双亲委派模型
    2. JMM(内存模型):堆,元空间;虚拟机栈,本地方法栈,程序计数器
    3. GC,垃圾收集算法
    4. 内存泄漏,GC调优
    5. jstack, jmap, jconsole等命令
  • 设计模式

    1. 单例
    2. 工厂模式
    3. 迭代器模式
    4. 代理模式
  • IO

    1. BIO
    2. NIO
    3. AIO
  • 网络

    1. Socket,TCP,HTTP
    2. HTTPS
    3. 序列化
    4. RPC
  • 数据库

    1. 数据库引擎
    2. 事物,隔离机制
    3. 索引
    4. 主从,分库,分表
    5. 数据库锁
    6. 慢查询 & SQL优化
  • 框架

    1. Mybatis
    2. Spring,Spring MVC
    3. SpringBoot
  • 服务器

    1. Tomcat
    2. Netty
  • 消息中间件

    1. Kafka
  • 高并发 & 分布式

    1. 缓存:Redis, 持久化
    2. 负载均衡,一致性Hash原理等
    3. 数据库读写分离
    4. zookeeper
    5. 限流:缓存击穿,雪崩等
  • 算法和相关题目手写

    1. 手写模式
    2. 手写String
    3. 手写HashMap
    4. 手写semaphore
    5. 字典树
    6. 正则
    7. 各种排序:归并,快排,堆排