原创 設計模式總述

設計模式常見的面試題: 1:設計模式的6個原則(開閉原則最好說明含義) 2:單例模式的手撕(雙重檢驗的寫法是重點) 3:代理模式(AOP的底層實現),代理模式中的jdk和cglib優缺點和適用場景 4:在實際的開發中具體用到了什麼模式,什

原创 Eureka

原文鏈接:https://windmt.com/2018/04/15/spring-cloud-2-eureka/ 一:Eureka實現服務註冊和發現 Eureka和zookeeper的區別:

原创 計算機網絡概述

計算機網絡常考面試題: 1:TCP的三次握手和四次揮手的具體過程及對應的狀態變化 2:爲什麼是三次握手(不是二次和四次),爲什麼是四次揮手(不是三次或者2次),爲什麼需要等待2MSL 3:udp和tcp的區別,那麼udp可不可以做成可靠傳

原创 Spring Cloud Config

原文鏈接:https://windmt.com/2018/04/19/spring-cloud-7-config-sample/ 一:定義 用來爲分佈式系統中的基礎設施和微服務應用提供集中化的外

原创 迭代模式

一:迭代模式的定義: 提供一種方法訪問一個容器對象的各個元素,而又不需要暴露該對象的內部細節。迭代器是爲容器服務的,主要目的就是爲了遍歷集合元素。 二:迭代模式的實現: 抽象迭代器接口 public interface Iterator

原创 裝飾者模式

一:裝飾者模式定義(mybatis的Executor。I/O流): 動態的給一個對象添加一些額外的職責,就增加功能而言,裝飾模式相比生成子類更爲靈活 二:裝飾者模式特點: 一般由5部分組成。第一個是抽象的component組件類,第二個是

原创 觀察者模式

一:觀察者模式定義(發佈訂閱的區別): 定義對象間的一種一對多的依賴關係,當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知並被自動更新。 二:觀察者模式特點: 與發佈訂閱不同的是這個更新是由具體目標調用具體觀察者的方法進行更新。兩

原创 Spring Cloud總述

原文鏈接:https://windmt.com/2018/04/14/spring-cloud-1-services-governance/ Spring Cloud Netflix 是 Spr

原创 責任鏈模式

一:責任鏈模式定義(tomcat的啓動加載過程,攔截器) 使多個對象都有機會處理請求,從而避免了請求的發送者和接受者之間的耦合關係。將這些對象連成一條鏈,並沿着這條鏈傳遞該請求,直到有對象處理它爲止 二:責任鏈模式的特點 純責任鏈模式:一

原创 Hystrix

原文鏈接:https://windmt.com/2018/04/15/spring-cloud-4-hystrix/ 一:服務器雪崩故障發生的原因 1:服務提供者不可用:硬件故障,程序bug,緩

原创 網絡層高頻面試知識點(個人總結)

1:ip數據報格式 具體來說首部(一共20字節)包含以下幾個字段 版本:指明是Ipv4還是ipv6。Ipv6是爲了緩解ipv4地址不足引入(ipv6具體細節不清楚)。 總長度:16位,因此一個ip數據包的最大長度是65535字節。 標識

原创 Spring MVC高頻面試知識點(個人總結)

1:整體流程 1、用戶發送請求到前端控制器(DispatcherServlet)。 2、前端控制器請求處理器映射器(HandlerMapping)去查找處理器(Handler)。 3、找到以後處理器映射器(HandlerMapperin

原创 Spring中Bean的裝配方式

Bean的裝配可以理解爲DI,也就是Bean依賴注入的方式。下面對常見的三種方式進行總結。 基於XML的裝配 設置注入(Setter Injection) 要滿足兩個要求:一是Bean類必須提供一個默認的無參構造函數,二是Bean類必須爲

原创 Redis的跳躍表底層實現

跳躍表是一種有序的數據結構,主要用在zset(有序集合)和集羣節點的內部數據結構。在大部分情況下,跳躍表的效率可以和平衡樹相媲美,並且因爲跳躍表的實現比平衡樹要來得更爲簡單,所以有不少程序都使用跳躍表來代替平衡樹。注意mysql的底層採用

原创 Redis的字典結構底層設計

相比前兩種sds和list結構而言,字典的結構相對來說要複雜,主要涉及的都是和哈希相關的問題,包括但不限於哈希衝突的解決。哈希的擴容策略,哈希算法等。其主要用在redis的底層數據庫底層實現,哈希鍵的底層實現。   ht屬性是一個包含兩個