- 博客(0)
- 资源 (6)
- 收藏
- 关注
高级开发spring面试题和答案.pdf
面试高级开发的期间整理的面试题目,记录我面试遇到过的spring题目以及答案
目录
spring
ThreadLocal的底层对象;
为什么@Service和@Repository放到实现类上面而不是接口类上面;
spring 三种注入(就是从spring容器中将bean放入对象属性值中)
Spring下描述依赖关系@Resource, @Autowired和@Inject的区别与联系
Spring中BeanFactory和ApplicationContext的区别
谈谈Spring IOC的理解,原理与实现?
bean的生命周期,详细看上面
SpringBoot自动装配的过程的原理:
spring的缓存;
spring是如何解决的循环依赖;
BeanFactory和FactoryBean有什么区别;
Spring中用到的设计模式;
SPI 机制(Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制), 很多地方有用到:
AOP
Spring的AOP的底层实现原理;
为什么jdk动态代理是必须是接口
两种动态代理的区别
AOP实现方式:aop注解或者xml配置;后来工具jar包aspects;
aop的属性
事务
事务编码方式:
事务注意事项;
为什么同一个类A调用b方法事务,A方法一定要有事务(编码式的不用)
@transaction多个数据源事务怎么指定数据源
传播特性有几种?7种;
某一个事务嵌套另一个事务的时候怎么办?
REQUIRED_NEW和REQUIRED区别
Spring的事务是如何回滚的,实现原理;
抽象类和接口的区别,什么时候用抽象类什么时候用接口;
StringBuilder和StringBuffer的区别
java值传递和引用传递
2021-11-26
高级开发并发面试题和答案.pdf
面试高级开发的期间整理的面试题目,记录我面试遇到过的并发题目以及答案
目录
并发
常说的并发问题是哪些;资源竞争、死锁、事务、可见性
死锁
如何排查死锁;
产生死锁的必要条件:
如何解决解决死锁;
锁
AQS:实现锁的最核心框架,abstractqueueSynchronizer抽象队列同步器
synchronized
synchronized的底层实现
为什么重量级锁也叫互斥锁;
互斥锁(重量级锁)也称为阻塞同步、悲观锁;
为什么说重量级锁开销大呢;
synchronize实现基础syn为什么一定有可重入特性;
synchronized 实现可重入性;
reenlock和synchronize区别;
ReentrantLock如何实现可重入性
volatile作用;
wait 与 sleep 的有什么不同?回答的要点四个:
Thread.sleep()和LockSupport.park()的区别
Object.wait()和LockSupport.park()的区别
线程和线程池
线程池的五种状态
线程池类型
线程池原理
线程池构造函数参数;
线程池的4种拒绝策略;
线程池中任务结束后会不会回收线程;
线程有哪几种创建方式;
Semaphore+CountDownLatch+CyclicBarrier区别;
描述一下Java线程的生命周期,线程状态;
线程之间的通信方式;
描述一下notify和notifyAll区别;
synchronized关键字加在静态方法和实例方法的区别;
用锁的注意点;
cas机制可能导致的问题ABA,什么是ABA;
程序开多少线程合适;
实现一下DCL(双重检查锁)
stream 和 parallelStream区别;
实现一个阻塞队列(用Condition写生产者与消费者就)?BlockingQueue
2021-11-26
高级开发jvm面试题和答案.pdf
面试高级开发的期间整理的面试题目,记录我面试遇到过的jvm题目以及答案,比较常见的虚拟机面试题目
虚拟机内存
jvm
jvm内存结构;
栈的顺序:先进后出,栈中方法的顺序
jvm调优;
对象
对象的创建过程;
对象在内存中的存储布局;
对象头markword具体有什么:
对象的怎么定位,怎么通过引用找到他,有两个方法;
对象分配内存空间过程;
对象的浅克隆和深克隆;
类加载
类加载过程(类加载从磁盘上将字节码文件(.class文件)中的内容读入虚拟机,并保存起来)
类加载特性 ;
类加载的时机:
三种类加载器:
双亲委派机制概念;
怎么解决双亲委派机制;
垃圾回收gc
gc的标记方法;
java对象的三种状态
gc算法;
gc种类:
简述一下内存溢出的原因,如何排查线上问题? 内存溢出的原因
引用在gc中回收状况
为什么gc停止所有进程;
有几种垃圾回收器;
描述一下CMS和G1的异同;
2021-11-26
27道高级开发数据库面试题目以及答案.pdf
面试高级开发的期间整理的面试题目,记录我面试遇到过的数据库题目以及答案,比如说mvvc还有数据库调优,索引。
目录如下
数据库
数据库事务隔离级别;
事务的并发导致的问题;
数据库事务设置不同的隔离级别会导致的不同并发问题
当前读和快照读的意义;
mvcc:多版本控制: 指的是一种提高并发的技术,其解决问题是什么;
MVCC实现过程;
mvcc三大组件;
RC、RR级别下的InnoDB快照读有什么不同:17 mysql面试题01.vep
描述一下mysql的乐观锁和悲观锁,以及mysql锁的种类;
mysql如何做分库分表的;
mysql描述一下mysql主从复制的机制的原理;mysql主从复制主要有几种模式
在mysql开启Binlog(为了其他非事务引擎复制所以引入binlog,比如说主从)后,如何保证binlog和InnoDB redo日志的一致性呢;
binlog和redo log和区别;
mysql涉及到的log有哪些;
阿里要求尽量少用join,为什么;
索引
索引分类
索引的数据结构;
b树和b+树的区别
索引失效的情况:
数据库优化
查询计划的结果中看哪些关键数据;
mysql 如何调优;
索引是建的越多越好吗;
在表查询中,一律不要使用 * 作为查询的字段列表,原因是什么;
描述一下InnoDB和MyISAM的区别;
当前读和快照读的意义; 13
mvcc:多版本控制: 指的是一种提高并发的技术,其解决问题是什么; 14
MVCC实现过程; 14
mvcc三大组件; 15
RC、RR级别下的InnoDB快照读有什么不同:17 mysql面试题01.vep 17
描述一下mysql的乐观锁和悲观锁,以及mysql锁的种类; 17
mysql如何做分库分表的; 18
mysql描述一下mysql主从复制的机制的原理;mysql主从复制主要有几种模式 19
在mysql开启Binlog(为了其他非事务引擎复制所以引入binlog,比如说主从)后,如何保证binlog和InnoDB redo日志的一致性呢; 20
binlog和redo log和区别; 22
mysql涉及到的log有哪些; 23
阿里要求尽量少用join,为什么; 23
索引 24
索引分类 24
索引的数据结构; 24
b树和b+树的区别 26
索引失效的情况: 26
数据库优化 27
查询计划的结果中看哪些关键数据; 27
mysql 如何调优; 27
索引是建的越多越好吗; 29
在表查询中,一律不要使用 * 作为查询的字段列表,原因是什么; 29
描述一下InnoDB和MyISAM的区别; 29
2021-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人