前 10 個 Java 面試問題答案——在參加任何 Java 面試之前必須閱讀

已發表: 2016-03-01
Crunchify 的 10 大 Java 面試問題

自去年以來,我收到了很多電子郵件(每週超過 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
  • 繼承是polymorphismoverridingoverloadingcasting的基礎的關鍵概念。

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-JVM-HeapSize-Crunchify-提示

當 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 編程語言的一個子集。

Java 中的 JSON 教程 - Crunchify 技巧

有關 JSON 的詳細信息,請訪問:https://crunchify.com/what-is-json-javascript-object-notation/

按照這些教程了解如何在 java 中讀取 JSON 和 WRITE JSON 對象。

面試題7:

什麼是 Java 中的信號量和互斥量。 提供多線程相關的詳細解釋

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 有多熟悉? 請提供一些細節。

Spring MVC 設計和 Servlet 引擎 Tomcat - Crunchify 技巧

請訪問以下 3 個教程,這些教程涵蓋了 Spring MVC 的所有基礎知識:

  • Spring MVC 介紹
  • 你好世界示例
  • Spring MVC 和 JSP/Servlet

NOTE:在 Crunchify 上,我們確實有500 Java tutorials 。 如果您正在尋找更多不在列表中的教程,請告訴我們。