一。分布式中的三個鎖
基於 redis 分布式鎖實現「秒殺」(含**)
分布式鎖
1.資料庫鎖:樂觀鎖和悲觀鎖
2.redis實現的分布式鎖:
所有服務請求通過請求經過redis,所有伺服器都統一set乙個值,返回1說明獲取到鎖,其他的獲取到的是0表面被占用。然後才能繼續執行下面的邏輯。但是為了防止死鎖和服務蹦,設定過期時間。
3.zookpeer分布式鎖
相當於乙個資料夾,有四種節點:永續性節點,永續性順序節點,臨時節點,臨時性順序節點
服務都去建立這個節點檔案,如果被占用就失敗,然後為了安全,才用名稱排序獲取鎖。
二。高併發處理方案
1.服務拆分,分而治之
2.使用訊息佇列mq
3.快取
4.限流,降級。桶令牌的原理(乙個桶有令牌,都來取,有令牌才可以訪問服務)
三。如何保證執行緒安全
1.加鎖 sychednizede reentrantlock
2.樂觀鎖 單例模式
資料研發面試
阿里 一面 1.hive的mapreduce實現過程 2.hive中join的mapreduce過程 3.你在美團有遇到資料傾斜問題嗎,如何解決的 4.實時資料如何保證容錯性的 5.hashmap的實現原理 二面 1.你在工作中如何處理資料傾斜的 2.distinct和group by的區別 3.假...
c開發面試
1.程式設計驗證大端還是小端 方法一 void isbigendian else 方法二 void isbigendian temp temp.a 0x1234 if temp.b 0x12 低位元組存的是資料的高位元組資料 else 2.int a 10 int a 10 區別,sizeof a ...
研發面試準備
c 從編譯到執行要經歷以下過程 源 預處理 編譯 優化 彙編 鏈結 目標程式 要進行第一步,預處理過程,要幹的事情有哪些呢,要處理預編處理巨集定義,條件編譯指令,條件包含指令,特殊符號.對於巨集定義指令,會將巨集定義變數替換成對應的部分.對條件編譯指令,預處理過程按照程式定義過濾掉不必要的部分.對條...