1. redis為什么更快?2. redis 怎么實現(xiàn)持久化的?3. redis單線程在多核機器里使用會不會浪費機器資源?4. redis 執(zhí)行命令還是單線程,那如何利用多核心來提升性能?可以在系統(tǒng)部署多個 redis docker 容器來處理,達到充分利用 cpu 多核心的效果5. redis緩存穿透、緩存擊穿、緩存雪崩是什么?怎么解決?6. 怎么用redis分布式鎖?MySQL 相關(guān)mysql事務(wù)特性是什么?MySQL的行級鎖有哪些?mysql 有哪些索引?mysql為什么用 b+樹索引?為什么索引數(shù)據(jù)結(jié)構(gòu)不用hash?組合索引是什么?優(yōu)點?網(wǎng)絡(luò)相關(guān)介紹一些osi七層模型tcp和udp哪層屬于傳輸層TCP 和 UDP 的區(qū)別、TCP 是如何保證可靠傳輸?shù)???shù)據(jù)鏈路層有哪些協(xié)議?主要有 arp 協(xié)議,ARP 是借助 ARP 請求與 ARP 響應(yīng)兩種類型的包確定 MAC 地址的。http和https有什么區(qū)別?網(wǎng)絡(luò)代理正向和反向區(qū)別?操作系統(tǒng)相關(guān)1. 進程開辟虛擬空間有哪些段?都用什么用?2. 棧里面放什么信息?主要存放函數(shù)的局部變量,函數(shù)返回后,局部變量會自動銷毀。3. 進程上下文切換是什么?進程是由內(nèi)核管理和調(diào)度的,所以進程的切換只能發(fā)生在內(nèi)核態(tài)。所以,進程的上下文切換不僅包含了虛擬內(nèi)存、棧、全局變量等用戶空間的資源,還包括了內(nèi)核堆棧、寄存器等內(nèi)核空間的資源。通常,會把交換的信息保存在進程的 PCB,當(dāng)要運行另外一個進程的時候,我們需要從這個進程的 PCB 取出上下文,然后恢復(fù)到 CPU 中,這使得這個進程可以繼續(xù)執(zhí)行,進程上下文切換對于線程上下文切換的話,因為虛擬內(nèi)存是共享的,所以在切換時,虛擬內(nèi)存這些資源就保持不動,只需要切換線程的私有數(shù)據(jù)、寄存器等不共享的數(shù)據(jù)。所以,線程的上下文切換相比進程,開銷要小很多。volatile關(guān)鍵字作用,具體怎么做到可見性?垃圾回收算法有哪些?