一面
1、Spring 原理、Spring IOC、AOP
说一下Bean 如何加载、如何初始化以及如何注册到IOC容器中的详细过程, 涉及BeanDefinition、BeanFactory也深入细节聊一下。
2、一个请求过来在Spring中发生了哪些事情?
这个问题不妨把一个请求过来在TCP层面上建立连接、操作系统如何处理连接、Web容器接收到连接对象后做了哪些事情、Spring 如何对接收到的请求进行处理都说一下,当然最终还是落在Spring 容器内部如何处理一个请求,这个过程一定要说清楚,需要体现细节。
3、手写一个栈,实现 push,pop方法,以及 max(获取最大的元素) 方法,要求时间复杂度为 O(1)
4、JVM内存结构
需要你能画出JVM内存结构的图,画出方法区、堆、程序计算器、虚拟机栈、本地方法栈,并说出每一个部分具体是什么作用,比如,哪些是线程共享的,哪些是线程独享的,哪些地方存放了什么数据,为什么会这样存放,哪些虚拟机参数对这些空间大小是有影响的,可以如何配置。这些都比较常规。
5、手写一个基于懒汉式的双重检测的单例。
(1)单例有三个比较关键的点,一是私有构造方法,避免外部new出对象;二是保证唯一性;三是提供一个全局访问点。
(2)另外,懒汉式双重检测的实现方式 有三点需要注意的地方,一是全局访问点必须是静态的,