背景介绍:非科班(机械),项目是管理系统,本科211,硕士985。
非常感谢快手给的面试机会,面试过程很有收获。
一面:总体感受,快手还是问的很深入,问到不会为止,我学的时间短,学的比较浅,所以很多深入的问题都不会。
二面:问的比一面还深入,算是压力面吧,基本都不会,全程懵逼。
5月13日7:50-9:05
加粗部分是我不会的。
0面试官介绍
自我介绍
1 jre和jdk的区别
2讲讲java类加载
3类加载器
4说一说知道哪些集合
5 ArrayList和LinkedList
6插入元素时间复杂度
7新建一个ArrayList会分配内存嘛
8 ArrayList扩容的时机
9 ArrayList什么时候缩容
10 LinkedList<Integer>插入int
11谁实现int装包的,是List吗
12 ArrayList线程安全吗,说说你知道的线程安全的List
13 Collections.同步方法和copyonwriteArrayList的异同点
14 copyonwriteArrayList,咋实现线程安全的。
15 copyonwriteArrayList的加锁时机
16 copyonwriteArrayList写的时候读会读到空数据吗
17线程如何创建
18继承Thread和实现Runnable接口的区别,这两者的继承关系
19线程池的参数有哪些,挑重要的解释一下
20线程池怎么保证线程一直运行的
21单线程线程池的应用场景
22怎么保证线程安全
23说说volatile
24 volatile为什么不保证原子性
25 volatile和final的共同点
26 synchronized可重入吗,怎么实现的
27 synchronized怎么实现线程安全的。
28锁升级的过程
29说说自旋锁咋实现的
30读写锁咋实现的
31说说CLH
32 redis你咋用的
33 redis的淘汰策略
34定期删除咋实现的
35 redis中lru咋实现的
36 redis内存满了会怎么样
37 MySQL用的是什么引擎,索引是啥
38 B+树和B树的区别
39 B+树数据太多了会怎么样
40 B+树聚簇索引和非聚簇索引
算法题
5月18日7:30-8:10 二面
0 自我介绍
1 先说一下项目。
2 Springaop怎么实现的
3 Cglib和jdk的动态代理哪个快,原理是什么。
4 OOM问题怎么定位。
5 线上的OOM问题怎么定位。
6 死锁怎么定位。
7 jstack原理
8 Mysql回表
9 回表的过程,磁盘读几次,跟数据在内存中比哪个快。
10 Redis zset的数据结构
11 跳表怎么实现的
12 插入数据时间复杂度
13 Redis删除一个记录怎么实现的
14 定期删除怎么实现的,是开启一个新进程还是停止工作去删除。
反问:
全部评论
(22) 回帖