前言
本文档是从阿里面试官整理的Java面试题;包含了Java基础、Java集合容器、Java异常、并发编程、JVM、Spring、Spring MVC、Spring Boot、Spring Cloud、MyBatis、Redis、MySQL数据库、消息中间件MQ与RabbitMQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty、 架构设计&分布式&数据结构与算法等等,都是互联网大厂的面试真题,已经有粉丝靠这份PDF拿下众多大厂的offer。
小编这篇分享篇幅可能有点长,观看的朋友可以先了解一下目录
- JavaOOP面试题——108道
- Java集合/泛型面试题——24道
- Java异常面试题——8道
- Java中的IO与NIO面试题——15道
- Java反射面试题——10道
- Java序列化面试题——10道
- Java注解面试题——2道
- 多线程&并发面试题——108道
- JVM面试题——87道
- Mysql面试题——83道
- Redis面试题——50道
- Memcached面试题——24道
- MongoDB面试题——95道
- String面试题——131道
- Spring Cloud面试题——35道
- RabbitMQ面试题——32道
- Dubbo 面试题——40道
- MyBatis 面试题——28道
- ZooKeeper 面试题——49道
- 数据结构面试题——9道
- 算法面试题——21道
- Elasticsearch 面试题——24道
- Kafka 面试题——25道
- 微服务 面试题——50道
- Linux面试题——48道
Java后端开发面试总结:大家可以扫二维码免费领取
干货分享来了!!!
一、JavaOOP面试题
1、什么是B/S架构?什么是C/S架构
2、Java都有那些开发平台?
3、什么是JDK?什么是JRE?
4、Java语言有哪些特点
5、面向对象和面向过程的区别
6、什么是数据结构?
7、Java的数据结构有那些?
8、什么是OOP?
9、类与对象的关系?
10、Java中有几种数据类型
11、标识符的命名规则。
12、instanceof关键字的作用
13、什么是隐式转换,什么是显式转换
14、Char类型能不能转成int类型?能不能转化成string类型,能不能转成double类型
15、什么是拆装箱?
16、Java中的包装类都是那些?
17、一个java类中包含那些内容?
18、那针对浮点型数据运算出现的误差的问题,你怎么解决?
19、面向对象的特征有哪些方面?
20、访问修饰符 public,private,protected,以及不写(默认) 时的区别?
二、Java集合/泛型面试题
1、ArrayList和linkedList的区别
2、 HashMap和HashTable的区别
3、Collection包结构,与Collections的区别
4、泛型常用特点 (待补充)
5、说说List,Set,Map三者的区别
6、Array与ArrayList有什么不一样?
7、Map有什么特点
8、集合类存放于 Java.util 包中, 主要有几 种接口
9、什么是list接口
10、说说ArrayList(数组)
11、Vector( 数组实现、 线程同步)
12、说说LinkList(链表)
13、什么Set集合
14、HashSet( Hash 表)
15、什么是TreeSet(二叉树)
16、说说LinkHashSet( HashSet+LinkedHashMap)
17、HashMap(数组+链表+红黑树)
18、说说ConcurrentHashMap
19、HashTable(线程安全)
20、TreeMap(可排序)
三、Java异常面试题
1、Java中异常分为哪两种?
编译时异常
运行时异常
2、异常的处理机制有几种?
异常捕捉:try…catch…finally,异常抛出:throws。 public class Box { private T t; public void add(T t) { this.t = t; }public T get() { return t; } }
3、如何自定义一个异常
继承一个异常类,通常是RumtimeException或者Exception
4、try catch fifinally,try里有return,finally还执行么?
执行,并且finally的执行早于try里面的return
结论:
1、不管有木有出现异常,finally块中代码都会执行;
2、当try和catch中有return时,finally仍然会执行;
3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;
4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。