当前位置: 首页 > 面试经验 >

快手Java一面(1h20min)

优质
小牛编辑
80浏览
2023-08-21

快手Java一面(1h20min)

1.项目
2.给Integer最大值+1,是什么结果(溢出)
3ArrayList和LinkedList区别
4.HashMap和TreeMap区别
5.HashMap存放元素流程
6.为什么HashMap采用红黑树?
7.HashCode和equals方法关系?两个对象的equals相等hashcode不相等会发生什么?
8.面向对象和面向过程的区别?
9.多态?
10.StringBuilder和StringBuffer区别?如何保证安全?(链式调用)
11.有个int的变量为0,十个线程轮流对其进行++操作(循环10000次),结果是大于小于还是等于10万,为什么?
12.线程有哪些状态?
13.调用wait()方法时是哪个状态,sleep和wait区别?
14.锁升级的过程?
15.Lock了解吗?Lock.lock()的具体实现逻辑?
16.线程安全的Map?ConcurrentHashMap如何实现的?为什么要分段?加一个锁不就可以了吗?(缩小锁的粒度,不知道对不对)
17.JVM了解吗?内存回收机制说一下?
18.做可达性分析的时候,应该有哪些前置性的操作?
19.MySQL的InnoDB特点?为什么用B+树?而不是B树,区别?
20.什么样的字段适合加索引?什么不适合?
21.表字段id(主键)age name
select name,age from 表 where name like(A%) and age =30会不会走索引?22.事务隔离级别?MVCC机制介绍下?(版本链)版本链通过什么控制
算法:
1.字符串abc进行全排列
2.长度不同的链表节点如何实现尾端对其并相加
反问:面试评价
#快手##快手Java面经#
 类似资料: