前言:

本套Java面试题大全总共分为以下这十二个模块:

  • Java基础知识面试题
  • JVM面试题
  • Spring面试题
  • Spring Boot面试题
  • Spring Cloud面试题
  • MyBatis面试题
  • MySQL 面试题
  • Redis面试题
  • 多线程 并发面试
  • Nginx面试题
  • 数据结构与算法
  • 简历模板

Java基础面试

  • 1.Java语言有哪些特点
  • 2.面向对象和面向过程的区别
  • 3.八种基本数据类型的大小,以及他们的封装类
  • 4.标识符的命名规则。
  • 5.instanceof 关键字的作用
  • 6.Java自动装箱与拆箱
  • 7.重载和重写的区别
  • 8.equa1s与==的区别
  • 9.Hasheode的作用
  • 10.String\ String StringBuffer和StringBuilder 的区别是什么?
  • 11.ArrayList和1inke aList的区
  • 12.HashMap和HashT able的区别
  • 13.Collecti on包结构,与Collecti ons的区别
  • 14.Javs的四种引用,强弱软虚
  • 15.泛型常用特点
  • 16.Jav创建对象有几种方式?
  • 17.有没有可能两个不相等的对象有相同的hasheode
  • 18.深拷贝和浅拷贝的区别是什么?
  • 19.final有哪些用法?
  • 20.stati 都有哪些用法?
  • 21.3*0. 1==0. 3返回值是什么
  • 22.a=a+b与a+=b有什么区别吗?
  • 23.try catch finally; try里有return, finally还执行么?
  • 24.Exepti on与Error包结构
  • 25.00M你遇到过哪些情况,SOF你遇到过哪些情况
  • 26.简述线程、程序、进程的基本概念。以及他们之间关系是什么
  • 27.线程有哪些基本状态?
  • 28.Java序列化中如果有些字段不想进行序列化,怎么办?
  • 29.Java中I0流
  • 30.Java I0与HI0的区别
  • 31.java反射的作用于原理
  • 32.说说List, Set, Map三者的区别?

 

Spring面试

  • 1.Sprine的I0C和AOP机制?
  • 2.Spring中Autowired和Resouree关键字的区别?
  • 3.依赖注入的方式有几种,各是什么?
  • 4.讲一下什么是Spring
  • 5.Spr ing MVC流程.
  • 6.Spri ngMVYC怎么样设定重定向和转发的?
  • 7. Sprin/MVC常用的注解有哪些?
  • 8.Sprina的AOP理解:
  • 9.Sprine的I0C理解
  • 10.解释- -下spring be an的生命周期
  • 11.解释Spring支持的几种bean的作用域。
  • 12. Spring基于xm1注入bean的几种方式:
  • 13.Spring框架中都用到了哪些设计模式?

SpringBoot面试

  • 1.什么是SpringBoot?为什么要用SpringBoot
  • 2.Spring Boot. 的核心注解是哪个?它主要由哪几个注解组成的?
  • 3.运行Spring Boot有哪几种方式
  • 4.如何理解Spring Boot 中的Starters?
  • 5.如何在Spring Boo.启动的时候运行一些特定的代码?
  • 6.Spring Boot需要独立的容器运行吗?
  • 7.Spring Boot中的监视器是什么?
  • 8.如何使用Spring Boot实现异常处理?
  • 9.你如何理解Spring Boot中的Starters?
  • 10.springboot常用的starter有哪些
  • 11.SpringBoot 实现热部署有哪几种方式?
  • 12.如何理解Spring Boot配置加载顺序?
  • 13.Spring Boot的核心配置文件有哪几个?它们的区别是什么?
  • 14.如何集成Spring Boot和ActiveMQ?
  • 15.如何重新加载Spring Boot上的更改,而无需重新启动服务器?
  • 16.Spring Boot、Spring MVC和Spring有什么区别?
  • 17. 能否举一个例子来解释更多Staters的内容?
  • 18.Spring Boot还提供了其它的哪些Starter Project Opti ons

MySQL面试

  • 1.数据库的三范式是什么
  • 2.数据库引擎有哪些
  • 3.InoDB与MyISAM的区别
  • 4.数据库的事务
  • 5.索引问题
  • 6.SQL优化
  • 7.简单说一说drop、 delete与truncate的区别
  • 8.什么是视图
  • 9.什么是内联接、左外联接、右外联接?
  • 10.并发事务带来哪些问题?
  • 11.事务隔离级别有哪些?MySQI的默认隔离级别是?
  • 12.大表如何优化?
  • 13.分库分表之后,id主键如何处理?
  • 14.mysq1有关权限的表都有哪几个
  • 15.mysq1有哪些数据类型
  • 16.创建索引的三种方式,删除索引

Mybatis面试

  • 1.什么是MyBatis
  • 2.MyBati s的优点和缺点
  • 3.#}和$ {}的区别是什么?
  • 4.当实体类中的属性名和表中的字段名不一样,怎么办?
  • 5.Mybatis是如何进行分页的?分页插件的原理是什么?
  • 6.Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?
  • 7.如何执行批量插入?
  • 8.Xm1映射文件中,除了常见的select |insert lupdae |delete标签之外,还有哪些标签?
  • 9.MyBatis实现一对一有几种方式?具体怎么操作的?
  • 10.Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
  • 11.Mybatis的一级、二级缓存:

Redis面试

  • 1.Redi s持久化机制
  • 2.缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
  • 3.热点数据和冷数据是什么
  • 4.Memcache与Redi s;的区别都有哪些?
  • 5.单线程的redi s为什么这么快
  • 6.redi s的数据类型,以及每种数据类型的使用场景
  • 7.redi s的过期策略以及内存淘汰机制
  • 8.Redis为什么是单线程的
  • 9.Redis常见性能问题和解决方案?
  • 10.为什么Redi s的操作是原子性的,怎么保证原子性的?
  • 11.Redis事务

JVM面试

  • 1.知识点汇总
  • 2.知识点详解:
  • 3.类加载与卸载
  • 4.简述一下JM的内存模型
  • 5.堆和栈的区别
  • 6.什么时候会触发FullC
  • 7.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言
  • 8.Java内存结构
  • 9.对象分配规则
  • 10.描述一下J加载class文件的原理机制?
  • 11.Java对象创建过程
  • 12.类的生命周期
  • 13.简述Javs的对象结构
  • 14.如何判断对象可以被回收?
  • 15.JVM的永久代中会发生垃圾回收么?
  • 16.垃圾收集算法
  • 17.调优命令有哪些?
  • 18.调优工具
  • 19.Minor GC与Full GC分别在什么时候发生?
  • 20.你知道哪些JM性能调优
  • 21.JYM内存分哪几个区,每个区的作用是什么?
  • 22.简述J ava垃圾回收机制?
  • 23.什么是类加载器,类加载器有哪些?”
  • 24.你有没有遇到过OutOfMemory问题?你是怎么来处理这个问题的?处理过程中有哪些收获?
  • 26.跟JTM内存相关的几个核心参数图解
  • 27.如何启动系统的时候设置JVM的启动参数

多线程、并发面试

  • 1.Java中实现多线程有几种方法
  • 2.如何停止-个正在运行的线程
  • 3.noti fy 0和noti fyAll 0有什么区别?
  • 4.sleep 0和waitO有什么区别
  • 5.volatile是什么?可以保证有序性吗?
  • 6.Thread 类中的start0和run0方法有什么区别?
  • 7.为什么wait, notify 和notifyA11这些方法不在thread类里面?
  • 8.为什么wai t和noti fy方法要在同步块中调用?
  • 9.Java中interrupted和isInterruptedd方法的区别?
  • 10.Java中synchronized和Reentr antLock有什么不同?
  • 11.有三个线程T1, T2, T3,如何保证顺序执行?
  • 12.Symchr oni Ie dMap和C oncurrentHashMap有什么区别?
  • 13.什么是线程安全
  • 14.Thread类中的yi el a方法有什么作用?
  • 15.Java线程池中submitO和execute 0方法有什么区别?
  • 16.说-说自己对于synchronized关键字的了解
  • 17.说说自己是怎么使用symchronized关键字,在项目中用到了吗synchr oni zed关键字最主要的三种使用方式:
  • 18.什么是线程安全? Vector是一个线程安全类吗?
  • 19.volatile关键字的作用?
  • 20.常用的线程池有哪些?
  • 21.简述一下你对线程 池的理解
  • 22.Java程序是如何执行的
  • 23.说一说自己对于synchronized关键字的了解
  • 24.说说自己是怎么使用synchronized关键字,在项目中用到了吗
  • 25.讲一下synchronired 关键字的底层原理
  • 26.为什么要用线程池?
  • 27.实现Runnabl e接口和Callable接口的区别
  • 28.执行execute 0方法和submi t0方法的区别是什么呢?
  • 29.如何创建线程池

Nginx面试

  • 1.简述一下什么是Nginx,它有什么优势和功能?
  • 2.Nginx是如何处理一个HTTP请求的呢?
  • 3.列举-些Ngi nx的特性
  • 4.请列举Nginx和Apache之间的不同点
  • 5.在Hginx中;如何使用未定义的服务器名称来阻止处理请求?
  • 6.请解释Nei rx服务器上的Master和W orker进程分别是什么?
  • 7.请解释代理中的正向代理和反向代理
  • 8.解释Nginx用途

SpringCloud面试

  • 1.什么是SpringCloud
  • 2.什么是微服务
  • 3.SpringCloud有什么优势
  • 4.什么是服务熔断?什么是服务降级?
  • 5.Eureks和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?
  • 6.SpringBoot和SpringCloud的区别?
  • 7.负载平衡的意义什么?
  • 8.什么是Hystrix?它如何实现容错?
  • 9.什么是Hystrix断路器?我们需要它吗?
  • 10.说说RPC的实现原理

数据结构与算法面试

  • 1.常用的数据结构
  • 2.数据里有{1,2,3, 4,5,6,7.8,9},请随机打乱顺序,生成一个新的数组(请以代码实现)
  • 3.写出代码判断一 个整数是不是2的阶次方( 请代码实现,谢绝调用API方法)
  • 4.假设今日是2015年3月1日,星期日,请算出13个月零6天后是星期几,距离现在多少天(请用代码实现,谢绝调用API方法)
  • 5.有两个篮子,分别为A和B,篮子A里装有鸡蛋,篮子B里装有苹果,请用面向对象的思想实现两个篮子里的物品交换(请用代码实现)

简历模板

  • 1.为什么说简历很重要?
  • 2.先从面试来说
  • 3.再从面试说起
  • 4.必知必会的几点
  • 5.必须了解的两大法则
  • 6.项目经历怎么写
  • 7.专业技能怎么写
  • 8.排版注意事项
  • 9.其他一些小tips 

需要文章中资料的朋友;可以一键三连后:“加我VX小助理”;来免费获取到!