前言
金九银十,相信还有很多网友都在求大厂面试题。正好之前我有整理过这方面的资料,在这里和大家分享一下,供大家查漏补缺和学习。这些题目(Java面试题)是网友去阿里、百度、小米、乐视、美团、58、、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率,希望可以帮助大家,祝大家求职顺利!
Java基础
1.Java语言的三大特性
2.Java语言主要特性
3. JDK和JRE有什么区别
4.Java基本数据类型及其封装类
5.如果main方法被声明为private会怎样?
6.说明- -下public static void main(String argsQ])这段声明里每个关键字的作用
7.==与equals的区别
8.Object有哪些公用方法
9.为什么Java里没有全局变量?
10.while循环和do循环有什么不同?
11.char型变量中能不能存储一个中文汉字?为什么?
12.public, private, protected的区别, 继承方法与访问权限
13.float f=3.4;是否正确?
14.shorts1 = 1;s1 = s1 + 1;有错吗? shorts1 = 1;s1 += 1;有错吗
15.8u和&:&的区别?
16.IntegerCache
17.Locale类是什么?
18Java中final. finally. finalize的区别与用法
19.hashCode0和equals0的区别
20.深拷贝和浅拷贝的区别是什么?
21Java中操作字符串都有哪些类?它们之间有什么区别?
22.String str= "a"与String str=new String("a")-样吗?
23.抽象类能使用final 修饰吗?
24.static关键字5连问
25.重载(Overload) 和重写(Override) 的区别。重载的方法能否根据返回类型进行区分?
26.Java的四种引用
27.Java中Comparator与Comparable有什么不同?
28. Java序列化,反序列化?
29.什么情况需要Java序列化?
30.序列化的实现?
31.如果某些数据不想序列化,如何处理?
IO&NIO
1.什么是I0流?
2java中有几种类型的流?
3.字节流和字符流哪个好?怎么选择?
4.读取数据量大的文件时,速度会很慢,如何选择流?
5.1O模型有几种?
6.阻塞1O (blocking 10)
7.非阻塞I/O (nonblocking 10)
8.I/O多路复用模型(I0 multiplexing)
9.信号驱动I/O模型
10.异步/O(asynchronous 10)
11.NIO与10的区别?
12.NIO和IO适用场景
13.NIO核心组件
14.什么是channel
15.Java NIO中最常用的通道实现?
16.Buffer是什么?
多线程面试题
1.什么是进程?
2.什么是线程?
3.线程的实现方式?
4.Thread类中的start0和run0方法有什么区别?
5.线程NEW状态
6.线程RUNNABLE状态
7.线程的RUNNING状态
8.线程的BLOCKED状态
9.线程的TERMINATED状态
10.线程状态转化图
11.i——与System.out.printIn0的异常
12.如何知道代码段被哪个线程调用?
13.线程活动状态?
14.sleep0方法
15.如何优雅的设置睡民时间?
16.停止线程
17.interrupted和isInterrupted
18.yield
19.线程的优先级
20.优先级继承特性
21.谁跑的更快?
22.线程种类
23.守护线程的特点
24.Java中典型的守护线程
25.如何设置守护线程
25Java虚拟机退出时Daemon线程中的finally块一定会执行?
26.设置线程上下文类加载器
27.join
28.什么是synchronized?
29.synchronized包括哪两个jvm重要的指令?
30.synchronized关键字用法?
31.synchronized锁的是什么?
32.Java对象头
还有很多,这里就不一一例举了
JVM
1JDK. JRE、 JVM关系?
2.启动程序如何查看加载了哪些类,以及加载顺序? '
3. class字节码文件10个主要组成部分?
4.画一下jvm内存结构图?
5.程序计数器
6Java虚拟机栈
7.本地方法栈
8Java堆
9.方法区
10.运行时常量池?
11.什么时候抛出StackOverflowError?
12.Java7和Java8在内存模型上有什么区别?
13.程序员最关注的两个内存区域?
14.直接内存是什么?
15.除了哪个区域外,虚拟机内存其他运行时区域都会发生OutOfMeoryError?
16.什么情况下会出现堆内存溢出?
17如何实现一个堆内存溢出?
18.空间什么情况下会抛出OutOfMemoryError?
19.如何实现StrackOverflowError?
20.如何设置直接内存容量?
21.Java堆内存组成?
22. Edem : from : to默认比例是?
23.垃圾标记阶段?
24.引用计数法?
25.根搜索算法?
26.JVM中三种常见的垃圾收集算法?
27.标记-清除算法?
28.复制算法?
29.标记-整理算法?
30.分代收集算法?
31.垃圾收集器?
32.Stop The World?
Mysql
1.什么是数据库?
2.如何查看某个操作的语法?
3.MySql的存储弓擎有哪些?
4.常用的2种存储引擎?
6.可以针对表设置引擎吗?如何设置?
6.选择合适的存储引擎?
7.选择合适的数据类型
8.char & varchar
9.Mysq|字符集
10.如何选择字符集?
11.什么是索引?
12.索引设计原则?
13.MySq|有哪些索引?
14.Hash索引和B+树索引的底层实现原理:
15.非聚簇索引-定会回表查询吗?
16.如何查询最后一 行记录?
17.MySQL自增id不连续问题?
18.sq注入问题?
19.什么是3NF (范式) ?
20. NULL和空串判断?
21.什么是事务?
22.事务4个特性?
23.事务隔离级别分别是?
24.InnoDB默认事务隔离级别?如何查看当前隔离级别
25.什么是锁?
26.死锁?
27.如何处理死锁?
28.如何创建用户?授权?
29.如何查看表结构?
30.Mysq删除表的几种方式?区别?
31.like走索引吗?
Spring
1.Spring框架?
2.Spring的整体架构?
3.Spring可以做什么?
4.Spring的优点?缺点?
5.你能说几个Spring5的新特性吗?
6.IOC?
7.什么是依赖注入?
8.IOC注入哪几种方式?
9.10C优点?缺点?
10.bean的生命周期?
11.Spring有几种配置方式?
12.Spring中的bean有几种scope?
13.什么是AOP(面向切面编程)?
14.切面有几种类型的通知?分别是?
15.什么是连接点(Join point)?
16.什么是切点(Pointcut)?
17.什么是切面(Aspect)?
18.织入(Weaving)?
19.引入(Introduction) ?
20.在目标对象的生命周期里有多个点可以进行织入?
21.AOP动态代理策略?
22.什么是MVC框架?
23.什么是SpringMVC?
24.SpringMVC的核心?
25.SpringMVC的几个组件?
26.SpringMVC工作流程?
27.SpringMVC的优点?
28.单例bean是线程安全的吗?
29.Spring从哪两个角度实现自动装配?
30.自动装配有几种方式?分别是?
31.说几个声明Bean的注解?
Mybatis
1.什么是Mybatis?
2.Hibernate优点?
3.Hibernate缺点?
4.Mybatis优点?
5.Mybatis缺点?
6.什么时候用Mybatis?
7.Mybatis的核心组件有哪些?分别是?
10.xml映射文件中,有哪些标签?
11.Mybatis支持注解吗?优点?缺点?
12.Mybatis动态sq|?
13.Mybatis是如何进行分页的分页播件的原理是什么?
14.,如何获取自增主键?
15.为什么Mapper接口没有实现类,却能被正常调用?
16.用注解好还是xml好?
17.如果不想手动指定别名,如何用驼峰的形式自动映射?
18.当实体属性名和表中字段不一致,怎么办?
19.嵌套查询用什么标签?
20.like模糊查询怎么写?
21.Mybatis支持枚举吗?
22.SqlSessionFactoryBuilder生命周期?
23.-级缓存的结构?如何开启一级缓存? 如何不使用一-级缓存?
24.二级缓存如何配置?
25.简述Mybatis的插件运行原理,以及如何编写-个插件?
26.二级缓存的回收策略有哪些?
27.Mybatis的Xml文件中id可以重复吗?
28.和Mybatis措配java框架中比较好用的缓存框架?有哪些特点?
Redis
1.Redis是什么?
2.Redis特性?
3.Redis合适的应用场景?
4.除了Redis你还知道哪些NoSQL数据库?
5.Redis和Memcache区别?
6.Redis的有几种数据类型?
7.Redis有哪些高级功能?
8.安装过Redis吗,简单说下步骤?
9.redis几个比较主要的可执行文件?分别是?
10.启动Redis的几种方式?
11.Redis配置需要自己写?如何配置?
12.Redis客户端命令执行的方式?
13.如何停止redis服务?
14.如何查看当前键是否存在?
15.如何删除数据?
16.redis为什么快?单线程?
17.字符串最大不能超过多少?
18.redis默认分多少个数据库?
19.redis持久化的几种方式?
20.RDB持久化?
21.RDB的持久化是如何触发的?
22.RDB的优点?
23.RDB的缺点?
24.如何禁用持久化?
25.AOF持久化?
26.如何查询AOF是否开启?
27如何开启AOF?
28.AOF工作流程?
29.为什么AOF要先把命令追加到缓存区(aof _buf)中?
30.AOF持久化如何触发的?
31.AOF优点?
32.AOF缺点?
SpringBoot
1.什么是SpringBoot?
2.SpringBoot的特征?
3.如何快速构建一个SpringBoot项目?
4.SpringBoot启动类注解?它是由哪些注解组成?
5.什么是yaml?
6.SpringBoot支持配置文件的格式?
7.SpringBoot启动方式?
8.SpringBoot需要独立的容器运行?
9.SpringBoot配置途径?
10.application.properties和application.yml文件可放位置?优先级?
11.SpringBoot自动配置原理?
12.SpringBoot热部署方式?
13.bootstrap.yml和application.yml?
14.SpringBoot如何修改端口号?
15.开启SpringBoot特性的几种方式?
16.SpringBoot如何兼容Spring项目?
17.SpringBoot配置监控?
18.获得Bean装配报告信息访问哪个端点?
19.关闭应用程序访问哪个端点?
20.查看发布应用信息访问哪个端点?
21.针对请求访问的几个组合注解?
22.SpringBoot中的starter?
23.SpringBoot集成Mybatis?
24.什么是SpringProfiles?
25.不同的环境的配置文件?
26.如何激活某个环境的配置?
27编写测试用例的注解?
28.SpringBoot异常处理相关注解?
29.SpringBoot 1.x和2.x区别....
30.SpringBoot读取配置相关注解有?
SpringCloud
1.什么是SpringCloud?
2.什么是微服务?
3.SpringCloud有哪些特征?
4.SpringCloud核心组件?
5.SpringCloud基于什么协议?
6.SpringCloud和Dubbo区别?
7.Eureka是什么?
8.服务治理的基础角色?
9.什么是服务续约?
10.什么是服务下线?
11.什么是失效剔除?
12.什么是自我保护机制?
13.Ribbon是什么?
14.Ribbon负载均衡的注解是?
15.Ribbon负载均衡策略有哪些?
16.什么是服务熔断?
17.什么是服务降级?
18.什么是Hystrix?
19.断路器Hystrix的有哪些功能?
20.Hystrix将远程调用封装到?
21.启动熔断降级服务的注解?
22.什么是Feign?
23.Feign优点?
24.什么是Config?
23..Feign优点?
25.Config组件中的两个角色?
26.什么是Zuul?
27.使用Zuul的优点?
28.Zuul的核心是?
29.Zuul有几种过滤器类型?分别是?
30.什么是Sleuth?
31.Sleuth帮助我们做了哪些工作?
Kafka
1.什么是kafka?
2.kafka的3个关键功能?
3.kafka通常用于两大类应用?
4.kafka特性?
5.kafka的5个核心Api?
6.什么是Broker (代理) ?
7.什么是Producer (生产者) ?
8.什么是Consumer (消费者) ?
9.什么是Topic (主题) ?
10.什么是Partition (分区) ?
11.分区和代理节点的关系?
12.什么是副本(Replication)?
13.什么是记录(Record)?
14.kafka适合哪些场景?
15.kafka磁盘选用上?
16.使用RAID的优势?
17.磁盘容量规划需要考虑到几个因素?
18.Broker使用单个?多个文件目录路径参数?
19.-般来说选择哪个参数配置路径?好处?
20.自动创建主题的相关参数是?
21解决kafka消息丢失问题?
22.如何自定分区策略?
23.kafka压缩消息可能发生的地方?
24.kafka消息重复问题?
25.你知道的kafka监控工具?
内容实在太多了,所以只列举了部分题目,关于题目和答案已经整理成了一份——Java面试文档。有需要的小伙伴可以私信【面试】即可!感谢支持!