快手一二面面经
一面(一个小时十分钟)
1. 自我介绍
2.具体聊聊Python和Java的区别
3聊聊Spring,主要IOC等等
4多线程JUC包下的一些常见的类,比如CountDownLatch、Semaphore等
5.锁的概念,锁相关的关键字,volatile,synchronized。还比较了ReentrantLock与synchronized。
6.写一个单例模式,写了双重加锁,然后问有什么改进,说了如果不需要延迟加载的话,可以使用饿汉式的。
7.Spring中涉及的一些设计模式
8.算法题:无序数列中求第k大的数(维护最小堆,然后依次遍历,与堆顶比较)
9.MySQL创建索引的原则,好处
10.算法题:连续最大上升子字符串。(维护下标的方法,节省空间)
二面(四十多分钟)
1. 自我介绍
2. 多态的认识
3. HashMap的底层数据结构
4. 红黑树的具体结构及实现,红黑树与查找树的区别体现
5. 接着聊ConcurrentHashMap,底层实现,
6. HashMap哈希函数的认识,JDK1.8采用的hash函数
7. 数据库索引,索引底层的实现,B+树的结构以及与普通查找树的优点
8. 主键与索引的区别
9. TCP三次握手四次挥手,四次挥手过程中服务端的哪几种状态,哪几种包
10. Linux对文件的基本操作
11.聊聊对操作系统的认识(讲了存储、虚拟内存等,多的也不会)
12.实习时间
视频面试面了两个小时左右,口干舌燥,不知道有没有hr面
#实习#