int 范围?float 范围?
hashCode 与 equals,什么关系?
String StringBuffer 和 StringBuilder 的区别是什么?String 为什么是不可变的?
Java 序列化中如果有些字段不想进行序列化 怎么办?
构造器 Constructor 是否可被 override?
java 异常体系?RuntimeException Exception Error 的区别,举常见的例子
字符型常量和字符串常量的区别?
在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?
集合这块关注一下 1.8 的实现吧,和 1.7 相比变化了很多
ArrayList和linkedList的区别?
堆是怎么存储的,插入是在哪里?
HashMap和HashTable的区别?讲一下 hashMap 原理。hashMap 可以并发读么?并发写会有什么问题?
集合类存放于 Java.util 包中, 主要有几种接口?
Array与ArrayList有什么不一样?简单介绍下 ArrayList 怎么实现,加操作、取值操作,什么时候扩容?
说说ConcurrentHashMap?头插法还是尾插法?扩容怎么做?
集合在迭代的过程中,插入或删除数据会怎样?
3 并发
notify()和notifyAll()有什么区别?
volatile 是什么?可以保证有序性吗?
为什么wait, notify 和 notifyAll这些方法不在thread类里面?
SynchronizedMap和ConcurrentHashMap有什么区别?
什么是线程安全?Vector是一个线程安全类吗?
线程进程和线程的区别?并行和并发的区别?了解协程么?进程间如何通信:进程 A 想读取进程 B 的主存怎么办?线程间通信?线程的生命周期有哪些状态?怎么转换?wait 和 sleep 有什么区别?什么情况下会用到 sleep?怎么停止线程?怎么控制多个线程按序执行?
说说自己是怎么使用 synchronized 关键字,在项目中用到了吗?synchronized关键字最主要的三种使用方式
为什么要用 join()方法?
什么是多线程中的上下文切换?
死锁与活锁的区别,死锁与饥饿的区别?
Java 中用到的线程调度算法是什么?
什么是原子操作?在 Java Concurrency API 中有哪些原子类(atomic classes)?
什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者
模型?
AQS了解 AQS 么?讲讲底层实现原理AQS 有那些实现?讲讲 AtomicInteger 的底层实现
为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方
法?
Java 中你怎样唤醒一个阻塞的线程?
什么是线程组,为什么在 Java 中不推荐使用?
4 IO
IO 这块我不熟,没有多讲
了解 NIO 么?讲讲
NIO 与 BIO 有什么区别?
了解 Netty 原理么
JVM
1 内存与 GC
GC 是什么?为什么要有 GC?
jvm 内存区域分布?gc 发生在哪些部分?
你能保证 GC 执行吗?
怎么获取 Java 程序使用的内存?堆使用的百分比?
介绍一下垃圾回收过程。
垃圾回收算法的了解。现在用的什么回收算法?
什么时候会触发FullGC
现在使用的什么垃圾回收器?知道哪些?讲讲 G1
容器的内存和 jvm 的内存有什么关系?参数怎么配置?
2 异常与调优
线上有什么 jvm 参数调整?
oom 问题排查思路
线上问题排查,突然长时间未响应,怎么排查,oom
cpu 使用率特别高,怎么排查?通用方法?定位代码?cpu高的原因?
频繁 GC 原因?什么时候触发 FGC?
怎么获取 dump 文件?怎么分析?
3 类加载器
怎么实现自己的类加载器?
类加载过程?
初始化顺序?
Spring
不同版本的 Spring Framework 有哪些主要功能?
讲一下 ioc、aop
ioc 怎么防止循环依赖
aop 的实现原理、动态代理过程
区分 BeanFactory 和 ApplicationContext?
spring bean 容器的生命周期是什么样的?
@Autowired 注解有什么用?
使用 Spring 访问 Hibernate 的方法有哪些?
Spring 处理请求的过程?
Redis
为什么要用 redis /为什么要用缓存(高性能、高并发)
redis 常见数据结构以及使用场景分析(String、Hash、List、Set、Sorted Set)
Redis 常见异常及解决方案(缓存穿透、缓存雪崩、缓存预热、缓存降级)
分布式环境下常见的应用场景(分布式锁、分布式自增 ID)
Redis集群方案应该怎么做?都有哪些方案?
Redis 集群的主从复制模型是怎样的?
redis 持久化机制(怎么保证 redis 挂掉之后再重启数据可以进行恢复)
如何解决 Redis 的并发竞争 Key 问题?
如何保证缓存与数据库双写时的数据一致性?
redis 的 zset 的使用场景?底层实现?为什么要用跳表?
MySQL
事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL默认是哪个级别?
MySQL的MyISAM与InnoDB两种存储引擎在,事务、锁级别,各自的适用场景?
有哪些锁(乐观锁悲观锁),select 时怎么加排它锁?
sql查询语句确定创建哪种类型的索引?如何优化查询?
什么是临时表,临时表什么时候删除?
mysql 脏页?
分库分表有哪些策略?怎么保证 id 唯一?
非关系型数据库和关系型数据库区别,优势比较?
数据库的读写分离、主从复制,主从复制分析的 7 个问题?
MySQL都有什么锁,死锁判定原理和具体场景,死锁怎么解决?
数据库崩溃时事务的恢复机制(REDO日志和UNDO日志)?
对 uuid 的理解?知道哪些 GUID、Random 算法?
主键选随机 id、uuid 还是自增 id?为什么?主键有序无序对数据库的影响?
主从复制的过程?复制原理?怎么保证强一致性?
Kafka
生产者和消费者的命令行是什么?
Kafka 怎么保证数据可靠性?
讲讲 kafka 维护消费状态跟踪的方法
为什么需要消息系统,mysql 不能满足需求吗?
Kafka 判断一个节点是否还活着有那两个条件?
Kafka 与传统 MQ 消息系统之间有三个关键区别?
kafka 分布式(不是单机)的情况下,如何保证消息的顺序消费?