算法 | 操作系统 | 网络 | 数据库 | Java | 必备框架 | 微服务 | 中间件 | 系统设计 | 项目 | 工具 | 后记 |
---|---|---|---|---|---|---|---|---|---|---|---|
🤖 | 🎮 | 🎨 | 📑 | 🍵 | 🔥 | 🔮 | 👷 | 🦄 | 🏆 | 🔨 | 📞 |
💡 「关于」
- 🎓 博主渣渣一个,这是博主的学习记录笔记,不得用于商用。
- 🔮 Gitee 仓库地址
- 常用学习网站:
🤖 算法
数据结构
算法
🎮 操作系统
操作系统
基础
- 用户态和核心态的区别
进程
内存
- 内存页面置换算法
- 内存管理,虚拟内存
- 逻辑地址和物理地址
文件
IO
- select、poll、epoll的区别
- NIO - IO多路复用详解
- Java AIO
- NIO - 零拷贝
- 阻塞、非阻塞
- 同步、异步
- Reactor和Proactor
Linux
- 常用的Linux命令
- Linux磁盘管理
- Linux文件与目录管理
🎨 网络
计算机网络
- 应用层
- HTTP
- HTTPS
- 典型的HTTP攻击手段
- HTTP 1.0 1.1 2.1 的区别
- HTTP常见的状态码
- DNS协议详解
- DNS协议使用UDP吗
- 传输层
- 网络层
- 其他
- 长连接和短连接
- get与post请求的区别
- Cookie和session的区别
- 输入一个URL回车发生了什么
- URI 和 RUL 的区别
- 常用的网络攻击技术
网络编程
- Socket编程
- netty编程
📑 数据库
MySQL
- 索引
- 事务
- 事务的ACID特性
- 事务的隔离级别
- 分布式事务
- 事务的两阶段提交
- 锁
- 数据库锁有哪些?
- 数据库的乐观锁和悲观锁?
- MVVC
- 其他
- redo log、undo log、bin log
- 一条SQL查询语句是如何执行的
- 一条SQL语句的执行过程
- 分库解决了什么问题?分表解决了什么问题
- myISAM和innodb的区别
- 可以说下数据库范式吗
- MySQL的缓存
- sql优化和索引优化
- 讲讲数据库表怎么设计的
- 数据库的主从复制和保证一致性
- MySQL慢查询
- 什么是sql注入,如何防止sql注入
- Select * 的优化
Reids
- Redis底层数据结构
- 淘汰过期键的策略和内存淘汰机制
- Redis持久化
- 缓存穿透 缓存雪崩 如何避免
- Redis事务
- 布隆过滤器
- redis哨兵
- 保证数据库和缓存的一致性
- Redis如何实现分布式锁
- redis事件
- Redis发布订阅
- Redis集群和主从复制
- 一致性哈希
- Redis性能问题
- Redis当做队列
- Redis中的一些坑
- Redis常见面试题
🍵 Java
Java 基础
- 解决hash冲突的方法
- 反射
- 动态代理
- String、StringBuilder、StringBuffer区别
- Object类中有哪些方法
- Java泛型详解
- Java中的包装类
- Comparable和Comparator
- sleep和wait的区别
- 为什么重写equals时要重写hashCode
- Java多态如何实现
- 抽象类和接口的区别
集合
- HashMap底层原理
- ConcurrentHash底层原理
- ConcurrentHash浅谈
- ArrayList 和 LinkedList有什么区别
- vector
- HashTable , HashSet,TreeSet详解
并发
- Java线程创建的方式
- 线程的生命周期和状态
- JMM与原子性、可见性、有序性
- Happens-before
- volatile
- synchronized
- ReentrantLock
- AQS
- Unsafe
- ThreadPoolExecutor
- ThreadLocal
- CAS
- LockSupport
- Semaphore
- CountDownLatch
- CyclicBarrier
- 不得不说的Java“锁”事
JVM
- 类加载子系统
- 双亲委派机制
- Java运行时数据区
- 堆
- 虚拟机栈
- 内存泄露和内存溢出
- 强引用、软引用、弱引用、虚引用
- 垃圾收集器
- CMS和G1的区别
- 常见的垃圾收集算法
- 哪些对象可以作为GC Roots
- CPU100%排查
- 内存溢出排查
🔥 必备框架
Spring
- Spring 事务传播机制
- IOC和AOP原理
- Spring启动流程
- Spring bean的生命周期
- Spring 中用到的设计模式
- spring怎么解决循环依赖
- beanFactory和Factory的区别
SpringMVC
- SpringMVC的执行流程
Mybatis
- mybatis缓存
- #{} 和 ${}的区别
- Mybatis如何进行分页的
- Mybatis的动态SQL
- Mybatis半自动和全自动的区别
- mybatis事务
Spring Boot
- Spring Boot 启动流程
- @SpringBootApplication注解
- 自动装配原理
Netty
- 从BIO、NIO到Netty
Dubbo
- 原理
zookeeper
🔮 微服务
SpringCloud
- 服务注册中心:Eureka
- 服务调用:Feign、OpenFeign
- 服务降级:Hystrix
- 服务网关:Zuul、gateway
- 服务配置:Config
- 服务总线:Bus
SpringCloudAlibaba
- Nacos
- Sentienl
- Ribbon
- Seata
👷 中间件
RabbitMQ
Kafka
- 原理
🦄 系统设计
设计模式
设计原则
面向对象思想
- 面向对象的三大特征
🏆 项目
- 开源考试项目
- RPC项目
🔨 工具
📞 后记
公众号
- 文章会第一时间在公众号推送哟
联系我
- 有什么问题也可以添加我的微信,记得备注来意:格式 (学校或公司 - 姓名或昵称 - 来意)