25個面試中最常問的問題和答案
原文連結:https://dzone.com/articles/top-25-java-interview-questions-amp-answers
作者:Pramod Kumar Srivastava
想要確保您的下一次Java面試成功嗎? 檢視這篇文章,瞭解有關常見Java面試問題的更多資訊,以及面試技巧!
簡介
作為最廣泛使用和部署的語言,Java 是 Web 領域的三大核心技術之一。 它由 James Gosling,Patrick Naughton 和 Mike Sheridan 於 1991 年建立。這種高階語言憑藉其一流的功能在IT行業中嶄露頭角,為開發人員提供了光明的未來。
為何如此重要?
在Java中,主要優點是它使開發人員能夠編寫在任何地方執行的程式碼( WORM ); 意思是不需要重新編譯。 無論系統的體系結構如何,Java 編譯的程式碼都可以在任何 JVM(Java 虛擬機器)上執行,使其成為最廣泛使用的計算機程式語言之一。 它是基於類和麵向物件的。
採訪階段:
以下是面試過程的三個主要階段:
階段一:邀請
當您在希望與之合作的組織申請工作時,僱主方面的第一步是稽核。 在稽核完簡歷後,如果您的表現(從簡歷中體現出來)非常適合該職位,您將收到面試邀請。 邀請可以通過各種形式傳送,如電子郵件,電話,訊息,甚至是信件。 但是,每一種形式都會保持專業,候選人也應如此。 請務必及時回覆邀請。
階段二:會議
下一階段是第一輪面對面訪談。 這樣做的主要目的是估計候選人的能力並瞭解他們的個性。 必須通過準時和專業的方式給僱主留下良好的第一印象。 突出你的優點,非常禮貌,接受你的弱點。 要自信而積極,但不要過度。
階段三:跟進
最後一個 - 當然不是 - 最不重要的階段是跟進工作。 這個階段可以成就或破壞機會。 必須採用專業的溝通方式進行後續工作。 您可以傳送電子郵件,表達對面試時間安排的欣賞,對提供機會的感激之情,或者只是給他們打電話感謝和諮詢工作相關的內容。
最常見的面試問題
1.在 Java 中類的定義在 Java 中,類是用於建立物件和定義資料型別的模板。 它充當面向 Java 語言的系統的構建塊。
2.靜態載入和動態載入有什麼區別?靜態類載入涉及使用新關鍵字來建立物件和例項,而動態載入是在編譯時不知道類的名稱的場景執行的。
3. 什麼是多執行緒多執行緒是一種程式設計概念,用於在單個程式中以併發方式執行多個任務。
4. 何時以及是誰開發的 Java ?Java 由 James Gosling 於 1995 年在 Sun Microsystem 中開發。
5. JDK,JRE 和JVM 分別代表什麼?
JVM 代表 Java 虛擬機器
JRE 代表 Java Runtime Environment
JDK 代表 Java Development Kit
6. Java 中使用指標嗎?不,Java不使用指標。 它具有嚴格的安全性。 而不是指標,Java中使用引用,因為與指標相比,它們更安全,更安全。
7.如何使用Java連線資料庫?使用Java連線資料庫的步驟如下:
註冊驅動程式類
建立連線
建立宣告
執行查詢
關閉連線
8. JVM和JRE的功能是什麼?JVM 為要執行的 Java 位元組程式碼提供執行時環境。 JRE 包括 JVM 在執行時期間所需的檔案集。
9.過載和覆蓋(重寫)有什麼區別?當有兩個名稱相同但屬性不同的方法時,它會過載。 當有兩個具有相同名稱和屬性的方法時,會發生覆蓋,一個在子類中,另一個在父類中。 檢視此帖子以獲得更深入的分析。
10.雜湊基於集合的負載因子的預設大小是多少?預設大小為0.75,預設容量計算如下: 初始容量*負載因子
11.什麼是包?包是相關類和介面的集合。
12.所有異常類的基類是什麼?Java.lang.Throwable 是所有異常類的超類,所有異常類都是從這個基類派生的。
13. equals()和= =之間有什麼區別?equals()方法用於檢查業務邏輯定義的兩個物件的相等性。 == 或等於運算子用於比較基元和物件。
14.說兩個內部類和子類之間的差異Inner類在同一個檔案中,子類可以在另一個檔案中。 考慮到這一點,雖然子類具有其父類的方法,但內部類獲取他們想要的方法。
15.如何用Java定義解構函式?由於Java有自己的垃圾收集,因此不需要定義解構函式。 垃圾收集機制自動執行物件的回收。
16. JSON定義JSON是JavaScript Object Notation的首字母縮寫。 它使用JavaScript語法,格式僅為文字。
17.列舉Java最重要的特性Java是一種獨立於平臺的語言。
18.什麼是匿名類?使用new關鍵字在單行程式碼中沒有名稱定義的類稱為匿名類。
19.什麼是JVM?JVM是Java虛擬機器,它是已編譯的Java類檔案的執行時環境。
20.死去的執行緒可以重新開啟嗎?不,處於死狀態的執行緒無法再次啟動。
21. 陣列是原始資料型別嗎?不,在Java中,陣列是物件。
22.什麼是Java中的建構函式?在Java中,建構函式是用於初始化物件的程式碼塊。
23.有哪些型別的構造器?有兩種型別的建構函式:
1、預設建構函式: 沒有引數的建構函式稱為預設建構函式。 如果我們沒有在類中定義建構函式,編譯器會為該類建立一個預設建構函式(沒有引數),如下所示:
// no-argument constructor
importjava.io.*;
classSprint
{
intnum;
String name;
// this would be invoked while object
// of that class created.
Sprint()
{
System.out.println("Constructor called");
}
}
class Z
{
publicstaticvoidmain (String[] args)
{
// this would invoke default constructor.
Sprint zeal1 = newSprint();
// Default constructor provides the default
// values to the object like 0, null
System.out.println(zeal1.name);
System.out.println(zeal1.num);
}
}
2、引數化建構函式 2.引數化建構函式具有已知引數的建構函式是引數化建構函式。 如果我們想用自己的值初始化類的欄位,那麼使用*引數建構函式。
// Java Program to illustrate calling of
// parameterized constructor.
import
java.io.*;
classSprint
{
// data members of the class.
String name;
int id;
// contructor would initialized data members
// with the values of passed arguments while
// object of that class created.
Sprint(String name, int id)
{
this.name = name;
this.id = id;
}
}
class Z
{
publicstaticvoid main (String[] args)
{
// this would invoke parameterized constructor.
Sprint zeal1 = newSprint("adam", 1);
System.out.println("Sprint Name :"+ zeal1.name +" and Sprint Id :" + zeal1.id);
}
}
24.解釋Java中的垃圾收器。在Java中,當不再使用或引用物件時,將呼叫垃圾收集並自動銷燬物件。
25.堆疊和佇列之間有什麼區別?堆疊和佇列之間的區別在於堆疊基於後進先出(LIFO)原則,而佇列基於FIFO(先進先出)原則。
其他面試技巧
在討論了採訪階段和常見的面試問題後,我們在此列出了一些快速麵試技巧,以幫助您完成面試:
準時,準時出現
隨時準備談論您的成就 - 無論是個人還是專業
檢查您的語言並避免使用填充物
瀏覽職位描述並找到您可以談論的關鍵要求
在回答之前,請仔細聆聽並花些時間收集您的想法
穿著和行為專業。
避免打斷面試官
攜帶所有必要的檔案
對公司進行簡要研究並瞭解他們的需求
感謝面試官的時間,並對批評也要禮貌
總結
我們已經嘗試收集訪談所需的所有基本資訊,但我們知道Java是一個很大的主題,也可以提出其他幾個問題。 根據您申請的行業型別準備面試,這裡提供的一些示例答案因行業型別而異。
總而言之,要誠實和積極 - 它超越所有其他品質!
-END-
近期熱文:
關注我
點選“閱讀原文”,看本號其他精彩內容