溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java面試中的坑有哪些

發(fā)布時間:2022-01-05 14:56:03 來源:億速云 閱讀:143 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“java面試中的坑有哪些”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

NO1.大家看看這道題輸出應(yīng)該是啥?是否是三個5呢?

java面試中的坑有哪些

解答:結(jié)果是輸出5,5,5.這個題考察面試者是否了解類加載機制在處理類內(nèi)部類時的處理方式,虛擬機當加載靜態(tài)內(nèi)部類時如果是確定的屬性值時,虛擬機會直接將值存放到元存儲中(靜態(tài)方法區(qū)),其他未確定值需要在運行時動態(tài)計算,由虛擬機分配地址和值。如果設(shè)置的值不是static,那么不能直接訪問,因為此時值屬于對象而不是類。

NO2.看看這道題的輸出結(jié)果是多少?是100還是99?期待大家參與,下期給出答案。

java面試中的坑有哪些

解答:看了大家的回復(fù)結(jié)果,有幾位小伙伴回答是正確的,輸出結(jié)果是0.因為賦值運算在自增運算之前已經(jīng)完成了。 在這里JVM里面有兩個存儲區(qū),一個是暫存區(qū)(以下稱為堆棧),另一個是變量區(qū)。j=j++是先將j的值0存入堆棧中,然后對變量區(qū)中j自加1,這時j的值確實是1,但隨后將堆棧中的值賦給變量區(qū)的j,所以最后j=0; 而j=++j,是先對變量區(qū)中的j加1,再將變量區(qū)中的j值(1)存入堆棧,最后將堆棧中的值賦給自變量區(qū)的j,所以j=1;

NO3.考察一下你對數(shù)組和列表轉(zhuǎn)換的問題,下面的結(jié)果輸出幾呢?

java面試中的坑有哪些

解答:這道題答案是1,你的答案對不對呢?此題考察基本類型數(shù)組和引用類型數(shù)組,基本數(shù)據(jù)類型數(shù)組在轉(zhuǎn)換為列表時,如果直接傳遞數(shù)組,基本類型數(shù)組將被視為一個對象而不會被解析成數(shù)組,如果直接傳遞參數(shù)將能正常解析。希望大家看題看仔細。

NO4.此題考察大家對集合的equals的理解,下面程序輸出什么?

java面試中的坑有哪些

解答:此題答案輸出true.是不是很意外!我也覺得意外呢,兩個不同的類型竟然相同,簡直是顛覆了我的知識觀,其實兩個類型都重寫了equals方法,比較了內(nèi)容和元素長度,并未對類型進行首要比對。大家看到兩個類型的equals方法就明白為啥相等了。

NO5.switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String上?

解答:此題主要考察我們是否關(guān)注JDK每個升級版本帶來的變化,結(jié)果是支持byte,1.7(含)以后支持string,但是很遺憾不支持long。

NO6.至少說出三種如何取得從 1970 年 1 月 1 日 0 時 0 分 0 秒到現(xiàn)在的毫秒數(shù)?

此題據(jù)說難倒了很多工作4年以上的碼農(nóng)!好害怕。坦白說我自己也就知道下面一種,雖然我也是工作了很多年的老鳥....... 面試者:System.currentTimeMillis()。
面試官:親友團來把答案補上來,這個就是[優(yōu)必選]面試的一道題,想去智能機器人的看準了。

解答:

  1. System.currentTimeMillis()。

  2. new Date().getTime() 。

  3. Calendar.getInstance().getTimeInMillis()。

NO7.面試官:請說出三種獲取java類字節(jié)碼的方法?

面試者:Class.class,object.getClass(),除此之外沒有了吧?! 面試官:你可以想想JDBC知識,也許會幫你想起來。 面試者:沒有了......

解答:其實還有一種是通過反射來實現(xiàn),如圖所示

java面試中的坑有哪些

NO8.對JVM也有一些了解了,能簡單說下堆(heap)和棧(stack)的區(qū)別么?

java面試中的坑有哪些

解答:考察面試者對JVM中兩個重要的存儲單元的理解,因為篇幅有限,我就不一一描述, 大家可以很簡單搜索到答案的。這個地方一般面試官還會問到常量存到哪里,對象存儲哪里,類屬性存哪里等等。 可以看這篇文章:

https://blog.csdn.net/jasonwang18/article/details/70578647。

NO9. 我看你后端技術(shù)還可以,了解前端么?能跟我聊聊HTTP/1.1 與 HTTP/1.0 的區(qū)別?

java面試中的坑有哪些

解答:如圖所示

java面試中的坑有哪些

NO10.恩,回答的還不錯。講一下大家都聽過但不一定能講的明白的POST方法和GET方法區(qū)別?

面試者:

  • POST將請求參數(shù)隱藏進行傳遞,而GET會將參數(shù)拼接到請求地址后面?zhèn)鬟f;

  • POST相對比較安全而GET因為暴露參數(shù)容易被篡改;

  • 根據(jù)HTTP傳輸協(xié)議兩者對參數(shù)長度有不同的要求;

面試官:可以再多說一些,點基本講到了。

解答:其實回答的點基本是回答到了,其實兩者在與服務(wù)端發(fā)生交互時有所不同,POST方法會請求服務(wù)端兩次,第一次先發(fā)送頭部進行確認,服務(wù)端返回成功后再次發(fā)送數(shù)據(jù),而GET只需要請求服務(wù)端一次。同時強調(diào)一下GET方法中http協(xié)議并未做參數(shù)長度限制,只是不同瀏覽器和服務(wù)端做了限制而已。

“java面試中的坑有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI