- 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,各自的设计原理和应用场景
-
mongodb 分块是如何做的
-
TCP 中的序列号的作用
-
TCP client 端宕机之后会发生什么,server 宕机之后会发生什么。
-
四岔堆的插入和删除
-
秒杀系统如何设计,后端怎么搞
-
高并发系统的限流如何实现
-
高并发秒杀系统的设计
-
负载均衡如何设计
九、设计模式
88.说一下你熟悉的设计模式?
89.简单工厂和抽象工厂有什么区别?
存储系统
- mysql
- redis
- mongodb
- hive
- kafka