面试题总结

以下为自己亲历面试题,记下来以便自己复习;

 

1、servlet生命周期

启动→初始化(init())→请求处理(doGet()、doPost())→服务终止(destory())

2、spring特性

ioc:将初始化对象的创建交由框架处理;

aop实现方法:静态代理、动态代理、cglib代理、aspectj

3、集合collection与map

collection集合实现:list、set,queue

list实现:arrayList、linkedList、vector

collection有一个工具类collections

map集合实现:hashmap、hashtable、concurrentHashMap

4、事物的传播、隔离级别

spring声明式事物,transaction。事物依赖于所使用数据库

传播性:required、requires_new

隔离级别:Serializable(未提交时,不能读取数据),repeatable(mysql默认级别),read committed(读取已提交数据、oracle默认级别),read uncommitted

5、微服务框架,经常使用的插件

springcloud、dubbo,springcloud短连接(阻塞IO),dubbo长连接(NIO)。spring cloud alibaba升级特性,使用springcloud生态,同时使用长连接注册。

6、多线程实现方法,线程池

线程生命周期

runnable、callable、thread

ThrealLocal、volatile(轻量级锁)

线程池创建:创建核心线程,等待任务,执行任务,ThreadPoolExecutor.execute(),ThreadPoolExecutor.submit()

锁的级别:无锁、偏向锁、轻量级锁、重量级锁

7、同步锁,重量级别

synchronized,reentrantlock,

reentrantlock.lock(),reentrantlock.unlock(),reentrantlock.trylock(),reentrantlock(true)公平锁

8、mysql数据库索引优化

B+ tree

innodb:行级锁,适用索引,修改多

MyISAM:表级锁,适用索引,修改少,查询居多

innodb、MylSAM索引文件与数据文件存放方式

9、分布式事务

redis分布锁,watch(),unwatch()

异常传递(巧妙利用数据库事务),解决分布式事物

10、中间件redis、mq

redis:缓存,redis锁

mq:rabbitmq、kafka

mq适用目的:异步、削峰

mq信息丢失:生产端处理,mq中间件处理,客户端处理

11、设计模式

单例、普通工厂、静态工厂、动态工厂、外观、静态代理、动态代理(handler、cglib)、命令、适配器、模板、策略、装饰者、观察者、状态

12、<? extend A>与<? super B>

上界限符、下界限符;

保存数据的区别,传递数据的区别

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值