Java 高級面試知識點彙總!

一、經常使用設計模式java

單例模式:懶漢式、餓漢式、雙重校驗鎖、靜態加載,內部類加載、枚舉類加載。保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。mysql

代理模式:動態代理和靜態代理,何時使用動態代理。react

適配器模式:將一個類的接口轉換成客戶但願的另一個接口。適配器模式使得本來因爲接口不兼容而不能一塊兒工做的那些類能夠一塊兒工做。linux

裝飾者模式:動態給類加功能。nginx

觀察者模式:有時被稱做發佈/訂閱模式,觀察者模式定義了一種一對多的依賴關係,讓多個觀察者對象同時監聽某一個主題對象。這個主題對象在狀態發生變化時,會通知全部觀察者對象,使它們可以自動更新本身。redis

策略模式:定義一系列的算法,把它們一個個封裝起來, 而且使它們可相互替換。算法

外觀模式:爲子系統中的一組接口提供一個一致的界面,外觀模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。spring

命令模式:將一個請求封裝成一個對象,從而使您能夠用不一樣的請求對客戶進行參數化。sql

建立者模式:將一個複雜的構建與其表示相分離,使得一樣的構建過程能夠建立不一樣的表示。數據庫

抽象工廠模式:提供一個建立一系列相關或相互依賴對象的接口,而無需指定它們具體的類。

二、基礎知識

Java基本類型哪些,所佔字節和範圍

Set、List、Map的區別和聯繫

何時使用Hashmap

何時使用Linkedhashmap、Concurrenthashmap、Weakhashmap

哪些集合類是線程安全的

爲何Set、List、map不實現Cloneable和Serializable接口

Concurrenthashmap的實現,1.7和1.8的實現

Arrays.sort的實現

何時使用CopyOnArrayList

volatile的使用

synchronied的使用

reentrantlock的實現和Synchronied的區別

CAS的實現原理以及問題

AQS的實現原理

接口和抽象類的區別,何時使用

類加載機制的步驟,每一步作了什麼,static和final修改的成員變量的加載時機

雙親委派模型

反射機制:反射動態擦除泛型、反射動態調用方法等

動態綁定:父類引用指向子類對象

JVM內存管理機制:有哪些區域,每一個區域作了什麼

JVM垃圾回收機制:垃圾回收算法 垃圾回收器 垃圾回收策略

jvm參數的設置和jvm調優

什麼狀況產生年輕代內存溢出、什麼狀況產生年老代內存溢出

內部類:靜態內部類和匿名內部類的使用和區別

Redis和memcached:何時選擇redis,何時選擇memcached,內存模型和存儲策略是什麼樣的

MySQL的基本操做 主從數據庫一致性維護

mysql的優化策略有哪些

mysql索引的實現 B+樹的實現原理

什麼狀況索引不會命中,會形成全表掃描

java中bio nio aio的區別和聯繫

爲何bio是阻塞的 nio是非阻塞的 nio是模型是什麼樣的

Java io的總體架構和使用的設計模式

Reactor模型和Proactor模型

http請求報文結構和內容

http三次握手和四次揮手

rpc相關:如何設計一個rpc框架,從io模型 傳輸協議 序列化方式綜合考慮

Linux命令 統計,排序,前幾問題等

StringBuff 和StringBuilder的實現,底層實現是經過byte數據,外加數組的拷貝來實現的

cas操做的使用

內存緩存和數據庫的一致性同步實現

微服務的優缺點

線程池的參數問題

ip問題 如何判斷ip是否在多個ip段中

判斷數組兩個中任意兩個數之和是否爲給定的值

樂觀鎖和悲觀鎖的實現

synchronized實現原理

你在項目中遇到的困難和怎麼解決的

你在項目中完成的比較出色的亮點

消息隊列廣播模式和發佈/訂閱模式的區別

生產者消費者代碼實現

死鎖代碼實現

線程池:參數,每一個參數的做用,幾種不一樣線程池的比較,阻塞隊列的使用,拒絕策略

Future和ListenableFuture 異步回調相關

算法相關:判斷可否從數組中找出兩個數字和爲給定值,隨機生成1~10000不重複並放入數組,求數組的子數組的最大和,二分查找算法的實現及其時間複雜計算

三、其它

算法:經常使用排序算法,二分查找,鏈表相關,數組相關,字符串相關,樹相關等

常見序列化協議及其優缺點

memcached內存原理,爲何是基於塊的存儲

搭建一個rpc須要準備什麼

若是線上服務器頻繁地出現full gc ,如何去排查

若是某一時刻線上機器忽然量變得很大,服務扛不住了,怎麼解決

LUR算法的實現

LinkedHashMap實現LRU

定義棧的數據結構,請在該類型中實現一個可以找到棧最小元素的min函數

海量數據處理的解決思路

reactor模型的演變

阻塞、非阻塞、同步、異步區別

Collection的子接口

jvm調優相關

zookeeper相關,節點類型,如何實現服務發現和服務註冊

nginx負載均衡相關,讓你去實現負載均衡,該怎麼實現

linux命令,awk、cat、sort、cut、grep、uniq、wc、top等

壓力測試相關,怎麼分析,單接口壓測和多狀況下的壓測

你以爲你的有點是什麼,你的缺點是什麼

spring mvc的實現原理

netty底層實現,IO模型,ChannelPipeline的實現和原理

緩存的設計和優化

緩存和數據庫一致性同步解決方案

你所在項目的系統架構,談談總體實現

消息隊列的使用場景

ActiveMQ、RabbitMQ、Kafka的區別

掃描關注咱們的微信公衆號,乾貨天天更新。

image

相關文章
相關標籤/搜索