記錄一些面試準備的資料

2022-06-13 07:57:14 字數 2782 閱讀 2119

springboot

spring-cloud

eureka-服務註冊和發現

feign(資料通訊)

hystrix

gateway(閘道器) 路由 斷言 過濾器

spring-oauth2

服務鑑權

mybatis

mysql

redis 快取

kafka 訊息佇列

服務異常導致服務不可用,進行熔斷,降級緩解壓力

一定請求進行熔斷判定,判定超過則進行熔斷,隔一段時間後,進行熔斷判定

型別位元組占用

位byte18

char216

int4

32short216

long864

double864

float432

資料交換用exchanger

執行緒執行順序用join

共享資料

通過現場之間交換資料

wait/notify/notifyall await/signal/signalall 喚起等待

sleep 和 wait sleep睡眠時保持物件鎖,其他物件無法訪問,wait 睡眠時釋放物件鎖

volatile

保證記憶體可見性

保證內科的有序性

synchronized

修飾**塊 當執行緒訪問時其他執行緒訪問會被阻塞 作用物件是使用呼叫**塊的物件

修飾方法

修飾靜態方法

修飾乙個類

介面定義時不可以使用synchronized

執行緒池降低系統資源的消耗,通過重用已存在的執行緒,降低執行緒建立和銷毀造成的消耗

提高響應速度,

方便執行緒併發的管控

提供更強大的功能,延時定時執行緒池

執行緒池種類

cachedtreadpool: 無限擴大的執行緒池,適用於負載較輕的場景,執行短期非同步任務

fixedtreadpool: 固定大小的執行緒池,適用於負載較中的場景,執行任務時不會因為需要維持大量的執行緒導致負載加重

singletreadpool: 單執行緒的執行緒池,適用於保持順序執行業務的場景

scheduledtreadpool: 執行延時任務和週期性任務

主要引數:

corepoolsize 基本執行緒池大小

maxmumpoolsize 執行緒池的最大執行緒數

keepalivetime 執行緒存活保持時間

timeuint 執行緒存活的時間單位

workqueue 任務佇列: 用於傳輸和儲存等待執行任務的阻塞佇列

threadfactory 執行緒工廠: 用於建立新執行緒

handler 執行緒飽和策略

反應式流: 用於處理非同步程式設計時的困難

超時 異常處理困難

難以重構

多個非同步任務協同處理

主要目標

管理跨非同步邊界的流資料交換

確保接收方不會輕質緩衝任意數量的資料

索引結構

普通索引:無限制

唯一索引:索引值必須唯一,不能有空值

主鍵索引:特殊的唯一索引

組合索引:

和redis的區別

mysql 關係型資料庫 redis 非關係行資料庫

mysql 持久化儲存到資料到硬碟上, 速度慢 redis 將使用頻繁的資料儲存到快取中,

mysql 作為持久化的資料庫,每次請求資料庫的時候都會產生i/o操作,會在反覆連線資料庫時候花費大量時間,另外反覆訪問資料庫會導致負載太高

msyql的引擎

innodb(主要引擎,支援事務,支援行鎖定,外來鍵

非關係型資料庫

為啥快完全基於記憶體,絕大部分請求都是純粹的記憶體操作.資料儲存在記憶體中,都是型別hashmap,優勢就是查詢和操作的時間複雜度都是o(1)

資料機構簡單,資料操作也簡單

採用單執行緒,不會擔心上下切換和競爭,也不會存在多執行緒或者多執行緒導致的消耗,不用擔心各種鎖的問題.不存在加鎖和釋放的問題

持久化rdb

將資料以快照的方式儲存到磁碟上

優勢:檔案緊湊,全量備份

恢復大資料的時候比aof快

不需要i/o操作,主線程會fork()乙個子執行緒來處理儲存工作

劣勢: 一次全量備份,備份期間的新資料不會儲存

aof將redis每個收到的寫命令都write函式追加到檔案中

優勢:可以很好的保護資料不丟失

寫入效能高,檔案不容易被破壞

檔案過大時,後台重寫,不會影響客戶端讀取

適合災備,

劣勢: 同等資料aof比rdb 大,

redis的使用場景

熱點資料的快取

限時任務的應用(手機簡訊驗證碼)

計數器相關的業務(介面訪問頻次)

redis和mysql之間怎麼保證資料一致性

實時更新:寫入db的時候刪除快取資料,直到訪問redis時候再重新整理

canal對binlog的解析,在通過發布--訂閱模式消費canal服務的資料

ttl 設定過期策略

儲存結構:

預設16個庫(redisdb)

每個db內部儲存這dict資料結構 包含著儲存資料和過期事件

每個dict內部又包含著2個dictht的陣列,主要使用者hash的擴充套件

dictht內部又包含著和dictentry陣列,就是hash的桶,如果衝突,使用掛鏈法解決

資料結構

list

string

sethash

zset

求職面試的一些記錄

簡歷中自我評價 自我評價撰寫技巧 社會簡歷 詳細羅列出您所擁有的特長 技能和經驗,以及您在以前的工作中累積了的優勢。您可以根據招聘方的招聘資訊,有針對性地羅列,讓人事經理更好地了解到您與所申請職位的符合程度。用盡可能簡要且平實的語句概括描述出您的特長 技能 經驗及優勢。語言不可過於口語化,內容須實事...

準備寫一些關於pygame的學習記錄

大致思路如下 1 先練乙個最簡單的pingpong 彈球遊戲,了解 pygame的基礎的遊戲機制,比如 screen,文字顯示 等等。2 練乙個人物的上下左右的移動,主要是聯絡精靈的使用,包括對png轉化為動畫人物。3 人物的走動,結合背景的移動,用來深化對pygame中精靈的理解。4 遊戲狀態機制...

python web 的一些準備

pip可以通過以下命令來判斷是否已安裝 pip version如果你還未安裝,則可以使用以下方法來安裝 sudo python get pip.py 執行安裝指令碼 flask是乙個使用 python 編寫的輕量級 web 應用框架。安裝flask 使用pip命令安裝flask包,pip insta...