1. 程式人生 > 實用技巧 >2年工作經驗+JAVA社招面經詳細總結分享。

2年工作經驗+JAVA社招面經詳細總結分享。

廢話不多說,直接進主題!

在這裡插入圖片描述

java常用基礎面試知識點

1、java中==和equals和hashCode的區別

2、int、char、long各佔多少位元組數

3、int與integer的區別

4、探探對java多型的理解

5、String、StringBuffer、StringBuilder區別

6、什麼是內部類?內部類的作用

7、抽象類和介面區別

8、抽象類與介面的應用場景

9、抽象類是否可以沒有方法和屬性?

10、泛型中extends和super的區別

11、父類的靜態方法能否被子類重寫

12、final,finally,finalize的區別

13、序列化的方式

14、Serializable 和Parcelable 的區別

15、靜態屬性和靜態方法是否可以被繼承?是否可以被重寫?以及原因?

16、靜態內部類的設計意圖

17、成員內部類、靜態內部類、區域性內部類和匿名內部類的理解,以及專案中的應用

18、談談對kotlin的理解

19、string 轉換成 integer的方式及原理

20、說說你對Java反射的理解

21、說說你對Java註解的理解

22、說說你對依賴注入的理解

二.HashMap相關

1、HashMap的實現原理

2、HashMap資料結構?

3、HashMap原始碼理解

4、HashMap如何put資料(從HashMap原始碼角度講解)?

5、HashMap怎麼手寫實現?

6、ConcurrentHashMap的實現原理

7、ArrayMap和HashMap的對比

8、HashTable實現原理

9、TreeMap具體實現

10、HashMap和HashTable的區別

11、HashMap與HashSet的區別

12、HashSet與HashMap怎麼判斷集合元素重複?

13、二叉樹的深度優先遍歷和廣度優先遍歷的具體實現

14、堆和棧在記憶體中的區別是什麼(解答提示:可以從資料結構方面以及實際實現方面兩個方面去回答)?

15、講一下對樹,B+樹的理解

16、講一下對圖的理解

17、判斷單鏈表成環與否?

18、連結串列翻轉(即:翻轉一個單項鍊表)

19、合併多個單有序連結串列(假設都是遞增的)

三.鎖與多執行緒相關

1、synchronize的原理

2、談談對Synchronized關鍵字,類鎖,方法鎖,重入鎖的理解

3、static synchronized 方法的多執行緒訪問和作用

4、同一個類裡面兩個synchronized方法,兩個執行緒同時訪問的問題

5、lock原理

6、死鎖的四個必要條件?

7、怎麼避免死鎖?

8、物件鎖和類鎖是否會互相影響?

9、開啟執行緒的三種方式?

10、如何控制某個方法允許併發訪問執行緒的個數?

11、什麼導致執行緒阻塞?

12、如何保證執行緒安全?

13、如何實現執行緒同步?

14、兩個程序同時要求寫或者讀,能不能實現?如何防止程序的同步?

15、談談對多執行緒的理解

16、多執行緒有什麼要注意的問題?

17、談談你對併發程式設計的理解並舉例說明

18、談談你對多執行緒同步機制的理解?

19、如何保證多執行緒讀寫檔案的安全?

20、Java的併發、多執行緒、執行緒模型

四.MySQL相關

1、MySQL InnoDB、Mysaim的特點?

2、MySQL主備同步的基本原理。

3、select * from table t where size > 10 group by size order by size的sql語句執行順序?

4、如何優化資料庫效能(索引、分庫分表、批量操作、分頁演算法、升級硬碟SSD、業務優化、主從部署)

5、SQL什麼情況下不會使用索引(不包含,不等於,函式)

6、一般在什麼欄位上建索引(過濾資料最多的欄位)

7、如何從一張表中查出name欄位不包含“XYZ”的所有行?

8、MySQL,B+索引實現,行鎖實現,SQL優化

9、Redis,RDB和AOF,如何做高可用、叢集

10、如何解決高併發減庫存問題

11、mysql儲存引擎中索引的實現機制;

12、資料庫事務的幾種粒度;

五.Spring相關

1、SpringBoot 如何固定版本

2、SpringBoot 自動配置原理

3、SpringBoot 配置檔案注入

4、@Value 和 @ConfigurationProperties 比較

5、@PropertySource

6、@ImportResource

7、springboot 的 profile 載入

8、SpringBoot 啟用指定 profile 的幾種方式

9、SpringBoot 專案內部配置檔案載入順序

19、 SpringBoot 外部配置檔案載入順序

11、 Springboot 日誌關係

12、SpringBoot 如何擴充套件 SpringMVC 的配置

13、SpringBoot 如何註冊 filter , servlet , listener

14、SpringBoot 切換成 undertow

15、SpringBoot 的任務

16、SpringBoot 熱部署

17、SpringBoot 的監控

18、 SpringBoot 整合 redis

SpringBoot 是簡化 Spring 應用開發的一個框架。他整合了 Spring的技術棧,提供各種標準化的預設配置。使得我們可以快速開發 Spring 專案,免掉 xml 配置的麻煩。降低 Spring 專案的成本。

六.Redis等快取系統中介軟體相關

1、列舉一個常用的Redis客戶端的併發模型。

2、HBase如何實現模糊查詢?

3、列舉一個常用的訊息中介軟體,如果訊息要保序如何實現?

4、如何實現一個Hashtable?你的設計如何考慮Hash衝突?如何優化?

5、分散式快取,一致性hash

6、LRU演算法,slab分配,如何減少記憶體碎片

7、如何解決快取單機熱點問題

8、什麼是布隆過濾器,其實現原理是? False positive指的是?

9、memcache與redis的區別

10、zookeeper有什麼功能,選舉演算法如何進行

11、map/reduce過程,如何用map/reduce實現兩個資料來源的聯合統計

七.演算法相關

1、排序演算法有哪些?

2、最快的排序演算法是哪個?

3、手寫一個氣泡排序

4、手寫快速排序程式碼

5、快速排序的過程、時間複雜度、空間複雜度

6、手寫堆排序

7、堆排序過程、時間複雜度及空間複雜度

8、寫出你所知道的排序演算法及時空複雜度,穩定性

9、二叉樹給出根節點和目標節點,找出從根節點到目標節點的路徑

10、給阿里2萬多名員工按年齡排序應該選擇哪個演算法?

11、GC演算法(各種演算法的優缺點以及應用場景)

12、蟻群演算法與蒙特卡洛演算法

13、子串包含問題(KMP 演算法)寫程式碼實現

14、一個無序,不重複陣列,輸出N個元素,使得N個元素的和相加為M,給出時間複雜度、空間複雜度。手寫演算法

15、萬億級別的兩個URL檔案A和B,如何求出A和B的差集C(提示:Bit對映->hash分組->多檔案讀寫效率->磁碟定址以及應用層面對定址的優化)

最後

針對最近很多人都在面試,我這邊也整理了相當多的面試專題資料,也有其他大廠的面經。希望可以幫助到大家。

最新整理面試題
在這裡插入圖片描述

上述的面試題答案都整理成文件筆記。
也還整理了一些面試資料&最新2020收集的一些大廠的面試真題(都整理成文件,小部分截圖),有需要的可以點選進入暗號:qf

最新整理電子書

在這裡插入圖片描述

最新整理大廠面試文件

在這裡插入圖片描述
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援。一鍵三連哦!
在這裡插入圖片描述