原创 組件協作模式之模板方法模式(Tempalte Method)

文章目錄一、概念二、動機三、源代碼講解四、使用模板方法進行改進五、類圖結構六、要點總結七、應用場景 一、概念   定義一個操作中的算法的骨架(穩定),而將一些步驟延遲定義一個虛函數,讓子類去實現(重寫)這個虛函數>(變化)到子類<

原创 組件協作模式之觀察者模式(Observer)

文章目錄一、概念二、動機三、源代碼講解四、使用觀察者模式進行改進五、類圖結構六、要點總結 一、概念   定義對象間的一種一對多(變化)的依賴關係,以便當一個對象(Subject)的狀態發生改變時,所有依賴於它的對象都得到通知並自動

原创 接口隔離模式之適配器模式(Adapter)

文章目錄一、概念二、動機三、適配器模式的實現四、類圖結構五、要點總結 一、概念   將一個類的接口轉換成客戶希望的另一個接口。Adapter模式使得原本由於接口不兼容而不能一起工作的那些類可以一起工作。—《設計模式》Gof 二、動

原创 設計模式與面向對象設計原則

文章目錄一、分解與抽象1、分解-分而治之2、抽象-面向對象二、設計模式基本原則1、依賴倒置原則(DIP)2、開放封閉原則(OCP)3、單一職責原則(SRP)4、里氏替換原則(LSP)5、接口隔離原則(ISP)6、優先使用對象組合,

原创 MySQL如何建立和優化索引

1、優先使用自增的Key作爲主鍵 2、最左匹配原則 3、索引列不能參與計算 4、能擴展就不要新建索引 5、選擇區分度高的列作索引

原创 對象創建模式之抽象工廠模式(Abstract Factory)

文章目錄一、概念二、動機三、源代碼講解四、使用抽象工廠模式進行改進五、類圖結構六、要點總結 一、概念   提供一個接口,讓該接口負責創建一系列“相關或相互依賴的對象”,無需指定它們具體的類。 —《設計模式》Gof 二、動機   在

原创 接口隔離模式之代理模式(Proxy)

文章目錄一、概念二、動機三、源代碼講解四、使用代理模式進行改進五、類圖結構六、要點總結 一、概念   爲其他對象提供一種代理以控制(隔離,使用接口)對這個對象的訪問。—《設計模式》Gof 二、動機   在面向對象系統中,有些對象由

原创 組件協作模式之策略模式(Strategy)

文章目錄一、概念二、動機三、源代碼講解四、使用策略模式進行改進五、類圖結構六、要點總結 一、概念   定義一系列算法,把他們一個個封裝起來,並且使他們可以互相替換(變化<各個算法>)。該模式使得算法可獨立於使用它的客戶程序(穩定<

原创 UML各種類圖總結

文章目錄一、用例圖二、類圖1、泛化2、實現3、關聯4、聚合5、組合6、依賴7、各種類圖關係三、對象圖四、狀態圖五、活動圖六、序列圖-時序圖1、生命線2、同步消息3、異步消息4、註釋5、約束七、協作圖八、構件圖九、部署圖 一、用例圖

原创 單一職責模式之裝飾模式(Decorator)

文章目錄一、概念二、動機三、源代碼講解四、使用裝飾模式進行改進五、類圖結構六、要點總結 一、概念   動態(組合)地給一個對象增加一些額外的職責。就增加功能而言,Decorator模式比生成子類(繼承)更爲靈活(消除重複代碼 &

原创 2020屆秋招面試總結

  2019年秋招算是告一段落了,從3月份找實習開始到現在也有大半年了,個人感覺秋招就是一個不斷積累經驗、提升自己的過程,簡單總結下就是:基礎、算法、項目、實習和表達能力。 一、個人基本情況   本科雙非,碩士末流985,本碩都是

原创 面試中常見的智力題

一、提燈過橋問題   題目:小明一家過一座橋,過橋時是黑夜,所以必須有燈。現在小明過橋要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的媽媽要8秒,小明的爺爺要12秒。每次此橋最多可過兩人,而過橋的速度依過橋最慢者而定,而且燈在點

原创 Linux系統中重要的命令

文章目錄一、硬盤和內存相關指令1、df2、top3、free二、進程和線程狀態相關命令1、ps2、kill3、ipcs4、ipcrm5、pstree/ps -lf/ps -elf三、網絡狀態相關命令1、netstat2、iptable

原创 gdb調試詳解

文章目錄一、gdb調試簡介及常用命令1、編譯代碼並啓動gdb2、調試選項(1)查看源碼(l)(2)設置斷點(b)(3)運行程序(r)(4)執行下一句代碼(n)(5)執行多句代碼(c)(6)打印變量的值(p)(7)自動打印變量的值(di

原创 52、鏈表中環的入口結點

題目描述:   給一個鏈表,若其中包含環,請找出該鏈表的環的入口結點,否則,輸出null。 解題思路:   假設存在環,fast以速度2運行,slow以速度1運行,在slow走到入口t時,如圖(m1爲在slow首次到t時fast的位置