Java
- 泛型的底层原理
算法题:
- 判断字符串是否是回文串
- A,B两个线程轮流打印1到100
- 两个栈实现队列 JVM
- xss是什么意思
- 弱引用、软引用、虚引用
- 栈溢出和堆溢出
- yongGC的流程是怎样的,为什么需要两个s区
多线程
- CAS问题,为什么会导致CPU飙升
- 解释什么是内存屏障
- 解释什么是乐观锁、悲观锁
- 解释Synchronized关键字
- 比较Synchronized和Lock的区别
- 几种常用线程池的特性及使用场景
- 线程的几种状态
- nio处于线程的什么状态(这道题真的蒙了)
MySql
- 什么是回表
- 什么是表空洞
- 主键索引和二级索引的区别
- redo、undo、binlog三种日志模型
Redis
- redis的脑裂问题
- redis的缓存崩溃
- redis的zset的底层结构为什么用跳跃表,不用平衡二叉树或者是红黑树
其他
- kafka为什么要在主节点上读写
- 如何排查fullGC
- 一致性算法的原理及实现
- 实现一个高可用的分布式锁
- 实现限流算法
- 设计模式知道哪些
- 解释责任链模式
- 面向组合,少用继承