前两天找了个老大哥给快手内推了一下 很快就收到了快手HR的电话面试安排
一面:
自我介绍
项目介绍
打开url的过程
http和tcp的区别
tcp和udp的区别
https过程
redis为什么快
redis持久化过程
redis用了那些持久化
CAS底层实现
你在什么时候使用过CAS
AQS讲一下
集合都用那些 hashmap底层实现
事务隔离级别
索引为什么使用B+树
三个单例模式 懒汉(线程安全线程不安全)+双检索
反转链表
合并区间
当时http问题都问的挺深的(问了我好多http的问题 我不太记得了就记得一些) 但是太深的我也没答上来 我主要是代码写得特别快 没出什么问题
当时五十分钟一面之后就直接通知我二面了
二面:
自我介绍项目介绍
集合介绍
hashmap底层实现
hashmap扩容过程
hashmap扩容为什么是2倍不是3倍
红黑树的特征
为什么使用红黑树
什么时候转成红黑树
什么时候红黑树转成链表
为什么在8的时候转红黑树
8的意义是什么是hash冲突还是桶的个数
concurrenthashmap底层实现
concurrenthashmap是如何保证线程安全的
几乎hashmap所有能问的都问了一遍,。。可能我记得不全。。但是肯定比这个多。
然后说好 那我们写个hashmap吧。
来得太突然。。我当时快哭了。。 还好写上来了
写了get put rehash expand 还有一些细节都谢了 然后出了点问题
讨论了好久
然后告诉我让我跟hr约接下来的事情
HR:
问了我一下为什么选择快手
平常使用快手吗
然后还有就是 在外企和互联网公司是如何选择的
为什么这么选择
什么时候上班之类的
优点缺点 还有一些我忘了
后来给我发微信说要加面 leader
三面:
本来跟我说没有三面了后来又加了一个leader面试
写了一个很简单的算法 我当时先说了一下两种思路
有一个hashmapAPI用的不熟 本来想用没写的太好
但是他说他理解我的意思了
然后问了我一下疫情的事情
问我缺点是什么
问我如何判别效率和代码简洁性
然后问了我两个东西这两个用起来那个cpu运行得更快
我真的不知道。。 但是这俩我老用 就是没看过源码不知道 快慢是怎么判断的
反正三面的leader特别好 一直在引导我 耐心的指点我
还跟我说了一些很有用的学习上的建议
然后我就通过了 拿到了口头offer现在在等 offer
总的来说 我是幸运的
全部评论
(21) 回帖