- Spring,Spring Boot,Spring Cloud有什么区别
- Java单例模式有哪些,手写线程安全的单例模式
- 最左前缀原则
- 解释归并排序原理(手写),是不是稳定的
- Spring注解有哪些
- 是否了解微服务
- Hash算法的原理、hash冲突、怎么从原理上优化Hash算法,将Hash冲突降到最低,Java里面的hash值都怎么计算的
- HashMap的底层实现用到了哪些结构,红黑树的引入除了解决查找效率的问题还为了解决什么问题?引入了红黑树就没有再用链表了吗?怎么把链表转化成红黑树?
- 数据库用到过什么索引结构? MySQL的B+树是怎么一回事?为了让树变矮,子节点越多越好吗?
- 有用过Java的并发包吗,里面有哪些并发的数据结构
- 是指JUC包吗?里面有一些原子操作类,以
Atomic
开头的;还有像CountDownLatch
、CyclicBarrier
之类的并发工具类;再有就是对线程池支持的相关类,比如ThreadPoolExecutor
- 是指JUC包吗?里面有一些原子操作类,以
- 了解JVM吗,能不能说一下GC是怎么停机的?
- 是指
stop the world
吗?就是JVM启动的时候会在后台开一个GC守护线程,当需要GC的时候,GC线程需要在标记阶段枚举根节点,这时需要暂停所有工作者线程,在枚举根节点结束之后,所有的工作者线程才会得以恢复执行。因为枚举根节点时需要分析堆中各个对象的引用关系,这时如果不暂停工作者线程,那么工作者线程执行时对引用的变更会影响枚举根节点(就像扫地的时候需要暂停丢垃圾一样)。
- 是指
- 能说下Java的类加载器吗?
- Java的类加载器主要分为以下三类:引导类加载器、扩展类加载器、应用程序类加载器;引导类加载器负责加载
jre/lib
下的核心类库,扩展类加载器负责加载ext/
下的扩展类库,应用程序类加载器用于加载开发者自定义的类。Java的类加载有一个双亲委派模型,就是当JVM收到类加载请求时,并不会让当前类的类加载器去加载该类,而是递归将请求委派给上级类加载器,直到引导类加载器受理该请求并尝试从jre/lib/
加载该类,如果没有则逐层向下,如果连当前类的类加载器都找不到该类,则会抛出NoSuchClass
的异常
- Java的类加载器主要分为以下三类:引导类加载器、扩展类加载器、应用程序类加载器;引导类加载器负责加载
- 数据库为啥用B+树
- Collection.sort()底层用的什么排序方法
- Jvm调整堆大小?
- 用锁实现先读再写的,用lock去实现,蒙圈了,不会
- 自己实现阻塞队列,瞎写了点,《JAVA并发编程艺术》172有提到阻塞队列实现的原理,用condition去做的
- 你了解哪些设计模式?装饰器的应用
- 手写单例设计模式,你这样写的好处在哪?
- spring事务写在哪一部分,为什么不写在DAO,Controller层
- Spring MVC 的入口函数是什么?DispatcherServlet什么作用?
- Sring AOP底层实现原理;SSM框架用了多久
- MySQL: 两种引擎;索引的数据结构;B+树和红黑树
- Redis:持久化方式 ;如何设计一个队列。除了Redis之外常见的缓存,Java使用缓存的方式;学了多久
- java: CMS垃圾回收机制;jvm内存管理;jvm常见命令,如何查看线程
- Socket使用方式、运用场景
- 说一说B+树的旋转过程 二叉平衡树调整旋转的旋转过程
- Jdk1.8对concurrenthashmap加了哪些新特性
- 最长不重复子串
- 锁是如何升级的’
- 分布式锁怎么实现
- mysql性能查看以及如何优化
- django
- 给你一个未知长度的链表,怎么找到中间的那个节点(提示:两个指针)
- 多线程的锁?怎么优化的?偏向锁、轻量级锁、重量级锁?
- 连续子数组最大的和(剑指offer)
- 一个链表,奇数升序,偶数降序,变成一个全升序的链表
- servlet生命周期 阿里
面试新题目
最新推荐文章于 2020-04-09 12:57:31 发布