我从不相信一份笔试题可以定位一个人的真实水平,但是过于纠结就没有必要了,工作嘛,总得合适才好。
1、写出线程安全的单例模式。(对不起,网上查资料的时候才发现重点在《单例》,做题时还在想怎么又是线程的问题。下面放线程安全的懒汉模式:)
public class Singleton {
private static Singleton instance;
private Singleton (){}
public static synchronized Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
一篇写的很好的文章,不再赘述:
https://www.runoob.com/design-pattern/singleton-pattern.html
2、spring中bean的生命周期,以及作用域。(网上查资料,发现这道题被问的挺多的,看来面试还是要准备齐全的,虽然平时基本不用,但是为了薪资!)
生命周期:
1、实例化
2、IOC依赖注入
3、setBeanName实现
4、BeanFactoryAware实现
5、ApplicationContextAware实现
6、postProcessBeforeInitialization接口实现-初始化预处理
7、init-method
8、postProcessAfterInitialization
9、Destroy过期自动清理阶段
10、destroy-method自动配置清理
作用域:
1、singleton:单例模式(多线程下不安全)
2、prototype:原型模式每次使用时创建
3、Request:一次request一个实例
4、session
5、global Session
以上是没有答好的问题,详细记录。
3、什么是事务?事务的隔离级别
4、什么是进程?什么是线程?有什么区别?
5、同步锁有哪些?
6、voliate和syncronized关键字有什么区别?
7、队列和栈的区别?各自用在哪里,举例说明。
8、JVM中的内存模型。
9、写出一种快速排序算法
10、设计一种秒杀系统架构