一面:

  1. hashmap,怎么扩容,怎么处理数据冲突?怎么高效率的实现数据迁移?
  2. Linux的共享内存如何实现,大概说了一下。
  3. Linux 中的用户模式和内核模式是什么含意?
  4. 在 Java 中 Lock 接口比 synchronized 块的优势是什么?你需要实现一个高效的缓存,它允 许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它?
  5. socket网络编程,说一下TCP的三次握手和四次挥手
  6. 同步IO和异步IO的区别?
  7. Java GC机制?GC Roots有哪些?
  8. 如和判断一个对象是否存活?(或者 GC 对象的判定方法)
  9. 红黑树讲一下,五个特性,插入删除操作,时间复杂度?
  10. 快排的时间复杂度,最坏情况呢,最好情况呢,堆排序的时间复杂度呢,建堆的复杂度是多少

第一轮非常重要,第一面能通过,后续被录用的可能性就比较高

二面

  1. 自我介绍,主要讲讲做了什么和擅长什么
  2. 设计模式了解哪些?
  3. Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式
  4. 什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据
  5. AtomicInteger怎么实现原子修改的?
  6. RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?
  7. ConcurrentHashMap 在Java7和Java8中的区别?为什么Java8并发效率更好?什么情况下用HashMap,什么情况用ConcurrentHashMap?
  8. redis数据结构?
  9. redis数据淘汰机制?
  10. Redis 集群方案应该怎么做?都有哪些方案?

三面(约五十分钟)

  1. mysql实现事务的原理(MVCC)
  2. MySQL 中控制内存分配的全局参数,有哪些?
  3. Redis 有哪些适合的场景?
  4. 有哪些数据库优化方面的经验?MySQL数据主从同步是如何实现的?
  5. MySQL索引的实现,innodb的索引,b+树索引是怎么实现的,为什么用b+树做索引节点,一个节点存了多少数据,怎么规定大小,与磁盘页对应。
  6. 如果Redis有1亿个key,使用keys命令是否会影响线上服务?
  7. Redis的持久化方式,aod和rdb,具体怎么实现,追加日志和备份文件,底层实现原理的话知道么?
  8. 遇到最大困难是什么?怎么克服?
  9. 未来的规划是什么?
  10. 你想问我什么?

完结

Redis基于内存,常用作于缓存的一种技术,并且Redis存储的方式是以key-value的形式。Redis是如今互联网技术架构中,使用最广泛的缓存,在工作中常常会使用到。Redis也是中高级后端工程师技术面试中,面试官最喜欢问的问题之一,因此作为Java开发者,Redis是我们必须要掌握的。

Redis 是 NoSQL 数据库领域的佼佼者,如果你需要了解 Redis 是如何实现高并发、海量数据存储的,那么这份腾讯专家手敲《Redis源码日志笔记》将会是你的最佳选择。

不断提升自己创造溢价的能力,字节跳动 阿里 华为 腾讯等大厂Java面试题,

CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】