面试题

Java基础

  • volatile关键字底层原理
  • 线程池各个参数含义
  • lock、Synn区别
  • ReentrantLock锁公平与非公平实现、重入原理
  • HashMap扩容时机(容量初始化为1000和10000是否触发扩容)、机制、1.7与1.8的差异
  • ConcurrentHashMap1.7、1.8的优化与差异,size方法实现差异
  • ThreadLocal原理与风险、为什么会内存泄露
  • 阻塞队列的用途、区别
  • LinkedBlockingQueue对列的add、put区别,实际过程中如何使用
  • 悲观锁、乐观锁、自旋锁的使用场景、实现方式、优缺点
  • Class.forName、loanClass区别;
  • 线程生命周期、死锁条件与死锁避免、状态转换关系(源码级别);
  • String intern方法;
  • cas的优缺点与解决方案、ABA问题; JVM相关
  • CMS垃圾回收的碎片解决方式
  • 常用的垃圾回收器
  • JVM垃圾回收器CMS的优缺点、与G1的区别、进入老年代的时机
  • JVM内存模型
  • JVM调优思路
  • GC Root、ModUnionTable
  • 偏向锁、轻量级锁、重量级锁底层原理、升级过程
  • jmap、jstat、top、MAT
  • CMS与G1对别
  • GC Root、ModUnionTable; Redis相关
  • Redis高性能原因
  • Redis的部署模式
  • RedisCluster底层原理
  • Redis持久化机制
  • 缓存淘汰机制
  • 缓存穿透、缓存雪崩、缓存击穿发生场景与解决方案 SQL相关
  • MyBatis拦截器的用途
  • MyBatis动态SQL原理
  • 分库分表方案设计
  • MySQL怎么解决幻读、原理(源码级别)
  • Gap锁的作用域原理
  • RR、RC区别
  • MySQL默认的事务隔离级别、Oracle默认的事务隔离级别
  • MySQL为啥使用B+树索引
  • redo log、binlog、undo
  • log写入顺序、分别保证了ACID的什么特性
  • 数据库乐观锁
  • MySQL优化
  • MySQL底层原理 Spring相关
  • @Bean注解、@Component注解区别
  • Spring Aop原理
  • @Aspect和普通AOP区别
  • 自定义拦截器和Aop那个先执行
  • web 拦截器
  • DispatchServlet原理 Dubbo相关
  • Dubbo负载均衡、集群容错
  • Dubbo SPI机制、Route重写使用场景
  • Dubbo RPC底层原理
  • 全链路监控实现原理 分布式相关
  • 分布式锁的实现方式
  • 漏斗算法、令牌桶算法
  • 事务最终一致性解决方案
  • SLA
  • 分布式事务实现方式与区别
  • Tcc Confirm失败怎么办?
  • 分布式锁的各种实现方式、对比
  • 分布式ID的各种实现方式、对比
  • 雪花算法时钟回拨问题与应对方案
  • 红锁算法 设计模式
  • 常用的设计模式
  • 状态模式
  • 责任链模式解决了什么问题
  • 饿汉式、懒汉式优缺点、使用场景
  • 模板方法模式、策略模式、单例模式、责任链模式 Zookeeper
  • Zookeeper底层架构设计
  • zk一致性 MQ
  • Kafka顺序消息
  • MQ消息幂等
  • Kafka高性能秘诀
  • Kafka高吞吐原理
  • Rocket事务消息、延时队列 计算机网络
  • 浏览器输入一个url发生了什么
  • Http 1.0、1.1、2.0差异
  • IO多路复用
  • TCP四次挥手过程、状态切换
  • XSS、CRSF攻击与预防
  • 301、302区别 Tomcat
  • Tomcat大概原理 代码
  • 手写发布订阅模式
  • 大数(两个String)相加 场景问题
  • 打赏排行榜实现
  • 高并发下的请求合并
  • CPU 100%处理经验
  • 短链系统设计
  • 附近的人项目实现
  • 10w个红包秒级发送方案
  • 延时任务的实现方案与优缺点对比