文章目录
- 一、数据结构
- 1. 排序算法
- 快排
- 归并排序
- 堆
- 2. 结构
- 堆和栈区别
- 数组与链表
- 数据库相关的
- B树、B+树
- 跳表
- LSM树
- 红黑树
- 前缀树
- 二、Java基础
- 0 基础问题
- 1. 抽象类和接口的区别
- 2. final关键字、内部类、static
- 3. 多态
- 4. 成员变量和局部变量
- 5. String类、StringBuilder类
- 6. Java集合
- 6.1 HashSet
- 7. 异常类
- 8、Java8的新特性
- 哈希表的构造
- 1. HashMap(数组+链表+红黑树)
- 1.1.1hashCode()和equals方法以及“==”
- 1.2 红黑树
- 1.3 线程安全问题
- 1.3.1 hashMap与hashTable的区别
- 1.3.2 ConcurrentHashMap与hashTable
- 1.3.3 ConcurrentHashMap
- 1.3.4 LinkedHashMap
- 1.3.5 TreeMap
- 2. 并发
- 2.1 并发、并行、多线程、同步、异步概念
- 2.3 多线程、线程池
- 2.5 Volatile关键字
- 2.4 锁(线程同步)
- 2.2.1 Synchornized
- 2.2.2 Synchornized和Lock区别
- 2.2.4 ReentrantLock(AQS、CAS) 公平锁、非公平锁
- AQS实现共享锁和独占锁
- 2.2.5 sychornized 的优化/升级机制
- 2.2.6 读写锁
- 2.5 并发容器
- 2.3.1 阻塞队列blockingQueue
- 2.3.2 非阻塞队列ConcurrentLinkedQueue
- 3.JVM
- 双亲委派机制
- 3.1 JVM结构
- 3.2 GC
- 垃圾回收算法
- 垃圾回收器
- 分代回收
- GC调优
- 内存泄露
- 4. 反射
- 三、操作系统
- 1. 概述
- 操作系统的特征
- 操作系统的目标和功能
- 内核态和用户态
- 2. 进程管理
- 进程与线程
- 处理机调度
- 进程同步,管程
- 死锁
- 3. 内存管理(分页分段)
- 内存碎片如何解决?
- 分页、分段、段页式
- 虚拟内存,页面置换算法
- 逻辑地址、物理地址
- 4. 文件管理(磁盘)
- 磁盘读写
- 局部性原理
- 四、计网
- 1. OSI七层模型
- 2. TCP/IP模型
- 3. 常见问题
- 3.1 TCP
- 3.1.1 TCP、UDP区别
- 3.1.2 TCP确保可靠传输的方式
- TCP重传机制
- 3.1.5 TCP滑动窗口(流量控制)
- 3.1.6 TCP拥塞控制
- 3.1.3 TCP 数据报文的结构
- 3.1.4 TCP粘包、拆包问题
- 3.1.7 三次握手,四次挥手(SYN攻击)
- 4. 浏览器输入url,会发生什么
- 5. HTTP
- 端到端通信和点到点通信
- 五、 Linux常用命令
- 看端口是否占用
- 六、框架
- IOC、AOP
- Spring中的bean的作用域有哪些?
- Spring中的bean生命周期?
- RequestMapping 和 GetMapping 的不同之处在哪里?
- SpringMVC原理
- Spring框架中的设计模式
- @Component和@Bean的区别是什么
- 将⼀个类声明为Spring的 bean 的注解有哪些?
- MyBatis
- 1、#{}和${}的区别是什么?
- 2、通常一个XML映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗?
- SpringBoot
- SpringBoot核心注解
- Spring Boot 自动配置原理是什么?
- 你如何理解 Spring Boot 配置加载顺序?