摘要:適配器模式將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口。適配器模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。這個主題對象在狀態(tài)發(fā)生變化時,會通知所有觀察者對象,使它們能夠自動更新自己。
1、常用設(shè)計模式
單例模式:懶漢式、餓漢式、雙重校驗鎖、靜態(tài)加載,內(nèi)部類加載、枚舉類加載。保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。
代理模式:動態(tài)代理和靜態(tài)代理,什么時候使用動態(tài)代理。
適配器模式:將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口。適配器模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。
裝飾者模式:動態(tài)給類加功能。
觀察者模式:有時被稱作發(fā)布/訂閱模式,觀察者模式定義了一種一對多的依賴關(guān)系,讓多個觀察者對象同時監(jiān)聽某一個主題對象。這個主題對象在狀態(tài)發(fā)生變化時,會通知所有觀察者對象,使它們能夠自動更新自己。
策略模式:定義一系列的算法,把它們一個個封裝起來, 并且使它們可相互替換。
外觀模式:為子系統(tǒng)中的一組接口提供一個一致的界面,外觀模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用。
命令模式:將一個請求封裝成一個對象,從而使您可以用不同的請求對客戶進行參數(shù)化。
創(chuàng)建者模式:將一個復(fù)雜的構(gòu)建與其表示相分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。
抽象工廠模式:提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定它們具體的類。
2、基礎(chǔ)知識
Java基本類型哪些,所占字節(jié)和范圍
Set、List、Map的區(qū)別和聯(lián)系
什么時候使用Hashmap
什么時候使用Linkedhashmap、Concurrenthashmap、Weakhashmap
哪些集合類是線程安全的
為什么Set、List、map不實現(xiàn)Cloneable和Serializable接口
Concurrenthashmap的實現(xiàn),1.7和1.8的實現(xiàn)
Arrays.sort的實現(xiàn)
什么時候使用CopyOnArrayList
volatile的使用
synchronied的使用
reentrantlock的實現(xiàn)和Synchronied的區(qū)別
CAS的實現(xiàn)原理以及問題
AQS的實現(xiàn)原理
接口和抽象類的區(qū)別,什么時候使用
類加載機制的步驟,每一步做了什么,static和final修改的成員變量的加載時機
雙親委派模型
反射機制:反射動態(tài)擦除泛型、反射動態(tài)調(diào)用方法等
動態(tài)綁定:父類引用指向子類對象
JVM內(nèi)存管理機制:有哪些區(qū)域,每個區(qū)域做了什么
JVM垃圾回收機制:垃圾回收算法 垃圾回收器 垃圾回收策略
jvm參數(shù)的設(shè)置和jvm調(diào)優(yōu)
什么情況產(chǎn)生年輕代內(nèi)存溢出、什么情況產(chǎn)生年老代內(nèi)存溢出
內(nèi)部類:靜態(tài)內(nèi)部類和匿名內(nèi)部類的使用和區(qū)別
Redis和memcached:什么時候選擇redis,什么時候選擇memcached,內(nèi)存模型和存儲策略是什么樣的
MySQL的基本操作 主從數(shù)據(jù)庫一致性維護
mysql的優(yōu)化策略有哪些
mysql索引的實現(xiàn) B+樹的實現(xiàn)原理
什么情況索引不會命中,會造成全表掃描
java中bio nio aio的區(qū)別和聯(lián)系
為什么bio是阻塞的 nio是非阻塞的 nio是模型是什么樣的
Java io的整體架構(gòu)和使用的設(shè)計模式
Reactor模型和Proactor模型
http請求報文結(jié)構(gòu)和內(nèi)容
http三次握手和四次揮手
rpc相關(guān):如何設(shè)計一個rpc框架,從io模型 傳輸協(xié)議 序列化方式綜合考慮
Linux命令 統(tǒng)計,排序,前幾問題等
StringBuff 和StringBuilder的實現(xiàn),底層實現(xiàn)是通過byte數(shù)據(jù),外加數(shù)組的拷貝來實現(xiàn)的
cas操作的使用
內(nèi)存緩存和數(shù)據(jù)庫的一致性同步實現(xiàn)
微服務(wù)的優(yōu)缺點
線程池的參數(shù)問題
ip問題 如何判斷ip是否在多個ip段中
判斷數(shù)組兩個中任意兩個數(shù)之和是否為給定的值
樂觀鎖和悲觀鎖的實現(xiàn)
synchronized實現(xiàn)原理
你在項目中遇到的困難和怎么解決的
你在項目中完成的比較出色的亮點
消息隊列廣播模式和發(fā)布/訂閱模式的區(qū)別
生產(chǎn)者消費者代碼實現(xiàn)
死鎖代碼實現(xiàn)
線程池:參數(shù),每個參數(shù)的作用,幾種不同線程池的比較,阻塞隊列的使用,拒絕策略
Future和ListenableFuture 異步回調(diào)相關(guān)
算法相關(guān):判斷能否從數(shù)組中找出兩個數(shù)字和為給定值,隨機生成1~10000不重復(fù)并放入數(shù)組,求數(shù)組的子數(shù)組的最大和,二分查找算法的實現(xiàn)及其時間復(fù)雜計算
3、其它
算法:常用排序算法,二分查找,鏈表相關(guān),數(shù)組相關(guān),字符串相關(guān),樹相關(guān)等
常見序列化協(xié)議及其優(yōu)缺點
memcached內(nèi)存原理,為什么是基于塊的存儲
搭建一個rpc需要準(zhǔn)備什么
如果線上服務(wù)器頻繁地出現(xiàn)full gc ,如何去排查
如果某一時刻線上機器突然量變得很大,服務(wù)扛不住了,怎么解決
LUR算法的實現(xiàn)
LinkedHashMap實現(xiàn)LRU
定義棧的數(shù)據(jù)結(jié)構(gòu),請在該類型中實現(xiàn)一個能夠找到棧最小元素的min函數(shù)
海量數(shù)據(jù)處理的解決思路
reactor模型的演變
阻塞、非阻塞、同步、異步區(qū)別
Collection的子接口
jvm調(diào)優(yōu)相關(guān)
zookeeper相關(guān),節(jié)點類型,如何實現(xiàn)服務(wù)發(fā)現(xiàn)和服務(wù)注冊
nginx負載均衡相關(guān),讓你去實現(xiàn)負載均衡,該怎么實現(xiàn)
linux命令,awk、cat、sort、cut、grep、uniq、wc、top等
壓力測試相關(guān),怎么分析,單接口壓測和多情況下的壓測
你覺得你的有點是什么,你的缺點是什么
spring mvc的實現(xiàn)原理
netty底層實現(xiàn),IO模型,ChannelPipeline的實現(xiàn)和原理
緩存的設(shè)計和優(yōu)化
緩存和數(shù)據(jù)庫一致性同步解決方案
你所在項目的系統(tǒng)架構(gòu),談?wù)務(wù)w實現(xiàn)
消息隊列的使用場景
ActiveMQ、RabbitMQ、Kafka的區(qū)別
掃描關(guān)注我們的微信公眾號,干貨每天更新。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/71306.html
摘要:如問到是否使用某框架,實際是是問該框架的使用場景,有什么特點,和同類可框架對比一系列的問題。這兩個方向的區(qū)分點在于工作方向的側(cè)重點不同。 [TOC] 這是一份來自嗶哩嗶哩的Java面試Java面試 32個核心必考點完全解析(完) 課程預(yù)習(xí) 1.1 課程內(nèi)容分為三個模塊 基礎(chǔ)模塊: 技術(shù)崗位與面試 計算機基礎(chǔ) JVM原理 多線程 設(shè)計模式 數(shù)據(jù)結(jié)構(gòu)與算法 應(yīng)用模塊: 常用工具集 ...
閱讀 3547·2021-08-31 09:39
閱讀 1853·2019-08-30 13:14
閱讀 2917·2019-08-30 13:02
閱讀 2768·2019-08-29 13:22
閱讀 2340·2019-08-26 13:54
閱讀 766·2019-08-26 13:45
閱讀 1585·2019-08-26 11:00
閱讀 981·2019-08-26 10:58