Java面試中有關分布式的題目集錦
對于在Java面試中遇到有關分布式的題目,你需要盡量表現出自己的思維深入并系統化,Java知識理解得也比較全面,一定要避免讓面試官覺得你是個“知其然不知其所以然”的人。畢竟掌握的扎實,是日常工作中進行問題診斷或者性能調優等很多事情的基礎,相信沒有招聘方會不喜歡“熱愛學習和思考”的面試者。下面,千鋒老師為大家總結了很多有關分布式的題目,希望對大家有所幫助。
一.Redis和Memcache的區別?
1、存儲方式 Memecache把數據全部存在內存之中,斷電后會掛掉,數據不能超過內存大小。 Redis有部份存在硬盤上,redis可以持久化其數據
2、數據支持類型 memcached所有的值均是簡單的字符串,redis作為其替代者,支持更為豐富的數據類型 ,提供list,set,zset,hash等數據結構的存儲
3、使用底層模型不同 它們之間底層實現方式 以及與客戶端之間通信的應用協議不一樣。 Redis直接自己構建了VM 機制 ,因為一般的系統調用系統函數的話,會浪費一定的時間去移動和請求。
4、value 值大小不同:Redis 最大可以達到 1gb;memcache 只有 1mb。
5、redis的速度比memcached快很多
6、Redis支持數據的備份,即master-slave模式的數據備份。
二.使用Redis有哪些好處?
(1) 速度快,因為數據存在內存中,類似于HashMap,HashMap的優勢就是查找和操作的時間復雜度都是O(1)
(2) 支持豐富數據類型,支持string,list,set,sorted set,hash
(3) 支持事務,操作都是原子性,所謂的原子性就是對數據的更改要么全部執行,要么全部不執行
(4) 豐富的特性:可用于緩存,消息,按key設置過期時間,過期后將會自動刪除
三.什么是redis持久化?rdb和aof的比較?
持久化就是把內存的數據寫到磁盤中去,防止服務宕機了內存數據丟失。
比較:
1、aof文件比rdb更新頻率高,優先使用aof還原數據。
2、aof比rdb更安全也更大
3、rdb性能比aof好
4、如果兩個都配了優先加載AOF
四.Redis最適合的場景?
(1)會話緩存(Session Cache)
最常用的一種使用Redis的情景是會話緩存(session cache)。用Redis緩存會話比其他存儲(如Memcached)的優勢在于:Redis提供持久化。
(2)全頁緩存(FPC)
除基本的會話token之外,Redis還提供很簡便的FPC平臺。回到一致性問題,即使重啟了Redis實例,因為有磁盤的持久化,用戶也不會看到頁面加載速度的下降,這是一個極大改進,類似PHP本地FPC。
再次以Magento為例,Magento提供一個插件來使用Redis作為全頁緩存后端。
此外,對WordPress的用戶來說,Pantheon有一個非常好的插件 wp-redis,這個插件能幫助你以最快速度加載你曾瀏覽過的頁面。
(3)隊列
Reids在內存存儲引擎領域的一大優點是提供 list 和 set 操作,這使得Redis能作為一個很好的消息隊列平臺來使用。Redis作為隊列使用的操作,就類似于本地程序語言(如Python)對 list 的 push/pop 操作。
(4)排行榜/計數器
Redis在內存中對數字進行遞增或遞減的操作實現的非常好。集合(Set)和有序集合(Sorted Set)也使得我們在執行這些操作的時候變的非常簡單,Redis只是正好提供了這兩種數據結構。所以,我們要從排序集合中獲取到排名最靠前的10個用戶–我們稱之為“user_scores”,我們只需要像下面一樣執行即可:
(5)發布/訂閱
最后(但肯定不是最不重要的)是Redis的發布/訂閱功能。發布/訂閱的使用場景確實非常多。我已看見人們在社交網絡連接中使用,還可作為基于發布/訂閱的腳本觸發器,甚至用Redis的發布/訂閱功能來建立聊天系統!

猜你喜歡LIKE
最新文章NEW
相關推薦HOT
更多>>熱門推薦
參加完長沙Java培訓班之后怎么面試找工作?
沸參加長沙IT培訓好找工作嗎?這些環節能刷掉70%大學生
熱參加長沙Java培訓跳槽去大廠,都有哪些面試要求?
熱千鋒長沙前端培訓分享之高級前端面試題整理
新千鋒長沙前端培訓分享之中級前端面試題整理
千鋒長沙前端培訓分享之初級前端面試題整理
千鋒長沙前端培訓:Vue相關面試題
長沙Java培訓:高并發編程JUC包面試題及答案
長沙Java培訓:Java開發實用的面試題及答案
長沙Java培訓:2021年Java面試題分享
長沙Java培訓:2021Java面試題分享
長沙千鋒整理:軟件測試中頻率最高的網絡協議面試題,收好了!
長沙IT培訓學員整理:程序員面試10條潛規則
自學前端靠這份面試題和答案,也能拿高薪!