java backend tech stack(持续更新)

692 阅读4分钟

一个月面了几家大厂 总结了5W字的后端面经

zookeeper

  1. CAP定理
  2. ZAB协议 Zookeeper Zab协议 Original
  3. leader选举算法和流程 Zookeeper Leader Election 选举算法 Original
  4. Zookeeper分布式锁Zookeeper分布式锁源码分析 Original


什么是ZooKeeper?
神一样的CAP理论被应用在何方

Redis

Dubbo

Mysql

  1. 事务的基本要素
  2. 事务的隔离级别 *面试官:你说对MySQL事务很熟?那我问你10个问题
  3. 如何解决事务的并发问题(脏读,幻读)
  4. MVCC多版本并发控制 *Original
  5. binlog,redolog,undolog都是什么,起什么作用 Original
  6. innoDB的行锁,表锁 Original
  7. myisam和innodb的区别,什么时候选择myisam
  8. 为什么选择B+树作为索引结构 *
  9. 索引B+树的叶子结点都可以存那些东西 *juejin.im/post/684490…
  10. 查询在什么时候不走(预期中的)索引 *
  11. sql如何优化
  12. explain是如何解析sql的
  13. order by原理 Original
  14. 「数据库调优」屡试不爽的面试连环combo
  15. InnoDB中的页合并与分裂
  16. 史上最全的数据库面试题,面试必刷!
  17. 【从入门到入土】令人脱发的数据库底层设计
  18. 索引很难么?带你从头到尾捋一遍MySQL索引结构,不信你学不会!

JVM

  1. 运行时数据区域(内存模型) *
    mp.weixin.qq.com/s/qPhzhsWJu…
    juejin.im/post/684490…
  2. 垃圾回收机制 *
  3. 垃圾回收算法 *
  4. minor gc 和 full gc的触发条件
  5. gc中的stop the world
  6. 各类垃圾回收器的特点和区别
  7. 双亲委派模型
  8. jdbc和双亲委派模型的关系

java基础

  1. HashMap和ConcurrentHashMap的区别 *
  2. ConcurrentHashMap的数据结构 *《我们一起进大厂》系列-ConcurrentHashMap & Hashtable
  3. 高并发的HashMap的环是如何产生的
  4. volatile作用 * 阿里面试官没想到,一个Volatile我能跟他扯半个小时
  5. Atomic类如何保证原子性(CAS操作) *
  6. synchronized和lock的区别 *
  7. 为什么要使用线程池 * JUC-线程池原理 Original
  8. 核心线程池ThreadPoolExecutor的参数 *
  9. ThreadPoolExecutor的工作流程 *JUC-线程池原理 Original
  10. 如何控制线程池线程的优先级
  11. 线程之间如何通信
  12. boolean占几个字节
  13. jdk1.8/1.7新增特性
  14. Exception和Error
  15. JUC队列 JUC-队列总结 Original
  16. 死磕synchronized底层实现
  17. ConcurrentHashMap & HashTable
  18. ThreadLocal内存泄漏original
  19. Java面试必问:ThreadLocal终极篇
  20. 扯淡 Java 集合
  21. Java8 CompletableFuture 用法全解
  22. java技能树 csdn

Spring

  1. spring的IOC/AOP的实现 *
  2. 动态代理的实现方式 *
  3. Spring如何解决循环依赖(三级缓存)* spring生命周期梳理 Original
  4. spring的后置处理器
  5. spring的@transactional如何实现的 *记spring事务传播机制引发的问题
  6. Spring的事务传播级别记spring事务传播机制引发的问题Original
  7. BeanFactory和ApplicationContext的联系和区别
  8. spring statemachine 有限状态机

网络

  1. TCP的滑动窗口机制,谈谈其设计演化过程(如何从无到有?从不可靠到可靠?)
  2. 就是要你懂TCP
  3. 从头盘一盘多路复用(1)epollOriginal
  4. 从头盘一盘多路复用(2)JavaNIO发展Original
  5. 从头盘一盘多路复用(3)NettyOriginal
  6. Netty中粘包/拆包处理
  7. 零拷贝

性能优化

  1. CPU飙高内存飙高一般处理步骤
  2. 记录一次 CPU飙高排查过程Original
  3. MyBatis批量插入几千条数据cpu飙升
  4. JVM 发生 OOM 的 8 种原因、及解决办法

消息队列

RocketMQ原理、源码分析及实践 Original RocketMQ.4-基于事务消息解决分布式事务 RocketMq之事务消息实现原理 《我们一起进大厂》系列-分布式事务、重复消费、顺序消费

分布式事务

理解分布式事务

其他

  1. 高并发系统的限流实现
  1. 高并发秒杀系统的设计
  1. 负载均衡如何设计
  2. gauva cache 过期组合使用

TiDB