一、先來解讀:23種設計模式要點
1.單例模式(Singleton Pattern)
2.工廠模式
3.抽象工廠模式(Abstract Factory Pattern)
4.模板方法模式(Template Method Pattern)
5.建造者模式(Builder Pattern)
6.代理模式(Proxy Pattern)
7.原型模式(Prototype Pattern)
8.中介者模式
9.命令模式
10.責任鏈模式
11.裝飾模式(Decorator Pattern)
12.策略模式(Strategy Pattern)
13.適配器模式(Adapter Pattern)
14.迭代器模式(Iterator Pattern)
15.組合模式((Composite Pattern))
16.觀察者模式(Observer Pattern)
17.門面模式(Facade Pattern)
18.備忘錄模式(Memento Pattern)
19.訪問者模式(Visitor Pattern)
20.狀態模式(復雜)
21.解釋器模式(Interpreter Pattern)(少用)
22.享元模式(Flyweight Pattern)
23.橋梁模式(Bridge Pattern)
… …
二、六大設計原則(來源:《您的設計模式》)
- 單一職責原則【Single Responsibility Principle】
- 里氏替換原則【Liskov Substitution Principle】
-
依賴倒置原則【Dependence Inversion Principle】
-
接口隔離原則【Interface Segregation Principle】
-
迪米特法則【Low Of Demeter】
- 開閉原則【Open Close Principle】
三、《大話設計模式》
通篇是以情景對話的形式,用一個又一個的小故事或者編程示例來組織的。共分為四個部分…
-
第一部分是面向對象的意義和好處以及幾個重要的設計原則,通過小菜面試的失敗引出;
-
第二部分是詳細講解23個設計模式;
-
第三部分是對設計模式的總結,利用小菜夢想到的超級模式大賽的場景,把所有的面向對象和模式概念都擬人化來趣味總結設計模式之間的異同和關鍵點;
-
第四部分是附錄,主要是針對對面向對象不熟悉者的一個補充,通過一個例子的演變介紹了類、封裝、繼承、多態、接口、事件等概念。
內容偏多,篇幅有限,先上一份總目錄看看大概的內容有哪些…
四、面試常問的設計模式
-
請列舉出在 JDK 中幾個常用的設計模式?
-
什么是設計模式?你是否在你的代碼里面使用過任
-
Java 中什么叫單例設計模式?請用 Java 寫出線程安全的單例模式
-
在 Java 中,什么叫觀察者設計模式(observer design pattern
-
使用工廠模式最主要的好處是什么?在哪里使用?
-
舉一個用 Java 實現的裝飾模式(decorator design pattern) ?它是作用于對象層次還是類層次?
-
在 Java 中,為什么不允許從靜態方法中訪問非靜態變量?
-
設計一個 ATM 機,請說出你的設計思路?
-
在 Java 中,什么時候用重載,什么時候用重寫?
-
舉例說明什么情況下會更傾向于使用抽象類而不是接口?
-
… …
總結
三個工作日收到了offer,頭條面試體驗還是很棒的,這次的頭條面試好像每面技術都問了我算法,然后就是中間件、MySQL、Redis、Kafka、網絡等等。
如果你對下面我說的這些筆記感興趣,可以點贊+關注后,戳這里即可免費領取
- 第一個是算法
關于算法,我覺得最好的是刷題,作死的刷的,多做多練習,加上自己的理解,還是比較容易拿下的。
而且,我貌似是將《算法刷題LeetCode中文版》、《算法的樂趣》大概都過了一遍,尤其是這本
《算法刷題LeetCode中文版》總共有15個章節:編程技巧、線性表、字符串、棧和隊列、樹、排序、查找、暴力枚舉法、廣度優先搜索、深度優先搜索、分治法、貪心法、動態規劃、圖、細節實現題
《算法的樂趣》共有23個章節:
- 第二個是Redis、MySQL、kafka(給大家看下我都有哪些復習筆記)
基本上都是面試真題解析、筆記和學習大綱圖,感覺復習也就需要這些吧(個人意見)
- 第三個是網絡(給大家看一本我之前得到的《JAVA核心知識整理》包括30個章節分類,這本283頁的JAVA核心知識整理還是很不錯的,一次性總結了30個分享的大知識點)
是面試真題解析、筆記和學習大綱圖,感覺復習也就需要這些吧(個人意見)
[外鏈圖片轉存中…(img-KPprpk7T-1626343998988)]
- 第三個是網絡(給大家看一本我之前得到的《JAVA核心知識整理》包括30個章節分類,這本283頁的JAVA核心知識整理還是很不錯的,一次性總結了30個分享的大知識點)