BATJ大廠面試題之Java併發、spring、Netty,數據庫,緩存,Jvm

前言:

對於每一個求職者,有一份優秀的簡歷是很必要的,企業通過簡歷的篩選,會給予求職者面試的機會。然而,很多求職者就是在面試過程中與鍾情的工作失之交臂。如何在面試中取得成功呢?“細節決定成敗” ,有很多求職者有很強的專業技術,因為在面試過程中忽略了一些細節,從而失去了一次工作機會。下面介紹一些面試技巧。

BATJ大廠面試題之Java併發、spring、Netty,數據庫,緩存,Jvm

第一、 基礎很重要,不要生疏了

第二、 要關注技術前沿。

第三、 小公司比較看重知識的廣度,大公司更看重知識的深度

第四、 良好的簡歷設計可以為你的應聘加分。

第五、 要有積極的溝通意識。

第六、 要有良好的表達能力。

面試前的準備

其次,要了解面試公司的相關資料,可以去公司網站看下,如果有朋友在這個公司工作或熟悉這個公司的情況可以讓其幫忙介紹一下。瞭解公司的性質、企業文化、制度及發展狀況等,當然知道的越多越好。這樣能讓你明白公司對員工的要求和員工的未來發展。正所謂“知己知彼,百戰不殆”,至少這些內容可以讓你清楚你進入這個公司後的環境。

BATJ大廠面試題之Java併發、spring、Netty,數據庫,緩存,Jvm

Java面試題從基礎開始

1 、什麼是JVM? 為什麼Java是"平臺無關的編程語言"?

2、 什麼是JDK和JRE的區別?

3、 "靜態"的關鍵字是什麼意思? 你可以在Java重寫私有或靜態方法?

4、 您可以在靜態上下文中訪問非靜態變量?

5、 什麼是Java支持的數據類型? 什麼是自動裝箱Autoboxing和拆箱Unboxing?

6、 什麼是函數重載?

7、 什麼是構造函數,構造函數重載和拷貝構造函數?

8、 Java是否支持多重繼承?

9、 接口和抽象類之間的區別是什麼?

10、 什麼是按引用傳遞和按值傳遞?

11、heap 和stack 有什麼區別?

12、Math.round(11.5) 等於多少? Math.round(-11.5)等於多少?

13、String 是最基本的數據類型嗎?

14、float 型float f=3.4是否正確?

15、語句float f=1.3;編譯能否通過?

16、short s1 = 1; s1 = s1 + 1;有什麼錯?

17、Java 有沒有goto?

18、int 和Integer 有什麼區別?

19、&和&&的區別?

20、簡述邏輯操作(&,|,^)與條件操作(&&,||)的區別?

Java 併發面試題

1、synchronized 的實現原理以及鎖優化?

2、volatile 的實現原理?

3、Java 的信號燈?

4、synchronized 在靜態方法和普通方法的區別?

5、怎麼實現所有線程在等待某個事件的發生才會去執行?

6、CAS?CAS 有什麼缺陷,如何解決?

7、synchronized 和 lock 有什麼區別?

8、Hashtable 是怎麼加鎖的 ?

9、HashMap 的併發問題?

10、ConcurrenHashMap 介紹?1.8 中為什麼要用紅黑樹?

11、如何檢測死鎖?怎麼預防死鎖?

12、Condition接口及其實現原理

13、分段鎖的原理,鎖力度減小的思考

14、如何保證多線程下 i++ 結果正確?

15、線程池的種類,區別和使用場景?

16、分析線程池的實現原理和線程的調度過程?

17、線程池如何調優,最大數目如何確認?

18、ThreadLocal原理,用的時候需要注意什麼?

19、CountDownLatch 和 CyclicBarrier 的用法,以及相互之間的差別?

20、八種阻塞隊列以及各個阻塞隊列的特性

Spring面試題

1、BeanFactory 和 FactoryBean?

2、Spring IOC 的理解,其初始化過程?

3、BeanFactory 和 ApplicationContext?

4、Spring Bean 的生命週期,如何被管理的?

5、Spring Bean 的加載過程是怎樣的?

6、如果要你實現Spring AOP,請問怎麼實現?

7、如果要你實現Spring IOC,你會注意哪些問題?

8、Spring 是如何管理事務的,事務管理機制?

9、Spring 的不同事務傳播行為有哪些,幹什麼用的?

10、Spring 中用到了那些設計模式?

11、Spring MVC 的工作原理?

12、Spring 循環注入的原理?

13、Spring AOP的理解,各個術語,他們是怎麼相互工作的?

14、Spring 如何保證 Controller 併發的安全?

Netty面試題

1、BIO、NIO和AIO

2、Netty 的各大組件

3、Netty的線程模型

4、TCP 粘包/拆包的原因及解決方法

5、瞭解哪幾種序列化協議?包括使用場景和如何去選擇

6、Netty的零拷貝實現

7、Netty的高性能表現在哪些方面

分佈式相關面試題

1、Dubbo的底層實現原理和機制

2、描述一個服務從發佈到被消費的詳細過程

3、分佈式系統怎麼做服務治理

4、接口的冪等性的概念

5、消息中間件如何解決消息丟失問題

6、Dubbo的服務請求失敗怎麼處理

7、重連機制會不會造成錯誤

8、對分佈式事務的理解 。

9、如何實現負載均衡,有哪些算法可以實現?

10、Zookeeper的用途,選舉的原理是什麼?

11、數據的垂直拆分水平拆分。

12、zookeeper原理和適用場景

13、zookeeper watch機制

14、redis/zk節點宕機如何處理

15、分佈式集群下如何做到唯一序列號

16、如何做一個分佈式鎖

17、用過哪些MQ,怎麼用的,和其他mq比較有什麼優缺點,MQ的連接是線程安全的嗎

18、MQ系統的數據如何保證不丟失

19、列舉出你能想到的數據庫分庫分表策略;分庫分表後,如何解決全表查詢的問題

20、zookeeper的選舉策略

數據庫面試題

1、mysql分頁有什麼優化

2、悲觀鎖、樂觀鎖

3、組合索引,最左原則

4、mysql 的表鎖、行鎖

5、mysql 性能優化

6、mysql的索引分類:B+,hash;什麼情況用什麼索引

7、事務的特性和隔離級別

緩存面試題

1、Redis用過哪些數據數據,以及Redis底層怎麼實現

2、Redis緩存穿透,緩存雪崩

3、如何使用Redis來實現分佈式鎖

4、Redis的併發競爭問題如何解決

5、Redis持久化的幾種方式,優缺點是什麼,怎麼實現的

6、Redis的緩存失效策略

7、Redis集群,高可用,原理

8、Redis緩存分片

9、Redis的數據淘汰策略

JVM面試題

1、詳細jvm內存模型

2、講講什麼情況下回出現內存溢出,內存洩漏?

3、說說Java線程棧

4、JVM 年輕代到年老代的晉升過程的判斷條件是什麼呢?

5、JVM 出現 fullGC 很頻繁,怎麼去線上排查問題?

6、類加載為什麼要使用雙親委派模式,有沒有什麼場景是打破了這個模式?

7、類的實例化順序

8、JVM垃圾回收機制,何時觸發MinorGC等操作

9、JVM 中一次完整的 GC 流程(從 ygc 到 fgc)是怎樣的

10、各種回收器,各自優缺點,重點CMS、G1

11、各種回收算法

12、OOM錯誤,stackoverflow錯誤,permgen space錯誤

總結

由於篇幅限制,文章沒有帶詳細的面試題答案,但是都給大家整理成了PDF文檔資料,需要的朋友可以自取,自取,自取

java開發的資料(面試資源與經驗總結,Dubbo、Redis、設計模式、Netty、zookeeper、Spring cloud、分佈式、高併發等架構技術視頻教程資料,架構思維導圖,以及面試資料,瞭解最新的學習動態;瞭解最新的阿里、京東招聘資訊)

領取方式:關注+轉發+私信【面試】即可領取

面試資料:


BATJ大廠面試題之Java併發、spring、Netty,數據庫,緩存,Jvm


BATJ大廠面試題之Java併發、spring、Netty,數據庫,緩存,Jvm


分享到:


相關文章: