【长园深瑞继保面试题整理】

[1]. 抽象类和接口的区别

接口体现的是一种规范,适用于定义类的能力或功能;抽象类体现的是一种模板式设计,适用于有明显继承关系的场景。

实现接口的关键字为implements,继承抽象类的关键字为extends。

接口只有方法的定义不能有方法的实现,抽象类可以有定义与实现。

一个类可以实现多个接口,但只能继承一个抽象类。

接口只能包含常量,抽象类可以包含实例变量和静态变量。

[2]. Redis缓存击穿以及解决方案

缓存中的某个热点数据过期了,此时大量的请求访问该热点数据,自然无法从缓存中读取,于是直接访问数据库,但数据库很容易被高并发的请求冲垮,从而引起的问题就是缓存击穿。

解决缓存击穿的方案:

  • 将热点数据设置为永不过期。
  • 对数据的访问加互斥锁。

[3]. 重写和重载的区别

方法的重写和重载都是实现多态的方式,重写实现的是运行时多态,重载实现的是编译时多态。

重写是子类重新定义父类中的方法,重载是在同一个类中定义多个同名的方法。

重写的方法名,参数列表必须相同;重载的方法名相同但参数列表(参数个数,顺序,类型)不同。

重写的子类返回值类型、抛出的异常范围小于等于父类、访问修饰符大于等于父类,重载与返回值类型、访问修饰符无关。

[4]. 什么是依赖注入

依赖注入(Dependency Injection)是指类之间的依赖关系由容器来负责。比如说a依赖b,但a不创建(或销毁)b,仅使用b,b的创建(或销毁)交给容器。

[5]. 设计模式-单例模式

单例模式是一种创建型设计模式,它限制了一个类只能实例化一个对象,并提供一个全局访问点以供其他对象使用。

Windows系统的任务管理器和回收站都是典型的单例模式的应用。

[6]. 事务的四种隔离级别

读未提交(read uncommitted):一个事务还没提交时,它做的变更就能被其他事务看到;

读已提交(read committed):指一个事务提交之后,它做的变更才能被其他事务看到;

可重复读(repeatable read):指一个事务执行过程中看到的数据,一直跟这个事务启动时看到的数据是一致的;

可串行化(serializable):对记录加上读写锁,在多个事务对这条记录进行读写操作时,如果发生了读写冲突,后访问的事务必须等前一个事务执行完成,才能继续执行;

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值