當前位置:才華齋>IT認證>JAVA認證>

Java工程師面試題及答案

JAVA認證 閱讀(2.95W)

現在就快到企業的招聘季了,你們準備好去面試了嗎?今天小編收集了一些面試中常會問道的問題給大家,希望能給大家帶來幫助哦!也祝各位同學都能找到讓自己滿意的工作!

Java工程師面試題及答案

  1. 如何判斷一個數是2的冪。

個人認為,數字轉化為二進位制,符號位為0,餘下部分有且只有最左邊一位是1,其餘位都是0,才是2的冪。原理是 乘二則向左進一位。

  2.陷阱試題

在Java中,Throwable是一個介面還是抽象類?

  script 題目

  4. 二進位制演算法以及思維陷阱題

現有一千瓶藥水,其中九百九十九瓶是完全一樣的,只有一瓶裡面是毒藥,但是外觀上分辨不出來。毒藥如果給小白鼠喝一點,一星期後這隻小白鼠會突然死亡,但之前一點症狀也沒有。現需要在一星期內找出哪瓶是毒藥,問至少需要幾隻小白鼠?

  資料範圍

在Java中, 有一個數字,比如100億,可以使用 int 來儲存嗎?

100億 * 100億呢,可以用什麼型別來儲存?

這樣計算, int 型別是32位,4個位元組,2的10次方是 1024,大約是1K,2^20 = 1M,約100萬, 2^30= 1G,大約是10億,所以整數只能存大約40億個數字,正數22E個,所以 100億可以使用long來儲存,但不能使用 int來儲存。

long是64位,因為 32位存放不下100億,所以64位也存放不下 100億 * 100億,只能使用特殊的型別啦,比如K神所說的 BigInteger,或者 BigDecimal來存放。

一個測試程式:

  6. Java面試題: 如何在一個interface 中執行一些操作

  L中UUID做主鍵如何變得有序呢?

返回的結果如下所示:

  8.為什麼JSON定義的標準中,屬性名需要用引號引起來呢,像下面的name一樣?

應該考慮到各種系統,各種關鍵字以及識別符號的組成不同,而且會有Map等情況

  9.關於JVM

有個萬(wu)能(lai) 的面試技巧,你可以問求職者,這個背後的思想是什麼,你理解他的原理嗎,為什麼要這樣實現,如果讓你自己寫,多長時間做一個基礎版本出來?

GC 有哪幾種, 每個JDK版本中有什麼區別, 哪幾種演算法比較好, 適合什麼情況, 其回收的思想是什麼,怎麼實現的`,優缺點是什麼,你要如何調優。。。

  10.面試題: Java 中, 下面的這種用法有什麼問題?

Date nextMonth = new Date(newDate()ime() + 30*24*60*60*1000);

當然,這種用法是很不好的,加一個月應該使用的是Calendar 類,Calendar是Java的標準工具類,在 包下面.

Date today = new Date();

Calendar cal = nstance();

ime(today);

(H, 1); // 加一個月

(, -1); // 減一天

//

Date nextM = ime();

tln(nextM);

更坑的在這裡:

long n = 30*24*60*60*1000;

long nl = 30*24*60*60*1000L;

tln("n="+n);

tln("nl="+nl);

可以參考下面的輸出結果:

n=-1702967296

nl=2592000000

提示: int 值可以放下多大的值?