面试题系列一

https://mp.weixin.qq.com/s/IQeXQAnqaoBEZYIOpj2V-A

 

线程池相关

  • 单机上一个线程池正在处理服务,如果忽然断电了怎么办(正在处理和阻塞队列里的请求怎么处理)?
  • 为什么要使用线程池?
  • 线程池有什么作用?
  • 说说几种常见的线程池及使用场景。
  • 线程池都有哪几种工作队列?
  • 怎么理解无界队列和有界队列?
  • 线程池中的几种重要的参数及流程说明。

JVM相关

  • 说一下对jvm的理解,jvm的组成部分,各个部分的存储内容以及常见的jvm的问题排查步骤。
  • 对JVM熟不熟悉?简单说说类加载过程,里面执行的那些操作?
  • JVM方法区存储内容 是否会动态扩展 是否会出现内存溢出 出现的原因有哪些。
  • 介绍介绍CMS。
  • 介绍介绍G1。
  • 为什么jdk8用metaspace数据结构用来替代perm?
  • 简单谈谈堆外内存以及你的理解和认识。
  • JVM的内存模型的理解,threadlocal使用场景及注意事项?
  • JVM老年代和新生代的比例?
  • jstack,jmap,jutil分别的意义?如何线上排查JVM的相关问题?
  • Java虚拟机中,数据类型可以分为哪几类?
  • 怎么理解栈、堆?堆中存什么?栈中存什么?
  • 为什么要把堆和栈区分出来呢?栈中不是也可以存储数据吗?
  • 在Java中,什么是是栈的起始点,同是也是程序的起始点?
  • 为什么不把基本类型放堆中呢?
  • Java中的参数传递时传值呢?还是传引用?
  • Java中有没有指针的概念?
  • Java中,栈的大小通过什么参数来设置?
  • 一个空Object对象的占多大空间?
  • 对象引用类型分为哪几类?
  • 讲一讲垃圾回收算法。
  • 如何解决内存碎片的问题?
  • 如何解决同时存在的对象创建和对象回收问题?
  • 讲一讲内存分代及生命周期。
  • 什么情况下触发垃圾回收?
  • 如何选择合适的垃圾收集算法?
  • JVM中最大堆大小有没有限制?
  • 堆大小通过什么参数设置?
  • JVM有哪三种垃圾回收器?
  • 吞吐量优先选择什么垃圾回收器?响应时间优先呢?
  • 如何进行JVM调优?有哪些方法?
  • 如何理解内存泄漏问题?有哪些情况会导致内存泄露?如何解决?

Leave a Reply

Your email address will not be published. Required fields are marked *