2022 大厂面试题汇总

JAVA基础

  1. HASHMAP、HASHTABLE、LINKEDHASHMAP的区别
  2. HASHMAP 结构
  3. HASHMAP闭环如何产生的
  4. CONCURRENTHASH结构
  5. HASHMAP1.8之后结构区别
  6. 线程池参数,线程状态,线程状态的变化过程
  7. TreadLocal 结构,为什么引入弱引用?有什么问题?
  8. 原子类如何实现线程竞争?CAS什么时候退出?ABA问题如何解决?
  9. AQS实现原理
  10. 公平锁和非公平锁的区别,哪个效率更高
  11. Syncronized原理(所升级过程)
  12. wait/notify和park/unpark的区别
  13. 多线线程如何有序输出A,B,C
  14. 讲一讲BIO/AIO/NIO

JVM

  1. 运行时的数据区
  2. 类加载过程
  3. 常用的垃圾回收算法和垃圾回收器
  4. G1和CMS区别
  5. CMS并发标记失败问题
  6. 调优经历
  7. 线上配置
  8. 解决过的问题
  9. 用过哪些JVM工具
  10. CPU占用率高、内存占用率高符合分析、线程暴涨分析

TOMCAT调优

  1. 连接池
  2. 连接方式NIO
  3. JVM配置

SPRING

  1. 启动过程
  2. 实例化Bean过程
  3. 循环依赖解决方式
  4. AOP实现过程
  5. Spring事务实现过程
  6. 事务失效 场景

SPRINGMVC

  1. 请求处理过程

SPRINGBOOT

  1. 有什么优势
  2. SPI原理
  3. 启动流程
  4. 自定义Spring boot启动器

MYSQL

  1. 常用的存储引擎有哪些
  2. explain
  3. 不同存储引擎的区别
  4. 事务隔离级别有哪些
  5. 幻读如何产生的 怎么解决
  6. 介绍一下mvcc
  7. 日志有哪些,主要用来做什么
  8. binlog和redo log区别
  9. binlog里记录了哪些内容
  10. 锁有哪些?
  11. 排他锁如何实现
  12. 索引失效场景
  13. 聚簇索引和非聚簇索引的区别
  14. B树和b+书的区别以及场景
  15. 索引下推 ICP
  16. SQL优化方案
  17. SQL执行过程
  18. 主从同步过程
  19. 主从同步延迟问题 原因以及解决方案
  20. 新增一个从节点过程

RPC dubbo

  1. SPI
  2. 负载均衡策略有哪些
  3. 敏感发现服务提供方宕机
  4. 优雅宕机
  5. 启动过程

REDIS

  1. 常用数据结构
  2. 底层数据结构
  3. 为什么要动态字符串
  4. 跳表的结构
  5. reids什么时候是多线程的?什么时候是单线程的?
  6. 雪崩、穿透、击穿?解决方案
  7. 过期策略
  8. 内存淘汰机制
  9. 缓存和DB双写 一致性方案(Cache Aside Pattern)
  10. 并发一致性解决方案(多个客户端同时写一个key)
  11. 线程模型(NIO IO多路复用)处理请求过程
  12. 分布式锁的实现原理,以及问题和解决方案
  13. 锁续命问题
  14. 主从模式
    1. 工作原理
    2. 读、写、数据同步过程
    3. 全量复制和增量复制判断依据和过程
  15. 哨兵模式介绍一下
  16. 集群结构
    1. 工作原理
    2. 读、写、数据同步过程
    3. hash算法(普通hash,一致性HASH,HASH 槽)

ZOOKEEPER

  1. 集群用的什么算法
  2. 如何选举的
  3. 如何保证一致性
  4. 集群脑裂了解吗?如何解决的
  5. zookeeper节点有几种角色,分别起什么作用,
  6. zookeeper 读写请求的处理过程
  7. zookeeper 同步流程

Linux

  1. 如何查看系统内存使用情况
  2. 如何查看系统CUP信息
  3. 如何查看网络情况
  4. Linux虚拟内存和缓冲区什么概念

算法

  1. 红包分配 要求:金额随机,sum分完,个数K 精度0.1
  2. 判断链表闭环

案例

  1. 分布式事务一致性解决方案
    1. TCC
    2. seata
    3. 本地化事务
    4. 消息中间件
  2. 限流算法有哪些,优缺点
  3. 分布式唯一号生成算法
  4. 秒杀方案
  5. 防止重复下单
  6. 如何设计一个高可用,高并发的服务。
  7. 库存超卖问题如何处理
  8. 热数据如何处理
  9. 如何实现单点登录