2.中间件框架:
-
Spring :常问题目要了解。比如启动过程,Bean 的初始化流程,Bean 的生命周期,如何解决循环依赖问题,IoC,AOP 等。
-
缓存:不论 Redis、 MemCache 或其他的,至少要有一个比较熟练的,能了解底层数据结构及实现原理,常规的使用方法。
-
数据库:MySQL 或者 Oracle 要熟悉一种,数据库一般要知道分库分表的实现,数据库备份,数据库的事务,数据库和缓存的数据一致性,数据库的索引,锁机制等等。常用的 RPC 框架可以了解下,优缺点,RPC 的原理要懂,如果有时间自己可以基于 Netty 写一个实战一下。
-
MQ :一般会问下消息的幂等性,事务性实现,如何保证不丢消息等,要熟练至少一种消息队列,了解原理。
-
Zookeeper:有时问有时不问,这个有时间也可以看下,毕竟这是分布式协调器,很多时候在分布式系统中都会使用zk来保证强一致性的问题。