都是“Redis惹的禍”,害我差點(diǎn)掛在三面,真是“虛驚一場(chǎng)”

在找工作的過(guò)程中,對(duì)于 Redis 技術(shù)知識(shí)的掌握已經(jīng)成為必須的技能。面試常常就會(huì)被問到Redis相關(guān)知識(shí),而這次我就差點(diǎn)倒在了3面,面試官連問我以下幾個(gè)Redis的問題,然后就卡殼了...

  1. redis了解嗎?你說(shuō)說(shuō)怎么用redis實(shí)現(xiàn)分布式鎖?
  2. Redis常用數(shù)據(jù)結(jié)構(gòu)及底層數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)
  3. 如何解決 Redis 的并發(fā)競(jìng)爭(zhēng) Key 問題
  4. 如何保證緩存與數(shù)據(jù)庫(kù)雙寫時(shí)的數(shù)據(jù)一致性?
  5. ... ...(剩下的不太記得了...為此面試完回來(lái)針Redis專門做了一個(gè)面試問題大總結(jié))

01 Redis面試問題常見劃分(6個(gè)部分)

  1. Redis 的概念理解
  2. Redis 基本數(shù)據(jù)結(jié)構(gòu)詳解
  3. Redis 高并發(fā)問題策略
  4. Redis 集群結(jié)構(gòu)以及設(shè)計(jì)理念
  5. Redis 持久化機(jī)制
  6. Redis 應(yīng)用場(chǎng)景設(shè)計(jì)
  7. Redis學(xué)習(xí)路線圖(xmind)

Redis學(xué)習(xí)路線圖(xmind)
02 涉及到的面試題目如下

  • Redis 的特點(diǎn)有哪些?
  • Redis 支持的數(shù)據(jù)類型
  • 為什么 Redis 需要把所有數(shù)據(jù)放到內(nèi)存中?
  • Redis 適用場(chǎng)景有哪些?
  • Redis常用的業(yè)務(wù)場(chǎng)景有哪些?
  • Mem*** 與 Redis 的區(qū)別都有哪些?
  • Redis 相比 mem***d 有哪些優(yōu)勢(shì)?
  • Redis常用的命令有哪些?
  • Redis 為什么設(shè)計(jì)成單線程的?
  • 一個(gè)字符串類型的值能存儲(chǔ)最大容量是多少?
  • Redis各個(gè)數(shù)據(jù)類型最大存儲(chǔ)量分別是多少?
  • Redis 持久化機(jī)制有哪些? 區(qū)別是什么?
  • 請(qǐng)介紹一下 RDB, AOF兩種持久化機(jī)制的優(yōu)缺點(diǎn)?
  • 什么是緩存穿透?怎么解決?
  • 什么是緩存雪崩? 怎么解決?
  • Redis支持的額Java客戶端有哪些? 簡(jiǎn)單說(shuō)明一下特點(diǎn)。
  • 緩存的更新策略有幾種?分別有什么注意事項(xiàng)?
  • 什么是分布式鎖?有什么作用?
  • 分布式鎖可以通過(guò)什么來(lái)實(shí)現(xiàn)?
  • 介紹一下分布式鎖實(shí)現(xiàn)需要注意的事項(xiàng)?
  • Redis怎么實(shí)現(xiàn)分布式鎖?
  • 常見的淘汰算法有哪些?
  • Redis 淘汰策略有哪些?
  • Redis 緩存失效策略有哪些?
  • Redis 的持久化機(jī)制有幾種方式?
  • 請(qǐng)介紹一下持久化機(jī)制 RDB, AOF的優(yōu)缺點(diǎn)分別是什么?
  • Redis 是單線程的嗎?
  • Redis 通訊協(xié)議是什么?有什么特點(diǎn)?
  • 請(qǐng)介紹一下 Redis 的數(shù)據(jù)類型 SortedSet(zset) 以及底層實(shí)現(xiàn)機(jī)制?
  • Redis 集群最大節(jié)點(diǎn)個(gè)數(shù)是多少?
  • Redis 集群的主從復(fù)制模型是怎樣的?
  • Redis 如何做內(nèi)存優(yōu)化?
  • Redis 事務(wù)相關(guān)命令有哪些?什么是 Redis 事務(wù)?原理是什么?
  • Redis 事務(wù)的注意點(diǎn)有哪些?
  • Redis 為什么不支持回滾?
  • 請(qǐng)介紹一下 Redis 集群實(shí)現(xiàn)方案
  • 請(qǐng)介紹一下 Redis 常見的業(yè)務(wù)使用場(chǎng)景?
  • Redis 集群會(huì)有寫操作丟失嗎?為什么?
  • 請(qǐng)介紹一下 Redis 的 Pipeline (管道),以及使用場(chǎng)景
  • 請(qǐng)說(shuō)明一下 Redis 的批量命令與 Pipeline 有什么不同?
  • Redis 慢查詢是什么?通過(guò)什么配置?
  • Redis 的慢查詢修復(fù)經(jīng)驗(yàn)有哪些? 怎么修復(fù)的?
  • 請(qǐng)介紹一下 Redis 的發(fā)布訂閱功能
  • 請(qǐng)介紹幾個(gè)可能導(dǎo)致 Redis 阻塞的原因
  • 怎么去發(fā)現(xiàn) Redis 阻塞異常情況?
  • Redis 的內(nèi)存消耗分類有哪些??jī)?nèi)存統(tǒng)計(jì)使用什么命令?
  • 簡(jiǎn)單介紹一下 Redis 的內(nèi)存管理方式有哪些?
  • 如何設(shè)置 Redis 的內(nèi)存上限?有什么作用?
  • 什么是 bigkey? 有什么影響?怎么發(fā)現(xiàn)bigkey?
  • 請(qǐng)簡(jiǎn)單描述一下 Jedis 的基本使用方法?
  • Jedis連接池鏈接方法有什么優(yōu)點(diǎn)?
  • 冷熱數(shù)據(jù)表示什么意思?
  • 緩存命中率表示什么?怎么提高緩存命中率?
  • 如何優(yōu)化 Redis 服務(wù)的性能?
  • 如何實(shí)現(xiàn)本地緩存?請(qǐng)描述一下你知道的方式
  • 請(qǐng)介紹一下 Spring 注解緩存
  • 如果 AOF 文件的數(shù)據(jù)出現(xiàn)異常, Redis服務(wù)怎么處理?
  • Redis 的主從復(fù)制模式有什么優(yōu)缺點(diǎn)?
  • Redis sentinel (哨兵) 模式優(yōu)缺點(diǎn)有哪些?
  • Redis 集群架構(gòu)模式有哪幾種?
  • 如何設(shè)置 Redis 的最大連接數(shù)?查看Redis的最大連接數(shù)?查看Redis的當(dāng)前連接數(shù)?
  • Redis 的鏈表數(shù)據(jù)結(jié)構(gòu)的特征有哪些?
  • 請(qǐng)介紹一下 Redis 的 String 類型底層實(shí)現(xiàn)?
  • Redis 的 String 類型使用 SSD 方式實(shí)現(xiàn)的好處?
  • 設(shè)計(jì)一下在交易網(wǎng)站首頁(yè)展示當(dāng)天最熱門售賣商品的前五十名商品列表?
  • ... ...

面試問題的答案解析太長(zhǎng),這邊就不一一列舉出來(lái)了,已經(jīng)整理成如下所示的PDF文檔

Redis面試問題解析
03 最后看看我自己整理的一份Redis學(xué)習(xí)筆記

  • 為什么要用 redis /為什么要用緩存(高性能、高并發(fā))
  • 為什么要用 redis 而不用 map/guava 做緩存?
  • redis 常見數(shù)據(jù)結(jié)構(gòu)以及使用場(chǎng)景分析(String、Hash、List、Set、Sorted Set
  • redis 內(nèi)存淘汰機(jī)制(MySQL里有2000w數(shù)據(jù),Redis中只存20w的數(shù)據(jù),如何保證Redis中的數(shù)據(jù)都是熱點(diǎn)數(shù)據(jù)?
  • redis 持久化機(jī)制(怎么保證 redis 掛掉之后再重啟數(shù)據(jù)可以進(jìn)行恢復(fù)
  • Redis 常見異常及解決方案(緩存穿透、緩存雪崩、緩存預(yù)熱、緩存降級(jí)
  • 分布式環(huán)境下常見的應(yīng)用場(chǎng)景(分布式鎖、分布式自增 ID
  • Redis 集群模式(主從模式、哨兵模式、Cluster 集群模式
  • 如何解決 Redis 的并發(fā)競(jìng)爭(zhēng) Key 問題?
  • 如何保證緩存與數(shù)據(jù)庫(kù)雙寫時(shí)的數(shù)據(jù)一致性?

我的Redis學(xué)習(xí)筆記
總而言之,面試官問來(lái)問去,問的那些Redis知識(shí)點(diǎn)也就這么多吧,許是我復(fù)習(xí)的不夠到位,知識(shí)點(diǎn)掌握不夠熟練,所以面試才會(huì)卡殼。將這些Redis面試知識(shí)解析以及我整理的一些學(xué)習(xí)筆記分享出來(lái)給大家參考學(xué)習(xí),希望你們不要像我一樣(虛心一場(chǎng)呀~)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容