最近有同学在优知学院留言区留言是否能发布今日头条的面试题目,这位同学,题目来了哦~
一面
- concurrent包下面用过哪些?
- countdownlatch功能实现
- synchronized和lock区别,重入锁
- thread和runnable的区别
- AtomicInteger实现原理(CAS自旋)
- java并发sleep与wait、notify与notifyAll的区别
- 如何实现高效的同步链表
- java都有哪些加锁方式(synchronized、ReentrantLock、共享锁、读写锁等)
- 设计模式(工厂模式、单例模式(几种情况)、适配器模式、装饰者模式)
- maven依赖树,maven的依赖传递,循环依赖
二面
- synchronized和reentrantLock的区别,synchronized用在代码快、方法、静态方法时锁的都是什么?
- 介绍spring的IOC和AOP,分别如何实现(classloader、动态代理)
- JVM的内存布局以及垃圾回收原理及过程讲一下,讲一下CMS垃圾收集器垃圾回收的流程,以及CMS的缺点
- redis如何处理分布式服务器并发造成的不一致
- OSGi的机制
- spring中bean加载机制,bean生成的具体步骤,ioc注入的方式
- spring何时创建applicationContext
- listener是监听哪个事件?
- 介绍ConcurrentHashMap原理,用的是哪种锁,segment有没可能增大?
- 解释mysql索引、b树,为啥不用平衡二叉树、红黑树
- Zookeeper如何同步配置
三面
- Java线程池ThreadPoolEcecutor参数,基本参数,使用场景
- MySQL的ACID讲一下,延伸到隔离级别
- dubbo的实现原理,说说RPC的要点
- GC停顿原因,如何降低停顿?
- JVM如何调优、参数怎么调?
- 如何用工具分析jvm状态(visualVM看堆中对象的分配,对象间的引用、是否有内存泄漏,jstack看线程状态、是否死锁等等)
- 描述一致性hash算法(Redis)
- 分布式雪崩场景如何避免?
- 再谈谈消息队列