• osi 七层网络模型,五层网络模型,每次层分别有哪些协议
  • 死锁产生的条件, 以及如何避免死锁,银行家算法,产生死锁后如何解决
  • 如何判断链表有环
  • 虚拟机类加载机制,双亲委派模型,以及为什么要实现双亲委派模型
  • 虚拟机调优参数
  • 拆箱装箱的原理
  • JVM 垃圾回收算法
  • Python、Java、Golang、C#三种语言垃圾回收机制有何异同?
  • 常见消息队列有哪些?它们分别具有哪些特点?
  • CMS G1
  • hashset 和 hashmap 的区别,haspmap 的底层实现 put 操作,扩容机制,currenthashmap 如何解决线程安全,1.7 版本以及 1.8 版本的不同
  • md5 加密的原理
  • 有多少种方法可以让线程阻塞,能说多少说多少
  • synchronized 和 reetrantlock 锁
  • AQS 同步器框架,countdowmlatch,cyclebarrier,semaphore,读写锁
  • B-Tree 索引,myisam 和 innodb 中索引的区别
  • BIO 和 NIO 的应用场景
  • 讲讲 threadlocal
  • 数据库隔离级别,每层级别分别用什么方法实现,三级封锁协议,共享锁排它锁,mvcc 多版本并发控制协议,间隙锁
  • 数据库索引?B+树?为什么要建索引?什么样的字段需要建索引,建索引的时候一般考虑什么?索引会不会使插入、删除作效率变低,怎么解决?
  • 数据库表怎么设计的?数据库范式?设计的过程中需要注意什么?
  • 共享锁与非共享锁、一个事务锁住了一条数据,另一个事务能查吗?
  • Spring bean 的生命周期?默认创建的模式是什么?不想单例怎么办?
  • 高并发时怎么限流
  • 线程池的拒接任务策略
  • HashMap 和 Hashtable 的区别
  • 实现一个保证迭代顺序的 HashMap
  • 说一说排序算法,稳定性,复杂度
  • 说一说 GC
  • JVM 如何加载一个类的过程,双亲委派模型中有哪些方法?
  • TCP 如何保证可靠传输?三次握手过程?
  • springboot 的启动流程
  • 集群、负载均衡、分布式、数据一致性的区别与关系
  • 数据库如果让你来垂直和水平拆分,谁先拆分,拆分的原则有哪些(单表数据量多大拆)
  • 最后谈谈 Redis、Kafka、 Dubbo,各自的设计原理和应用场景
  1. mongodb 分块是如何做的

  2. TCP 中的序列号的作用

  3. TCP client 端宕机之后会发生什么,server 宕机之后会发生什么。

  4. 四岔堆的插入和删除

  5. 秒杀系统如何设计,后端怎么搞

  6. 高并发系统的限流如何实现

  7. 高并发秒杀系统的设计

  8. 负载均衡如何设计

九、设计模式

88.说一下你熟悉的设计模式?

89.简单工厂和抽象工厂有什么区别?

存储系统

  • mysql
  • redis
  • mongodb
  • hive
  • kafka