前 10 個 Java 面試問題答案——在參加任何 Java 面試之前必須閱讀
已發表: 2016-03-01
自去年以來,我收到了很多電子郵件(每週超過 10 封電子郵件),詢問為什麼不為讀者發布Java Interview Questions
和答案。
從上週開始,我一直在考慮這個問題,最終決定將 Java 面試的熱門問題放在 Crunchify 上。
Please note
- 沒有關於最佳面試問題的東西,但我們可以在這次面試會議中盡力涵蓋有關 Java、Spring MVC、Maven、Apache Tomcat 和 J2EE 技巧的所有基本基礎知識。
這是 Java 面試問題的1st part
,在這篇文章中我們確實有前 10 名。 如果您希望我們提出next top 10
面試問題,請提供您的feedback and suggestions
。
此外,如果您低於所有問題,那麼您來對地方了。
- 應屆生java面試問題和答案
- 最好的java面試問題
- 進階java面試秘籍
- 有經驗的java面試題
- java編程面試題
- 3年java面試經驗
- 經驗豐富的專業人士的java面試問題
- 5年經驗的java面試題
讓我們開始吧…
面試問題1:
3個主要的面向對象編程(OOP)概念是什麼?
1.封裝
Encapsulation
是一種機制,開發人員可以通過該機制將實現隱藏在接口後面。- 封裝代碼有兩個特點:
- 實例變量受到保護(通常使用 private 修飾符)。
- Getter 和 setter 方法提供對實例變量的訪問。
- 請看一下教程:完整的端到端工作封裝示例
- 公共
setName()
和getName()
方法是實例變量的訪問點。
- 公共
2. 繼承
- 繼承允許類成為超類的子類,從而繼承超類的
public and protected
variables and methods
。 - 繼承是
polymorphism
、overriding
、overloading
和casting
的基礎的關鍵概念。
3. 多態性
Polymorphism
意味著“多種形式”。- 引用變量始終是單一的、不可更改的類型,但它可以引用子類型對象。
- 單個對象可以被許多不同類型的引用變量引用——只要它們是相同類型或對象的超類型。
- 多態方法調用僅適用於被覆蓋的實例方法。
面試問題2:
你知道 Java 中的守護線程嗎?
Java 中的守護線程就像是其他線程或對象的服務提供者,它們運行在與守護線程相同的進程中。 守護線程用於後台支持任務,僅在正常線程執行時才需要。 如果正常線程沒有運行並且剩餘線程是守護線程,則解釋器退出。
請看完整的例子:https://crunchify.com/what-is-daemon-thread-in-java-example-attached/
面試題3:
什麼是單例模式,您知道如何使其線程安全且快速嗎?
singleton pattern
是一種將類的實例化限制為one object
的設計模式。 當需要一個對象來協調整個系統的動作時,這很有用。
請查看詳細示例:https://crunchify.com/thread-safe-and-a-fast-singleton-implementation-in-java/
面試題4:
什麼是JVM? 你知道堆大小、堆棧大小和垃圾收集嗎? 請分享更多的光。

當 Java 程序啟動時,Java 虛擬機從操作系統獲取一些內存。 Java 虛擬機或 JVM 使用此內存來滿足其所有需求,並且此內存的一部分稱為 java 堆內存。

請看詳細教程:https://crunchify.com/jvm-tuning-heapsize-stacksize-garbage-collection-fundamental/
面試問題5:
用Java編寫一個程序,計算字符、單詞和行的總數
這是一個比較常見的問題。 請訪問完整教程了解更多信息:https://crunchify.com/how-to-read-file-in-java-and-count-total-number-of-characters-words-and-lines/

面試問題6:
什麼是 JSON 以及如何從文件中讀取 JSON 對象?
JSON
(JavaScript Object Notation)是一種輕量級的數據交換格式。 人類很容易閱讀和寫作。 機器很容易解析和生成。 它基於 JavaScript 編程語言的一個子集。

有關 JSON 的詳細信息,請訪問:https://crunchify.com/what-is-json-javascript-object-notation/
按照這些教程了解如何在 java 中讀取 JSON 和 WRITE JSON 對象。
面試題7:
什麼是 Java 中的信號量和互斥量。 提供多線程相關的詳細解釋

Java並發是一個非常廣泛的話題。 有數百個教程和示例可供使用。 前段時間我寫過一些關於在 Java 中並發運行多個線程和不同類型的同步塊的教程。
請訪問詳細教程以獲得更多解釋:https://crunchify.com/what-is-java-semaphore-and-mutex-java-concurrency-multithread-explained-with-example/
面試題8:
你知道HashMap、ConcurrentHashMap、SynchronizedMap嗎? 哪個更快?
HashMap
是 Java 中非常強大的數據結構。 我們每天都在使用它,幾乎在所有應用程序中都使用它。 我建議您訪問教程以獲取更多詳細信息:https://crunchify.com/hashmap-vs-concurrenthashmap-vs-synchronizedmap-how-a-hashmap-can-be-synchronized-in-java/
面試題9:
Java中的抽像類和接口是什麼?
這道題也是非常流行的Java面試題。 這是一個非常大的話題,我們確實有完整的教程,這裡有所有細節。
- Java中的抽像類
- Java中的接口
面試問題10:
你對 Spring MVC 有多熟悉? 請提供一些細節。

請訪問以下 3 個教程,這些教程涵蓋了 Spring MVC 的所有基礎知識:
- Spring MVC 介紹
- 你好世界示例
- Spring MVC 和 JSP/Servlet
NOTE:
在 Crunchify 上,我們確實有500 Java tutorials
。 如果您正在尋找更多不在列表中的教程,請告訴我們。