一面順豐因Redis慘敗,靠着清華大佬的規劃指引,再戰終成功 寫在前面 Redis簡介 Redis學習路線 Redis面試真題 概述 Redis精品複習文檔 寫在後面

寫在前面

今年註定是不平凡的一年。年初突如其來的疫情,使無數人居家隔離,小編也是一樣,直到3月底4月初,纔開始投遞簡歷,準備面試。卻不曾想,順豐一面,面對面試官針對Redis的瘋狂轟炸,瞬間澆透了我順利入職的想法...

沒辦法,百萬大軍過獨木橋,自己技不如人,誰也賴不着。平復好心情後,自己也開始了魔鬼特訓。3個月,特訓了3個月的Redis及kafka、Zookeeper等消息隊列面試真題,夯實了自己的基礎,我又有了投順豐的念頭,不爲別的,就想從這摔得,就得從這爬起來!!!果然,自己還是比較幸運的,上週也收到了Offer。

其實現在回想起來,Redis也不是很難,可能是順豐比較偏向Redis,問的比較細,這就卡出來皮毛和精通的競爭者了。今天,小編就結合這次面試,與大家分享一下此次面經,以及大家在備戰面試時的知識儲備和應對心態,希望能夠幫到大家更好的入職大廠~~~

Redis簡介

Redis的魅力如此之大,也是因爲它是完全開源免費的,遵守BSD協議,是一個高性能的key-value數據庫,對比其他 key - value 緩存產品有以下三個特點:

Redis支持數據的持久化

Redis不僅僅支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲

Redis支持數據的備份,即master-slave模式的數據備份

Redis學習路線

怎麼樣?有了清華大佬整理的學習路線,針對自己的薄弱點,那就開始攻克它吧!如果還是沒有頭緒,沒關係,以下就是小編整理的Redis面試真題以及相應複習文檔,希望更加詳實的幫到你的複習面試~~~

Redis面試真題

概述

什麼是Redis

Redis有哪些優缺點

爲什麼要用 Redis /爲什麼要用緩存

爲什麼要用 Redis 而不用 map/guava 做緩存?

Redis爲什麼這麼快

數據類型

Redis有哪些數據類型

Redis的應用場景

持久化

什麼是Redis持久化?

Redis 的持久化機制是什麼?各自的優缺點?

如何選擇合適的持久化方式

Redis持久化數據和緩存怎麼做擴容?

過期鍵的刪除策略

Redis的過期鍵的刪除策略

Redis key的過期時間和永久有效分別怎麼設置?

我們知道通過expire來設置key 的過期時間,那麼對過期的數據怎麼處理呢?

內存相關

MySQL裏有2000w數據,redis中只存20w的數據,如何保證redis中的數據都是熱點數據

Redis的內存淘汰策略有哪些

Redis主要消耗什麼物理資源?

Redis的內存用完了會發生什麼?

Redis如何做內存優化?

線程模型

Redis線程模型

事務

什麼是事務?

Redis事務的概念

Redis事務的三個階段

Redis事務相關命令

事務管理(ACID)概述

Redis事務支持隔離性嗎

Redis事務保證原子性嗎,支持回滾嗎

Redis事務其他實現

集羣方案

哨兵模式

官方Redis Cluster 方案(服務端路由查詢)

基於客戶端分配

基於代理服務器分片

Redis 主從架構

Redis集羣的主從複製模型是怎樣的?

生產環境中的 redis 是怎麼部署的?

說說Redis哈希槽的概念?

Redis集羣會有寫操作丟失嗎?爲什麼?

Redis集羣之間是如何複製的?

Redis集羣最大節點個數是多少?

Redis集羣如何選擇數據庫?

分區

Redis是單線程的,如何提高多核CPU的利用率?

爲什麼要做Redis分區?

你知道有哪些Redis分區實現方案?

Redis分區有什麼缺點?

分佈式問題

Redis實現分佈式鎖

如何解決 Redis 的併發競爭 Key 問題

分佈式Redis是前期做還是後期規模上來了再做好?爲什麼?

什麼是 RedLock

緩存異常

緩存雪崩

緩存穿透

緩存擊穿

緩存預熱

緩存降級

熱點數據和冷數據

緩存熱點key

常用工具

Redis支持的Java客戶端都有哪些?官方推薦用哪個?

Redis和Redisson有什麼關係?

Jedis與Redisson對比有什麼優缺點?

其他問題

Redis與Memcached的區別

如何保證緩存與數據庫雙寫時的數據一致性?

Redis常見性能問題和解決方案?

Redis官方爲什麼不提供Windows版本?

一個字符串類型的值能存儲最大容量是多少?

Redis如何做大量數據插入?

假如Redis裏面有1億個key,其中有10w個key是以某個固定的已知的前綴開頭的,如果將它們全部找出來?

使用Redis做過異步隊列嗎,是如何實現的

Redis如何實現延時隊列

Redis回收進程如何工作的?

Redis回收使用的是什麼算法?

如果是你在面對面試官如此瘋狂的Redis轟炸下,能否堅持到第幾回合呢?

爲了不影響大家的閱讀體驗,小編只是截取了部分面試答案,有需要深度獲取學習的朋友,請轉發+關注小編,私信回覆【學習】即可免費領取哦~~~

Redis精品複習文檔

本篇深入淺出地介紹了Redis 的5種數據類型,並通過多個實用示例展示了Redis的用法。除此之外,還講述了Redis 的優化方法以及擴展方法,是一本對於學習和使用Redis 來說不可多得的參考祕籍。

本書一共由三個部分組成。第一部分對Redis 進行了介紹,說明了Redis 的基本使用方法、它擁有的5種數據結構以及操作這5種數據結構的命令,並講解了如何使用Redis去構建文章聚合網站、cookie、 購物車、網頁緩存、數據庫行緩存等一系列程序。

第二部分對Redis 命令進行了更詳細的介紹,並展示瞭如何使用Redis去構建更爲複雜的輔助工具和應用程序,並在最後展示瞭如何使用Redis去構建一個簡單的社交網站。

第三部分對Redis用戶經常會遇到的一些問題進行了介紹,講解了降低Redis內存佔用的方法、擴展Redis性能的方法以及使用Lua語言進行腳本編程的方法。

本篇既涵蓋了命令用法等入門主題,也包含了複製、集羣、性能擴展等深入主題,所以無論是Redis新手還是有一定經驗的Redis使用者,應該都能從本書中獲益。本篇面向具有基本數據庫概念的讀者,讀者無需預先了解任何NoSQL知識,也不必具備任何Redis使用經驗。

本篇從底層源碼的角度,對Redis的數據結構以及持久化、主從複製、哨兵和集羣等特性的實現原理進行了詳盡的剖析,圖文並茂。本篇全面解析了Redis 5內核的方方面面,能夠有效幫助Redis的開發和運維人員全面理解Redis的運行原理,對於需要進階Redis的讀者而言是難得的好書。

本篇從內容邏輯上分爲三部分,

第一篇:第1章簡單介紹了Redis,以及Redis的編譯安裝和研讀的方式;第2~8章重點講解了SDS、跳躍表、壓縮列表、字典、整數集合、quicklist 和Stream數據結構的實現。

第二篇:第9章講解了Redis的生命週期,命令執行的過程,需要重點閱讀;第10~19章,分別講解了鍵、字符串、散列表、鏈表、集合、有序集合、GEO、HyperLog 和數據流相關命令的實現。

第三篇:第20~22章簡單講解了持久化、主從複製和集羣的實現,沒有詳細展開,希望能帶讀者入門。

寫在後面

由面試題出發,有的放矢的彌補自己的知識短板,夯實自己的理論基礎,再結合清華掃地僧級別大佬的學習路線及實戰文檔,充分昇華自己學習內核,做到理論和實戰的相結合,只有這樣,才能更加高效的提升進階自我!!!

對於文章中提到的Redis面試真題和學習文檔,有興趣深度學習瞭解的朋友,請轉發+關注小編,私信回覆【學習】即可免費領取哦~~~

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