他来了他来了,他带着面经走来了!你们好,我是小菜,一个渴望在互联网行业作到蔡不菜的小菜。可柔可刚,点赞则柔,白嫖则刚!
死鬼~看完记得给我来个三连哦!前端
本文主要介绍
面试中高频出现的问题
若有须要,能够参考
若有帮助,不忘点赞 ❥
创做不易,白嫖无义!java
1)面向对象的特性有哪些
web
1.
强耦合,父类变子类也得变 2.
破坏了封装性,实现细节对于子类都是透明的。1.
继承 2.
重写 3.
向上转型 好处: 能够屏蔽不一样子类对象之间的实现差别。2)Java中的覆盖和重载
面试
1.
只能比父类抛出更少的异常 2.
访问权限不能比父类的小 3.
被覆盖的方法不能是private 的。1.
参数类型不一样 2.
参数个数不一样 3.
参数顺序不一样. 注意: 函数的返回值不一样不能构成重载3)抽象类和接口的区别
正则表达式
出发角度 | 抽象类 | 接口 |
---|---|---|
默认的实现方法 | 有默认的方法实现 | 所有都是抽象的,不存在方法的实现 |
构造器 | 能够有构造器 | 不能有构造器 |
访问修饰符 | 能够有public、protected和default这些修饰符 | 默认是public,不可使用其余修饰符 |
继承方式 | 能够继承一个类和实现多个接口 | 能够继承一个或多个接口 |
添加新方法 | 能够提供默认的实现,而不须要修改原有的代码 | 添加方法后,必须修改实现该接口类中的方法 |
4)Java 和 C++ 的区别
spring
5)Java 是值传递仍是引用传递
Java内都是值传递编程
6)JDK、JRE、JVM
设计模式
7)Integer
数组
8)String
9)Java 有没有 goto
goto 是 Java 中的保留字,在目前版本的 Java 中没有使用。10)final 的做用
缓存
11)final、finally和finalize的区别
12)Throwable
Throwable 是Java语言中全部错误与异常的超类。包含两个子类:
Error(错误)
Exception(异常)
运行时异常
编译时异常
13)常见的运行时异常
14)try-catch-finally中哪一个部分能够省略
catch能够省略
集合这方面能够问的实在太多了,这一块可要好好把握住!
1)集合的种类
2)List 和 Set 的区别
扩展:
HashSet的底层实现
3)Array 和 ArrayList 的区别
4)HashMap 和 HashTable的区别
扩展:
何为fail-fast
5)聊聊HashMap
6)HashMap扩容是怎样扩容的
当HashMap中的元素个数超过数组大小(数组总大小length,不是数组中个数size)*loadFactor时,就会进行数组扩容,loadFactor的默认值为0.75.HashMap不是无限扩容的,当达到了实现预约的MAXIMUM_CAPACITY,就再也不进行扩容。
7)HashMap 的长度为何都是2的N次幂的大小
8)HashMap存在线程安全问题,那是怎么处理这种状况的?
出于线程并发度的考虑,通常会选择ConcurrentHashMap,他的性能和效率都明显高于前二者
9)ConcurrentHashMap
10)迭代器 Iterator
Iterator 接口提供遍历任何 Collection 的接口。咱们能够从一个 Collection 中使用迭代器方法来获取迭代器实例。迭代器取代了 Java 集合框架中的 Enumeration,迭代器容许调用者在迭代过程当中移除元素。11)Iterator 和 ListIterator 的区别
12)实现数组和 List 之间的转换
13)ArrayList 和 LinkedList 的区别
14)ArrayList 和 Vector的区别
15)hashCode()与equals()的相关规定
16)极高并发下HashTable和ConcurrentHashMap哪一个性能更好,为何
17)HashMap在高并发下若是没有处理线程安全会有怎样的安全隐患
18)BlockingQueue是什么
BlockingQueue是JUC包下的,是一个阻塞队列,在进行检索或移除一个元素的时候,它会等待队列变为非空;当在添加一个元素时,它会等待队列中的可用空间。BlockingQueue接口是Java集合框架的一部分,主要用于实现生产者-消费者模式。咱们不须要担忧等待生产者有可用的空间,或消费者有可用的对象,由于它都在BlockingQueue的实现类中被处理了。Java提供了集中BlockingQueue的实现,好比ArrayBlockingQueue、LinkedBlockingQueue、PriorityBlockingQueue、SynchronousQueue等。
19)ArrayList在循环过程当中删除,会不会出问题,为何。
会出现问题。由于删除是利用复制和移动的方式,若是集合的值为{"11","22","22"},要删除22的话结果为{"11","22"},第三个22就会前移,这样能循环过程当中,就访问不到第三个22。解决:
1)什么是Spring
2)Spring的优缺点
优势:
缺点:
3)Spring的核心模块
4)什么是Spring配置文件
Spring配置文件是XML 文件。该文件主要包含类信息,它描述了这些类是如何配置以及相互引入的。可是XML配置文件冗长且更加干净,若是没有正确规划和编写,那么在大项目中管理会变得很是困难。
5)Spring框架中用到的设计模式
6)IOC是什么
IOC(控制反转),它把传统上由程序代码直接操控的对象的调用权交给容器,经过容器来实现对象组件的装配和管理。所谓“控制反转”概念就是对组件对象控制权的转移,从程序代码自己转移到了外部容器。Spring IOC负责建立对象,管理对象(经过依赖注入(DI)装配对象,配置对象,而且管理这些对象的整个生命周期)
7)IOC的优势
8)动态代理的两种方式以及区别
jdk动态代理的方式建立代理对象效率较高,执行效率较低,cglib建立效率较低,执行效率高
9)能够经过多少种方法完成依赖注入
构造函数注入 | setter注入 |
---|---|
没有部分注入 | 有部分注入 |
不会覆盖setter属性 | 会覆盖setter属性 |
任意修改都会建立一个新实例 | 任意修改不会建立一个新实例 |
适用于设置不少属性 | 适用于设置少许属性 |
10)BeanFactory 和 ApplicationContext 的区别
BEANFactory | ApplicationContext |
---|---|
懒加载 | 即时加载 |
不支持国际化 | 支持国际化 |
不支持基于依赖的注解 | 支持基于依赖的注解 |
11)ApplicationContext一般的实现是什么
12)Spring 支持的做用域
13)spring 自动装配 bean 有哪些方式
14)怎样开启注解装配
在Spring配置文件中配置 <context:annotation-config/>
元素
15)@Autowired 和 @Resource 的区别
16)spring 事务实现方式有哪些
17)Spring的事务传播行为
18)spring 的事务隔离
脏读:
表示一个事务可以读取另外一个事务中还未提交的数据,好比:某个事务尝试插入记录A,此时该事务还未提交,而后另外一个事务尝试读取到了记录A不可重复读:
是指一个事务内,屡次读同一个数据,可是读出来的结果是不同的幻读:
指同一个事务内屡次查询返回的结果集不同,好比:另一个事务新增或删除第一个事务结果集里面的数据,同一个记录的数据内容别修改了,全部数据行的记录就变多或者变少了。
不可重复读通常是在修改数据的状况下,幻读通常是新增或者删除的状况下
19)Spring AOP and AspectJ AOP 有什么区别
20)Spring AOP里面的几个名词
21)Spring通知有哪些类型
22)spring bean 容器的生命周期是什么样的
23) DispatcherServlet 的工做流程
本文较长,覆盖范围较广,但深度不深,所以先纵览斩offer,再融会而贯通
今天的你多努力一点,明天的你就能少说一句求人的话!好久好久以前,有个传说,听说:
看完不赞,都是坏蛋