阿里拍卖Java实习一面面经
-
ArrayList 和 LinkedList get add delete 的时候哪一个快
- 每一次新增删除都会进行 System.arrayCopy 吗
- 没扩容的情况下 ArrayList 会做哪些事情
- 线程安全的数组是什么?CopyOnWriteList 使用场景是什么?
-
Map 接口哪些实现类?
- 如果想要按照添加的顺序出来可以用什么
-
HashMap 在 put、get 的时候进行的操作
- 有两个 key 的 hash 值一样,如何 get 到精确地那个 key
- 比较 key 的时候用了什么方法
-
equals 和 hashCode 有什么关系
- equals 重写有什么指导原则
- 为什么要同时重写 equals 和 hashCode
-
并发自己了解过吗
- 一个变量在同时读和写会出现什么异常情况
- ABA 的问题怎么解决
- 如何保证读写的时候能够读到正确的值
-
volatile 如何不保证原子性
- happens-before 原则保证了哪些
-
Lock 锁有用过吗,有哪些实现
- 非公平和公平锁哪个会去尝试 CAS
- 所以公平的会少一次 CAS 是吧?
- 公平锁能保证绝对的公平吗?
-
主线程需要等待十个线程同时完成再进行,怎么办
- CountDownLatch 和 Barrier 的不同
-
JVM 8 的内存的布局
- Java 堆是怎么分的,在系统上是什么位置
- Java 方法区是连续的吗
- Java 方法区可以细分吗
- JDK 8 之后字符串常量池在哪儿
- String s = new String(”1“); 在哪儿分配
- String s = new String(”1“); 创建多少个对象
- 局部变量表里面可以存对象吗
-
平时怎么会用到设计模式
- 为什么用策略模式
- 用枚举类来实现的策略模式有什么问题
- 策略模式和状态机模式有什么区别
- 策略模式和模板方法模式有什么区别
- 有哪些设计模式
-
MySQL 在使用的时候索引设计该怎么设计
-
哪些情况下会回表
- ORDER BY 避免回表
- 如果 ORDER BY 后面不能加索引呢
- 现在有个表,有个 create_time,如果 ORDER BY create_time 需不需要回表
- 线上业务,ORDER BY 不能加索引,可以改变 SQL 语句,如何保证
- 线上业务大表加索引会有什么问题
- 如果没有主键,还会不会有有聚簇索引
- 这个自动建立的主键能去看到吗
-
哪些情况下会回表
-
Spring Bean 的生命周期
- @Autowired 和 @Resource 是如何拿到对应的关系的
- 自己实现一个注解,这个注解可以定义一些属性,属性可以设置到字段里面去
- @Bean 注解是如何实现的
- 整个工厂在初始化好之后在扫描之前干了什么,即对工厂的前置处理了解吗
- 最近在看什么书