目前,一个Java编程工程师的月薪轻松过万,一个有几年工作经验的Java工程师薪酬在36万~60万元之间不等,而更顶尖的Java技术人才则是年薪轻松超百万。你的薪资没到位,是因为你搞错了方向。Java编程现在非常热门,BAT在狂招人,供不应求。
下面给大家带来一份Java面试题总汇,掌握了这些面试题,我觉得月薪30K你可以冲一下!
内容包括:Java基础、JVM、多线程、并发、Spring、MyBatis、SpringBoot、MySQL、Redis、SpringCloud、Nginx、MQ、数据结构与算法、Linux,最后还有简历指导!
基础篇
===
-
Java语言有哪些特点
-
面向对象和面向过程的区别
-
八种基本数据类型的大小,以及他们的封装类
-
String、String StringBuffer 和 StringBuilder 的区别是什么?
-
HashMap和HashTable的区别
-
Java的四种引用,强弱软虚
-
有没有可能两个不相等的对象有相同的hashcode
-
try catch finally,try里有return,finally还执行么?
-
OOM你遇到过哪些情况,SOF你遇到过哪些情况
-
Java IO与 NIO的区别
-
说说List,Set,Map三者的区别?
JVM篇
=====
-
简述一下JVM的内存模型
-
什么时候会触发FullGC
-
什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
-
对象分配规则
-
描述一下JVM加载class文件的原理机制?
-
如何判断对象可以被回收?
-
JVM的永久代中会发生垃圾回收么?
-
垃圾收集算法
-
调优命令有哪些?
-
Minor GC与Full GC分别在什么时候发生?
-
你知道哪些JVM性能调优
多线程&并发篇
=======
-
Java中实现多线程有几种方法
-
notify()和notifyAll()有什么区别?
-
为什么wait和notify方法要在同步块中调用?
-
有三个线程T1,T2,T3,如何保证顺序执行?
-
Thread类中的yield方法有什么作用?
-
Java线程池中submit() 和 execute()方法有什么区别?
-
说说自己是怎么使用 synchronized 关键字,在项目中用到了吗synchronized关键字最主要的三种使用方式:
-
什么是线程安全?Vector是一个线程安全类吗?
-
常用的线程池有哪些?简述一下你对线程池的理解
Spring篇
=======
-
Spring的IOC和AOP机制?
-
Spring中Autowired和Resource关键字的区别?
-
依赖注入的方式有几种,各是什么?
-
讲一下什么是Spring
-
Spring MVC流程
-
SpringMVC怎么样设定重定向和转发的?
-
SpringMVC常用的注解有哪些?
-
Spring的AOP理解:
-
Spring的IOC理解
-
解释一下spring bean的生命周期
-
解释Spring支持的几种bean的作用域。
-
Spring基于xml注入bean的几种方式:
-
Spring框架中都用到了哪些设计模式?
Mybatis篇
========
-
什么是MyBatis
-
MyBatis的优点和缺点
-
#{}和${}的区别是什么?
-
当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
-
Mybatis是如何进行分页的?分页插件的原理是什么?
-
Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?
-
如何执行批量插入?
-
Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签?
-
MyBatis实现一对一有几种方式?具体怎么操作的?
-
Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
-
Mybatis的一级、二级缓存
SpringBoot篇
===========
-
Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
-
运行Spring Boot有哪几种方式?
-
如何理解 Spring Boot 中的 Starters?
-
如何在Spring Boot启动的时候运行一些特定的代码?
-
Spring Boot 需要独立的容器运行吗?
-
Spring Boot中的监视器是什么?
-
如何使用Spring Boot实现异常处理?
-
你如何理解 Spring Boot 中的 Starters?
-
springboot常用的starter有哪些
-
SpringBoot 实现热部署有哪几种方式?
-
如何理解 Spring Boot 配置加载顺序?
-
Spring Boot 的核心配置文件有哪几个?它们的区别是什么?
-
如何集成 Spring Boot 和 ActiveMQ?