字节提前批-一面面经-后端开发
面试时间:7.16号下午面试总时长:1个小时
大概内容是这个,问的八股文比较多有的可能没想起来。
1.自我介绍
2.稍微问了问项目里面的一些实现细节?
3.Redis如何实现分布式锁?
4.获取锁的线程宕机了怎么办?
5.Redis的数据类型?
6.Redis中sort set如何实现?
7.Redis为什么速度快?(只说了是在内存中,面试官说还有就是redis不需要锁)
8.MySQL的InnoDB索引的数据结构?
9.MySQL有什么锁?
10.说一下脏读和幻读?
11.MySQL如何防止发生幻读?
12.介绍一下GC
13.新生代中为什么有两个Survivor区?
14.类加载流程
15.双亲委派机制
16.僵尸进程和孤儿进程是什么区别?(不会)
17.说一下HashMap实现原理?
18.为什么链表长度为8要转化为红黑树?(不会)
19.扩容因子默认为什么是0.75?
20.说一下CurrentMap如何实现线程安全的?
21.什么是CAS?
22.synchronized是可重入锁么?
还有一些想不起来了,都是一些老八股文了。下面开始问算法。
1.一共有1000个小球分别装入10个盒子中,每个盒子可以放任意个小球。然后一个人需要1-1000任意的个数的小球,但是他只能拿1个或者多个盒子,请问每个盒子中应该放多少个小球才能满足要求?(这个只是手算了一下每个放多少,说了一下,并没有然写具体代码)
2.一个链表右移k位,返回移动后的链表。(这个让代码实现了)