快手高级Java四轮面试题:设计模式+红黑树+Java锁+Redis等
快手Java一面(一個小時十分鐘)
1.自我介紹
2.說說B+樹和B樹的區別,優缺點等?
3聊聊Spring,主要IOC等等
4多線程JUC包下的一些常見的類,比如CountDownLatch、Semaphore等
5.鎖的概念,鎖相關的關鍵字,volatile,synchronized。還比較了ReentrantLock與synchronized。
6.你了解哪些收集器?CMS和G1。詳細談談G1的優點?什么時候進行Full GC呢?
7.Spring中涉及的一些設計模式
8.算法題:無序數列中求第k大的數(維護最小堆,然后依次遍歷,與堆頂比較)
9.MySQL創建索引的原則,好處
10. 怎么實現一個線程安全的計數器?
快速java二面(四十多分鐘)
1. 設計模式:講了單例,工廠方法,抽象工廠,策略模式,觀察者模式,代理模式,還順便講了下spring動態代理的實現原理
2. 線程池有哪些參數?分別有什么用?如果任務數超過的核心線程數,會發生什么?阻塞隊列大小是多少?
3. HashMap的底層數據結構
4. 紅黑樹的具體結構及實現,紅黑樹與查找樹的區別體現
5. 接著聊ConcurrentHashMap,底層實現
6. HashMap哈希函數的認識,JDK1.8采用的hash函數
7. 數據庫索引,索引底層的實現,B+樹的結構以及與普通查找樹的優點
9. TCP三次握手四次揮手,四次揮手過程中服務端的哪幾種狀態,哪幾種包
10. 已經有一個查詢好友的接口,設計一個微信朋友圈,可以實現發表朋友圈,添加評論,查看評論等功能。主要是設計數據結構
快手Java三面(50分鐘:主要分布式這塊)
快手JavaHR面:
常規的面試流程了,主要就是自己優缺點,以及未來的職業發展,以及薪資這塊。
你可能也喜歡:
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的快手高级Java四轮面试题:设计模式+红黑树+Java锁+Redis等的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android组件化方案及组件消息总线m
- 下一篇: 天猫研发Java团队(4面全题目):并发