1. 程式人生 > >四面快手歸來,分享Java真題及面經:策略模式+紅黑樹+Java鎖+Redis+Kafka等分散式

四面快手歸來,分享Java真題及面經:策略模式+紅黑樹+Java鎖+Redis+Kafka等分散式

看真題,瞭解差距,明確學習方向與目標。
看面經,提前準備,事半功倍。

BAT、頭條、快手面試題目
**

一面(一個小時十分鐘)

**
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建立索引的原則,好處

  1. 怎麼實現一個執行緒安全的計數器?

二面(四十多分鐘)

  1. 設計模式:講了單例,工廠方法,抽象工廠,策略模式,觀察者模式,代理模式,還順便講了下spring動態代理的實現原理

  2. 執行緒池有哪些引數?分別有什麼用?如果任務數超過的核心執行緒數,會發生什麼?阻塞佇列大小是多少?

  3. HashMap的底層資料結構

  4. 紅黑樹的具體結構及實現,紅黑樹與查詢樹的區別體現

  5. 接著聊ConcurrentHashMap,底層實現

  6. HashMap雜湊函式的認識,JDK1.8採用的hash函式

  7. 資料庫索引,索引底層的實現,B+樹的結構以及與普通查詢樹的優點

  8. TCP三次握手四次揮手,四次揮手過程中服務端的哪幾種狀態,哪幾種包

  9. 已經有一個查詢好友的介面,設計一個微信朋友圈,可以實現發表朋友圈,新增評論,檢視評論等功能。主要是設計資料結構

三面(50分鐘:主要分散式這塊)

你對快手的瞭解,和抖音的區別,聊專案
專案中用到dubbo?那你說說什麼是rpc框架?和http呼叫的區別是什麼?
Redis有哪些資料結構?持久化方案和區別?
Redis哨兵、叢集的設計原理和區別?
Redis快取和資料庫會存在一致性問題嗎?怎麼解決
Kafka怎麼保證資料可靠性?講了生產者端傳送訊息到broker持久化,分割槽和副本機制,消費者消費訊息的at-least-once和at-most-once?怎麼實現Exactly-Once?
HR面:
常規的面試流程了,主要就是自己優缺點,以及未來的職業發展,以及薪資這塊。

以上就是快手技術三面和HR面試題目,除此之外,更多BAT面試題目(送答案):
1、阿里集團中介軟體4面:J.U.C併發框架+RocketMQ +MyCat+鎖機制+架構
2、阿里內推技術3面
更多BAT技術架構+面試真經等乾貨…
關注我,私信【阿里】,立即收取。

通過了解大廠的技術面試題目與面試經驗,查漏補缺,平時在工作中多學習、多實踐,有目標去擴充自己的技術棧,深度掌握1-2門技術基礎上去延伸廣度,距離目標就不會太遠了。
關於快手面試題目,大家有什麼想要探討的內容,歡迎留言~