架構師必備之常見面試題整理——高性能三十問!

架構師必備之常見面試題整理——高性能三十問!

分佈式架構(一)

大型互聯網架構演進過程,架構師應具備的分佈式知識,主流分佈式架構設計詳解

分佈式系統

分佈式系統是一個由硬件或軟件組件分佈在不同的網絡計算機上,彼此之間僅僅通過消息傳遞進行通信和協調的系統。其擁有如下特點

  1. 分佈性
  2. 對等性
  3. 併發性
  4. 缺乏全局時鐘
  5. 故障總是會發生

(開心一笑)

架構師必備之常見面試題整理——高性能三十問!

分佈式協調和分流(二)

Zookeeper分佈式環境指揮官,Nginx高併發分流進階實戰

應用場景

Zookeeper的功能很強大,應用場景很多,結合我實際工作中使用Dubbo框架的情況,Zookeeper主要是做註冊中心用。

基於Dubbo框架開發的提供者、消費者都向Zookeeper註冊自己的URL,消費者還能拿到並訂閱提供者的註冊URL,以便在後續程序的執行中去調用提供者。而提供者發生了變動,也會通過Zookeeper向訂閱的消費者發送通知。

Zookeeper有哪幾種節點類型

持久節點(PERSISTENT)

所謂持久節點,是指在節點創建後,就一直存在,直到有刪除操作來主動清除這個節點——不會因爲創建該節點的客戶端會話失效而消失。

持久順序節點(PERSISTENT_SEQUENTIAL)

這類節點的基本特性和上面的節點類型是一致的。額外的特性是,在ZK中,每個父節點會爲他的第一級子節點維護一份時序,會記錄每個子節點創建的先後順序。基於這個特性,在創建子節點的時候,可以設置這個屬性,那麼在創建節點過程中,ZK會自動爲給定節點名加上一個數字後綴,作爲新的節點名。這個數字後綴的範圍是整型的最大值。

臨時節點(EPHEMERAL)

和持久節點不同的是,臨時節點的生命週期和客戶端會話綁定。也就是說,如果客戶端會話失效,那麼這個節點就會自動被清除掉。注意,這裏提到的是會話失效,而非連接斷開。另外,在臨時節點下面不能創建子節點。

臨時順序節點(EPHEMERAL_SEQUENTIAL)

可以用來實現分佈式鎖

架構師必備之常見面試題整理——高性能三十問!

高性能緩存和NoSQL面試題(三)

Redis高性能緩存數據庫,Memcached進階實戰,高性能緩存開發實戰,MongoDB進階實戰

(1)Memcached服務在企業集羣架構中應用場景

(2)Memcached服務在不同企業業務應用場景中的工作流程

(3)Memcached服務分佈式集羣如何實現?

(4)Memcached服務特點及工作原理是什麼?

(5)簡述Memcached內存管理機制原理?

(6)MySQL的delete與truncate區別?

(7)Redis常見的性能問題怎麼解決?

(8)Redis與memcached有什麼區別?

(9)Redis有哪些數據結構?

(10)Redis持久化方案區別以及優缺點?

(11)如何來維護集羣之間的關係,或者說集羣之間如何建立連接?

(12)在項目中緩存是如何使用的?緩存如果使用不當會造成什麼後果?

(13)redis和memcached有什麼區別?redis的線程模型是什麼?爲什麼單線程的redis比多線程的memcached效率要高得多?

(14)redis都有哪些數據類型?分別在哪些場景下使用比較合適?

(15)redis的過期策略都有哪些?手寫一下LRU代碼實現?

異步與消息中間件面試題(四)

RabbitMq消息中間件,ActiveMq消息中間件,kafka百萬級吞實戰

(1)如何確保消息正確地發送至RabbitMQ?

(2) 如何確保消息接收方消費了消息?

(3) 如何避免消息重複投遞或重複消費?

(4)使用RabbitMQ有什麼好處?

(5)如何在activemq.xml裏面配置消息隊列的大小,來保證隊列不會溢出?

(6)如何保證消息隊列的高可用啊?

(7)如何保證消息不被重複消費啊(如何進行消息隊列的冪等性問題)?

(8)如何保證消息的可靠性傳輸(如何處理消息丟失的問題)?

(9)如何保證消息的順序性?

(10)如何解決消息隊列的延時以及過期失效問題?消息隊列滿了以後該怎麼處理?有幾百萬消息持續積壓幾小時,說說怎麼解決?

(11)如果讓你寫一個消息隊列,該如何進行架構設計啊?說一下你的思路

(12)爲什麼使用消息隊列啊?消息隊列有什麼優點和缺點啊?

(13)kafka、activemq、rabbitmq、rocketmq都有什麼優點和缺點啊?

請說明Kafka相對傳統技術有什麼優勢?

(14)在Kafka中broker的意義是什麼?

(15)Kafka服務器能接收到的最大信息是多少?

需要面試題彙總可關注我的公衆號【風平浪靜如碼】領取!

附:高性能架構學習路線導圖

架構師必備之常見面試題整理——高性能三十問!

寫在最後:

歡迎大家關注我新開通的公衆號【風平浪靜如碼】,海量Java相關文章,學習資料都會在裏面更新,整理的資料也會放在裏面。

覺得寫的還不錯的就點個贊,加個關注唄!點關注,不迷路,持續更新!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章