前言
首先,大家先了解一下三者的概念究竟是什麼?有哪些功能?工作原理?
一、RabbitMQ1.消息型中間件,用於不同應用之間的通信,基於amqp協議實現2.功能:將一些無需要及時返回而且耗時的操作提取出來,進行解耦,利用異步處理,提高系統的吞吐量3工作原理:A生產消息,發送給伺服器的exchangeexchange收到消息根據routinkey,將消息發送給匹配的queue,queue收到消息,將消息發送給接受方接收方接收消息後發送給ack給queue,queue收到ack,刪除隊列中緩存的消息4.集群節點分配集群元數據:保存集群及其節點相關信息,存儲在集群的每一個節點中disc節點ram節點二.memcached1.緩存型中間件,通過解耦,減輕資料庫的負擔2.優勢:開源,高性能,分布式,在內存中以鍵值方式存在3.流程:客戶端發送請求,若請求的數據在memcached伺服器,則直接將結果返回用戶,若結果不在,則從資料庫中找出內容返回用戶,並且緩存一份在memcached中,更新資料庫,也會跟新memecached,若內存不足,則替換原來的數據。三、mongodbmongodb是一個基於分布式文件存儲的資料庫,由C++語言編寫。它旨在為WEB應用提供可擴展的高性能數據存儲解決方案,最大的特點是支持的查詢語言非常強大,其語法有點類似於面向對象的查詢語言,幾乎可以實現類似關係資料庫單表查詢的絕大部分功能,而且還支持對數據建立索引。
其次,就是給大家分享面試必備MongoDB+RabbitMQ+Memcached面試題及答案,因為內容過多,所以只展示了部分面試題和答案!!
第二版: Memcached 23道
1. Memcached是什麼,有什麼作用?
2、Memcached 服務在企業集群架構中有哪些應用場景?
一、作為資料庫的前端緩存應用
a.完整緩存(易)。靜態緩存
b.執點緩存(難)
特殊說明:
二、作業集群的session會話共享存儲-
3、Memcached 服務特點及工作原理是什麼?
4、簡述Memcached內存管理機制原理? ....
5. Memcached是怎麼工作的?
6、Memcached 最大的優勢是什麼?
7、Memcached 和MySQL的qee-----
8、Memcached和伺服器的local cache (比如PHP的APC、mmap 文件等)相比,有什麼優缺點?
9. Memcached 的cache機制是怎樣的?
10、Memcached 如何實現冗餘機制?
11. Memcached 如何處理容錯的?
12.如何將Memcached中item批量導入導出?
13.如果緩存數據在導出導入之間過期了,您又怎麼處理這些數據呢? ...
14、Memcached 是如何做身份驗證的?
15. Memcached 的多線程是什麼?如何使用它們?
16. Memcached 能接受的key的最大長度是多少?
17. Memcached 最大能存儲多大的單個item?
18、Memcached 能夠更有效地使用內存嗎?
19.什麼是二進位協議。我該關注嗎?
20、Memcached的內存分配器是如何工作的?為什麼不適用malloc/free! ?為何要使用slabs?
21、Memcached 是原子的嗎?
22、如何實現集群中的session共享存儲?
23、Memcached 與redis的區別?
Memcached 23道面試題答案
第二版: RabbitMQ 12道
1、什麼是rabbitmq
2、為什麼要使用rabbitmq-
3、使用rabbitmq的場景
4、如何確保消息正確地發送至RabbitMQ?如何確保消 息接收方消費了消息?
發送方確認模式
接收方確認機制
5 ,如何避免消息重複投遞或重複消費?
6、消息基於什麼傳輸?
7、消息如何分發?
8、消息怎麼路由?
9、如何確保消息不丟失?
10、使用RabbitMQ有什麼好處?
11、rabbitmq的集群
12、mq的缺點:
系統可用性降低
系統複雜性提高
一致性問題
RabbitMQ 12道面試題答案
第二版: RabbitMQ 23道
什麼是MQ:
MQ的優點
解耦、異步、削峰是什麼? .
消息隊列有什麼缺點:
1.系統可用性降低
2. 系統複雜度提高
3.-致性問題
你們公司生產環境用的是什麼消息中間件?
Kafka、ActiveMQ、RabbitMQ、 RocketMQ 有什麼優缺點?
MQ有哪些常見問題?如何解決這些問題?
什麼是RabbitMQ?
rabbitmq的使用場景-
(1)服務間異步通信
(2)順序消費
(3)定時任務
(4)請求削峰-
RabbitMQ基本概念
RabbitMQ的工作模式
一.simple模式(即最簡單的收發模式)
二.work工作模式(資源的競爭)-
三.publish/subscribe發布訂閱(共享資源)
四.routing路由模式
五.topic主題模式(路由模式的一種)
如何保證RabbitMQ消息的順序性?
消息如何分發?
消息怎麼路由?
消息基於什麼傳輸?
如何保證消息不被重複消費?或者說,如何保證消息消費時的幕等性?
如何確保消息正確地發送至RabbitMQ?如何確保消 息接收方消費了消息?
下面羅列幾種特殊情況
如何保證RabbitMQ消息的可靠傳輸?
為什麼不應該對所有的message 都使用持久化機制?
如何保證高可用的? RabbitMQ的集群
如何解決消息隊列的延時以及過期失效問題?消息隊列滿了以後該怎麼處理?有幾百萬消息持續積壓幾小時,怎麼辦?
設計MQ思路?
RabbitMQ 23道面試題答案
第二版: MongoDB 24道
1 nosql和關係型資料庫的區別
2 nosql資料庫有哪些
3 MySQL與mongodb本質之間最基本的差別是什麼
4.你怎麼比較MongoDB. CouchDB 及CouchBase?
5使用mongodb的優點.
8.分析器在MongoDB中的作用是什麼?.
9名字空間(namespace) 是什麼?
10.如果用戶移除對象的屬性.該屬性是否從存儲層中刪除?
11.能否使用日誌特徵進行安全備份?
13.更新操作立刻fsync到磁碟?
14如何執行事務/加鎖?
15為什麼mongodb的數據文件那麼龐大一
17.什麼是master或primary?
18 getLastError的作用
19.分片(sharding) 和複製(replication) 是怎樣工作的?
20.數據在什麼時候才會擴展到多個分片(shard) 裡?
21.當我試圖更新-個正在被遷移的塊(chunk) 上的文檔時會發生什麼? ....
22.我怎麼查看Mongo正在使用的連結?
23mongodb的結構介紹
24資料庫的整體結構.
MongoDB 24道面試題答案
MongoDB+RabbitMQ+Memcached面試題及答案
需要阿里p8大佬整理的這份面試題及答案的小夥伴,抓緊時間轉發關注小編,私信小編「學習」來得到獲取方式吧!
感謝大家支持!