如果您正在尋找 Java 相關工作,則必須準備適合應屆生的 Java 面試問題。雖然每次面試的情況不同,工作範圍也不同,但我們可以幫助您解答 2023 年 Java 面試熱門問題和答案,這將幫助您在 Java 面試中取得飛躍並取得成功。
第 1 部分 – Java 面試問題(基礎)
第一部分涵蓋基本的面試問題和答案。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
1. Java 中字串緩衝區和字串產生器的差異
答案:
這是面試官最喜歡問的問題之一;然而,卻常被考生回答得很慘。
以下是字串緩衝區和字串產生器之間的一些顯著差異,以便更好地理解。
2. StringBuilder 是 StringBuffer 類別的非同步版本。 StringBuilder 中的方法
例如,所有重載版本的append()方法都不是同步的。
- StringBuilder 比 StringBuffer 工作得更快,因為沒有取得和釋放與同步方法相關的鎖定的開銷。
- StringBuffer 被認為是線程安全的,而 StringBuilder 則不是。當需要同步時,建議使用StringBuffer類別。 StringBuilder 的實例不應在多個執行緒之間共用。
- StringBuffer 是舊類別;它從第一個版本就被納入 JDK 中,而 StringBuilder 是一個相對較新的類別。
3. Java程式找出整數陣列中最突出和最小的數字
答案:
用一個簡單的5點來回答這個問題
- 建立一個名為 MaximumMinimumArrayDemo.java 的 Java 原始文件,並複製程式碼以在您最喜歡的 IDE 中編譯和執行。
- 建立一個名為largest和smallest(int []數字)的方法來列印傳遞給程式的int數組中最突出和最小的數字。
- 使用最大值和最小值變數來儲存數組中的最大值和最小值。最初,最大的值使用 Integer.MIN_VALUE 初始化,最小的值使用 Integer.MAX_VALUE 初始化。
- 對於循環的所有迭代,比較當前數字的最大到最小並相應地更新它們。
- 如果一個數字比最大的數字更重要,那麼它就不能小於最小的數字,這意味著你不需要檢查第一個條件是否準確;這就是為什麼我們使用if-else 程式碼區塊,其中else 部分僅在第一個條件無效時才會執行。
下面給出了Java中從陣列中找出最大元素的邏輯。
我們沒有使用 Integer.MAX_VALUE 分配變量,而是分配了數組中的第一個元素。
3. C++ 和 Java 有什麼差別?
答案:
C++和Java僅在語法比較上相似。差異如下:
- Java 是多執行緒的
- Java 沒有指標
- Java有自動記憶體管理(垃圾回收)
- Java 是平台無關的
- Java 內建了註解文件的支援
- Java 沒有運算子重載
Java 不提供多重繼承
第 2 部分 – Java 面試問題(進階)
現在讓我們來看看高階面試問題。
4.抽象類別和介面有什麼差別?
答案:
-
多重繼承:一個抽象類別只能繼承一個抽象類別;然而,一個類別可以在介面中實作多個介面。這證明Interface支援多重繼承,而Abstract類別不支援。
-
實作:抽象類別可以提供預設程式碼,因為它包含不完整和完整的成員,而介面不能提供任何程式碼,因為它包含不完整的成員。
-
欄位:我們可以在抽象類別中定義欄位和約束,而介面中不能定義欄位。
-
速度:與介面相比,抽象類別速度更快,因為後者需要更多時間來尋找對應類別的方法。
-
用法:當我們想要在父子關係中共享公共功能時,抽象類別就出現了,而 Interface 用於定義和強制多態性、解耦和標準化
5. Java 中 private、protected、public 和 package 修飾符或關鍵字之間的差異
答案:
Java 中的私有、公有、受保護、套件
Java 有四種存取修飾符,分別是 private、protected、public 和套件層級。
這些存取修飾符的作用是限制其所應用的類別、方法或變數的可訪問性。以下描述的是每個存取修飾符的功能以及它們之間的差異
Java 中的私有關鍵字
- Java 中的 private 修飾符可以套用於 Java 中的成員欄位、方法或巢狀類別。
- 不能在頂層類別上使用 private 修飾符。
- 私有變數、方法和類別只能在聲明它們的類別上存取。
- 私有化 Java API 提供的最高形式的封裝,應盡可能使用。
預設將變數宣告為私有是 Java 中的最佳編碼實作。私有方法只能從宣告它的類別中呼叫。
Java 中的套件或預設存取等級
- package是Java中用來宣告套件的關鍵字;套件是Java中類別所屬的目錄。
- 套件或預設存取等級是僅次於 private 的第二高限制性存取修飾符,任何宣告為 package-private 的變數、方法或類別只能在其所屬的套件上存取。
預設修飾符的好處是,如果沒有類別級存取修飾符,頂層類別也可以是包私有的。
Java 中受保護的關鍵字
如果你聲稱一個變數 protected 意味著任何人都可以使用它,只要他們擴展你的類別。頂級類別也無法受到保護。
Java 中的公開關鍵字
public 是Java 程式語言中限制性最小的存取修飾符,將欄位、方法或類別預設為public 是不好的做法,因為一旦將其設為public,就很難對其內部進行任何更改類別的結構,因為它影響所有使用它的客戶端。
製作類別或實例變量,public也違反了封裝原則,一點都不好,而且很影響維護。
推薦文章
我們希望這份關於「Java面試題」的EDUCBA資訊對您有所幫助。您可以查看EDUCBA的推薦文章以了解更多資訊。
- Java 開發者面試問題
- Java多執行緒面試題
- J2EE面試問題
- Java String 面試題
以上是Java面試題的詳細內容。更多資訊請關注PHP中文網其他相關文章!