Java虚拟机
垃圾回收机制
堆和栈的区别
JVM的内存分区?常量和变量分别存放在哪?
堆是如何划分的?
常见JVM内存溢出错误有哪些?怎么设置相关JVM参数。
Java核心知识点
Collection和Collections的区别
Hashmap底层怎么实现?
.coucurrenthashmap原理
ArrayList线程安全吗?有哪些线程安全的数据结构。
Java中线程安全的类有哪些?
进程和线程的区别
进程之间的通信、线程之间的通信
一个线程的生命周期
线程池怎么实现?
乐观锁和悲观锁的Java中的体现
equals和==的区别
sychronized和lock的区别
Socket通信是怎么建立的?
序列化和反序列化
动态代理和静态代理的区别
消息队列
自动拆箱
双亲委派模型
SSM框架
依赖注入的方式有哪些?
IOC和AOP的好处
Spring中的设计模式
Mybatis的优点
SpringMVC的流程
数据库
如何理解索引,底层是怎么实现的
Redies和MySQL的区别
为什么要用Redies做数据缓存
InnoDB和Myisam引擎的区别
主从复制
乐观锁和悲观锁
数据结构
归并排序
快排
二叉树非递归中序、前序、后续遍历
平衡树、B树、B+树、红黑树原理和特点
双向链表的好处
计算机网络
七层模型和每层协议及端口
UDP和TCP的区别
三次握手和四次挥手
分布式
如何理解分布式和集群
如何理解Zookeepr和kafka
- kafka
- 优点:超高吞吐量,超高可用性和可靠性,分布式易扩展
- 缺点:topic支持少,MQ功能简单,消息可能会重复消费影响数据精确度
- 使用场景:超高吞吐量场景而数据精确度没那么高,天然适合大数据实时计算和日志采集场景