一面题目(技术面)

1.请详细说明HashMap和HashTable以及CocurrentHashMap的异同。
2.什么是网络IO模型?什么是多路复用IO?select和epoll的差别是什么?
3.请详述TCP三次握手的全过程,并且如果没有第三次握手会有什么问题?
4.常用的线程池有哪些?它们各自的应用场景有哪些?
5.请详述Java类加载机制,以及双亲委派模型的好处。
6.你对Java并发包组件了解多少?
7.什么时候多线程会发生死锁?你将如何来预防死锁?
8.请详述操作系统的用户态和核心态切换条件以及说明白为什么要切换
9.数据库事务有哪些特点?事务隔离级别?项目中的事务怎么实现?脏读、不可重复读、幻读能各举个例子吗?

二面题目(技术面)

1.什么是数据库索引?B+树?为什么要建索引?什么样的字段需要建索引,建索引的时候一般考虑什么?索引会不会使插入、删除作效率变低,怎么解决(分表)?
2.设计模式,单例模式,怎么保证线程安全?锁效率太低,怎么提高效率?
3.什么是CAS?CAS的本质是什么?什么是原子性?Compare and Swap两步,为什么能保证原子性(涉及到CPU指令)?
4.分布式锁的实现你都知道哪些?你更推荐哪一种锁?
5.Redis的持久化操作有哪些?
6.如何利用Redis处理热点数据?

三面题目(技术面)

1.你有接触过哪些消息队列中间件?你将如何来选型?
2.谈谈你的SOA以及微服务的理解
3.能具体谈谈Spring Cloud服务和注册流程吗?
4.分布式的CAP有了解么,分别指什么?
5.谈谈网络编程NIO和Netty相关的内容,以及Netty的线程模型,零拷贝是如何实现的?

四面题目(技术面)

1.Redis是单线程还是多线程?Redis的分布式集群怎么做?
2.了解过集群雪崩么?
3.谈谈高并发场景下削峰,限流的实现?
4.你之前工作的项目里个人最满意的部分,谈谈你的架构设计思路?

五面题目(HR人事面)

1.为什么要从上一家公司离职?
2.为什么要选择我们这里?
3.你是如何看待加班问题的?
4.你平时自己是怎么学习技术的,除了Java相关,还会去了解其他什么技术?
5.未来2年你是怎样打算的?有具体的职业规划吗?
6.你期待的薪资是多少?