阿里CTO Java后端一面面经
一面8.17
编程:
- 快排
- 二叉树遍历
- 生产者消费者模型,BlockingQueue
- 单例模式
Java:
JDK哪里用到什么设计模式:迭代器模式、代理模式、
类加载机制:
1、加载(Load)
读取类文件产生二进制流,并转化为特定的数据结构,初步 校验cafe babe魔法数、常量池、文件长度、是否有父类等,然后创建对应类的Java.lang.Class实例。
2、链接(Link)
(1)验证
验证是更详细的校验,比如fnal是否合规、类型是否正确、静态变量是否合理等:
(2)准备
准备阶段是为静态变量分配内存,并设定默认值,
(3)解析
解析类和方法确保类与类之间的相互引用正确性,完成内存结构布局。
3、初始化
Init 阶段执行类构造器<clinit> 方法,如果赋值运算是通过其他类的静态方法来完成的,那么会马上解析另外一个类, 在虚拟机栈中执行完毕后通过这回值进行赋值。
双亲委派:如果一个类加载器收到类加载请求,会首先把加载请求委派给父类加载器完成,每个层次的类加载器都是这样,最终所有的加载请求都传动到最根的启动类加载器来完成,如果父类加载器无法完成该加载请求(即自己加载的范围内找不到该类),子类加载器才会尝试自己加载
泛型原理
线程池任务拒绝策略
Java IO用到了什么设计模式:
- 适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。
- 装饰者模式:动态地将责任附加到对象上,若要扩展功能,装饰者模提供了比继承更有弹性的替代方案。
Springboot
隔离级别
事务注解失效
filter intercepter区别,用到什么设计模式:责任链模式
servelet spring生命周期
bean的生命周期
mybatis事务
Redis
- 底层数据结构
计算机网络
- socket是属于什么层的
- http状态码
项目
#阿里面试##面经##校招##阿里巴巴##Java工程师#