天天看點

java面試題總結(九)--redis面試題

原文連結

程式員不僅工作壓力大,過年壓力也大,同學聚會最怕被問工資。。。春節還沒過完就去面試了,結果就遇到...

面試官這奪命連環12問,誰頂得住?

java面試題總結(九)--redis面試題

面試官: 同學,我看你每個項目中都用到了Redis,你能說說你是怎樣使用Redis的嗎?

小A同學: 主要用來做緩存,分布式Session, 閱讀量/點贊數統計

面試官: 嗯,好的,Redis如何做持久化的? 

小A同學: bgsave做全量持久化到RDB二進制檔案中,aof做增量持久化,存儲的是文本協定資料。  

面試官:它們的優缺點呢?

小A同學:rdb二進制檔案啟動加載速度可以更快,aof要重放指令,是以速度比較慢

java面試題總結(九)--redis面試題

面試官: Redis持久化期間,主程序還能對外提供服務嗎?

小A同學: 能

面試官:那Redis如何處理新寫入的資料呢,這個資料也會直接進行持久化嗎? 

小A同學:。。。這個可能吧!     

面試官: Reids可以設定最大記憶體大小,如果資料達到了記憶體最大限制,Redis如何處理呢?

小A同學:可以配置淘汰政策 LRU 或者 LFU 淘汰政策。

面試官:Redis 的LRU算法實作原理,可以講講嗎?

小A同學:這個不太清楚。

java面試題總結(九)--redis面試題

面試官: Redis 核心資料類型有哪些?

小A同學: string, hash, list, set, zset.

面試官:存儲資料用 string 類型 和 hash 類型,你是如何選擇的呢?

小A同學:string 對大量字段的對象中的某個資料進行擷取,需要進行整體的資料擷取,在用戶端完成反序列化,而hash可以擷取指定字段擷取資料。是以根據通路需求來選擇。

面試官:還有其他的考慮嗎? 

小A同學:沒有

面試官: zset 底層的實作原理有了解過嗎?

小A同學: 好像是跳表實作的吧!

面試官: 你能講講它的實作原理以及時間複雜度分析嗎?

小A同學:這個不太清楚。 

java面試題總結(九)--redis面試題

面試官: 你能說說緩存穿透是怎麼回事嗎?

小A同學:要查詢的資料,緩存中不存在,直接打到了資料庫,這種請求如果很多的話,全都穿透到資料庫, 就會導緻資料庫奔潰,

面試官:解決方案呢?

小A同學:可以用布隆過濾器來阻擋。

面試官:布隆過濾器的實作原理是什麼?能講講麼?

小A同學:這個不太清楚。

面試官:好的,感謝你參加我們公司的面試,咱們今天就先到這裡

java面試題總結(九)--redis面試題

為什麼面試老是遇到Redis問題?Redis的底層設計原理明明懂一些,可就是說不到點子上?以後還遇到這些Redis的面試題可怎麼辦?想想就慌!

Redis高并發架構設計與源碼剖析課程内容:

第一節:雙十一秒殺系統後端Redis高并發架構實戰

1、高并發場景秒殺下單超賣Bug實戰重制

2、秒殺場景下實戰JVM級别鎖與分布式鎖

3、大廠分布式鎖Redisson架構實戰

4、從Redisson源碼剖析lua解決鎖的原子性問題

5、Redis主從架構鎖失效問題及Redlock詳解

6、雙十一大促如何将分布式鎖性能提升100倍

7、利用Redis緩存叢集架構抗住雙十一大流量洪峰

8、從CAP角度剖析Redis&Zookeeper鎖架構異同

9、Redis緩存與資料庫雙寫不一緻終極解決

第二節:億級流量新浪微網誌與微信Redis架構實戰

1、Redis核心資料存儲結構精講

2、Redis底層string編碼int&embstr&raw詳解

3、Redis底層壓縮清單&跳表&哈希表詳解

4、Redis底層ZSet實作壓縮清單和跳表如何選擇

5、微網誌與微信消息流Redis實作

6、微信點贊、收藏與标簽基于Redis實作

7、微網誌與微信朋友關注模型基于Redis實作

8、微網誌附近的人基于Redis實作

9、電商購物車如何用Redis實作

10、電商推薦系統如何用Redis實作

第三節:深入底層C源碼講透Redis高性能資料結構

1、Redis核心資料結構精講

2、億級使用者日活統計BitMap實戰

3、Redis阻塞隊列底層實作原理剖析

4、如何實作一個高性能的延遲隊列

5、基于Geohash實作查找附近的人

6、深入C源碼剖析剖析ZSet底層跳表實作

7、深入C源碼剖析Redis核心資料結構設計

8、Redis 6.0 多線程相比單線程優化了啥

繼續閱讀