更新時間:2022-12-27 10:09:01 來源:動力節點 瀏覽1228次
面試永遠是我們成功成為程序員的第一道門檻,想要順利成功,就需要通過各種面試題的洗禮。這些都是小編精心整理出來的一些高級Java軟件工程師面試題,希望可以在職業的道路上幫助到大家:
1.哪個類包含 clone 方法?是 Cloneable 還是 Object?
java.lang.Cloneable 是一個標示性接口,不包含任何方法,clone 方法在 object 類中定義。并且需要知道clone() 方法是一個本地方法,這意味著它是由 c 或 c++ 或 其他本地語言實現的。
2.Java 中 ++ 操作符是線程安全的嗎?
不是線程安全的操作。它涉及到多個指令,如讀取變量值,增加,然后存儲回內存,這個過程可能會出現多個線程交差。
3.a = a + b 與 a += b 的區別
+= 隱式的將加操作的結果類型強制轉換為持有結果的類型。如果兩這個整型相加,如 byte、short 或者 int,首先會將它們提升到 int 類型,然后在執行加法操作。如果加法操作的結果比 a 的最大值要大,則 a+b 會出現編譯錯誤,但是 a += b 沒問題,如下:
byte a = 127;
byte b = 127;
b = a + b; // error : cannot convert from int to byte
b += a; // ok
(譯者注:這個地方應該表述的有誤,其實無論 a+b的值為多少,編譯器都會報錯,因為 a+b 操作會將 a、b提升為 int 類型,所以將 int 類型賦值給 byte 就會編譯出錯)
4.我能在不進行強制轉換的情況下將一個 double 值賦值給 long 類型的變量嗎?
不行,你不能在沒有強制類型轉換的前提下將一個 double 值賦值給 long 類型的變量,因為 double 類型的范圍比 long 類型更廣,所以必須要進行強制轉換。
5.為什么 Java 中的 String 是不可變的(Immutable)?
Java 中的 String 不可變是因為 Java 的設計者認為字符串使用非常頻繁,將字符串設置為不可變可以允許多個客戶端之間共享相同的字符串。
以上就是“精心整理的高級Java軟件工程師面試題”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節點Java官網。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習