金九银十已经过去大半,整理一波今年的新款面试题,最近想跳槽的朋友可以先来刷一波题,包含java基础,多线程,JVM,设计模式,并发,数据库等方面。看看你了解的又有多少呢?
基础面试题
- 为什么重写equals还要重写hashcode
- 说一下map的分类和常见的情况
- 说说Lamda表达式的优缺点。
- 为啥有时会出现4.0-3.6=0.40000001这种现象?
- Java支持的数据类型有哪些?什么是自动拆装箱?
- Java中的八大基本数据类型
- 谈谈运算符&和&&区别
- switch语句表达式可以传递String类型的值吗
- 方法重载的原则
- 面向对象的特点主要有哪些
- 请你说明String 和StringBuffer的区别
多线程:
- 如何使用多线程, 使用多线程需要注意什么, 生产中那些地方用到
- 多线程每个参数的意思
- 线程池拒绝策略有哪些
- 线程池的实现原理
- ABA如何解决
- 讲讲CAS
JVM
- 讲讲jmm, 为什么出现不一致
- 讲讲class在jvm中整个流程
- FullGc有那些原因造成
- 什么情况会有OMM,仔细讲讲
- 写一段OMM或者栈溢出的代码
- 如果生产中不断进行Fullgc你会怎么优化
- JVM如何进行优化, 生产中会使用什么工具, 有那些命令查看
- JVM参数在上线前如何配置
- 垃圾回收的算法
设计模式
- 说下你知道的设计模式有哪些?
- 工厂方法模式和抽象工厂模式有什么区别?
- JDK 中用到了哪些设计模式?
- Spring 中用到了哪些设计模式?
- 设计模式六大原则是什么?
- 单例模式的优缺点?
- 树形文件目录采用的是哪种设计模式?
并发
- 并行和并发有什么区别?
- 线程和进程的区别?
- 守护线程是什么?
- 创建线程的几种方式?
- Runnable 和 Callable 有什么区别?
- 线程状态及转换?
- 在 Java 程序中怎么保证多线程的运行安全?
- Java 线程同步的几种方法?
- 如何在项目中使用 synchronized 的?
- 谈谈 synchronized 和 ReenTrantLock 的区别
数据库
- MongoDB与Mysql的区别?
- 什么是索引?
- 索引具体采用的哪种数据结构呢?
- InnoDb内存使用机制?
- B+ Tree索引和Hash索引区别?
- B+ Tree的叶子节点都可以存哪些东西吗?
- 这两者有什么区别吗?
- 聚簇索引和非聚簇索引,在查询数据的时候有区别吗?
以上就是我整理的一些出现频率比较高的面试题,如果把一个个答案写上去有点麻烦,这里就偷点懒,想要知道答案的可以点击
面试题答案shimo.im上面的题只是我整理的一小部分还有许多就没有写出来想要的同学可以点击
更多资料shimo.im