一個妹子網易Java崗社招面試經歷分享

2020-10-21 11:00:37

 

網易面試題

1. 物件導向的特點有哪些?

2. 列舉幾個java常用的package及其作用

3. 介面和抽象類有什麼聯絡和區別

4. 過載和重寫有什麼區別

5. java有哪些基本資料型別?

6. Java支援的資料型別有哪些?什麼是自動拆裝箱?

7. int 和 Integer 有什麼區別

8. 陣列有沒有length()方法?String有沒有length()方法?

9. Java中符號>>和>>>有什麼區別?

10. Java類的範例化順序

11. 什麼是值傳遞和參照傳遞

(1)值傳遞是對基本型變數而言的,傳遞的是該變數的一個副本,改變副本不影響原變數.

(2)參照傳遞一般是對於物件型變數而言的,傳遞的是該物件地址的一個副本, 並不是原物件本身 。


12. String能被繼承嗎?為什麼?

13. String和StringBuilder、StringBuffer的區別?

14. Java集合框架的基礎介面有哪些?

15. Java集合框架是什麼?說出一些集合框架的優點?

(1)每種程式語言中都有集合,最初的Java版本包含幾種集合類:Vector、Stack、HashTable和Array。隨著集合的廣泛使用,Java1.2提出了囊括所有集合介面、實現和演演算法的集合框架。在保證執行緒安全的情況下使用泛型和並行集合類,Java已經經歷了很久。它還包括在Java並行包中,阻塞介面以及它們的實現。

(2)集合框架的部分優點如下:

•使用核心集合類降低開發成本,而非實現我們自己的集合類。

•隨著使用經過嚴格測試的集合框架類,程式碼品質會得到提高。

•通過使用JDK附帶的集合類,可以降低程式碼維護成本。

•複用性和可操作性。


16. HashMap 與HashTable有什麼區別

17. ArrayList 和 LinkedList 有什麼區別?

18. 簡單介紹Java異常框架

19. java中的throw 和 throws關鍵字有什麼區別?

20. 列舉幾個常見的執行時異常?

21. final, finally, finalize有什麼區別

22. 描述Java記憶體模型


Java虛擬機器器規範中將Java執行時資料分為六種:

(1)程式計數器:是一個資料結構,用於儲存當前正常執行的程式的記憶體地址。Java虛擬機器器的多執行緒就是通過執行緒輪流切換並分配處理器時間來實現的,為了執行緒切換後能恢復到正確的位置,每條執行緒都需要一個獨立的程式計數器,互不影響,該區域為「執行緒私有」。

(2)Java虛擬機器器棧:執行緒私有的,與執行緒生命週期相同,用於儲存區域性變數表,操作棧,方法返回值。區域性變數表放著基本資料型別,還有物件的參照。

(3)本地方法棧:跟虛擬機器器棧很像,不過它是為虛擬機器器使用到的Native方法服務。

(4)Java堆:所有執行緒共用的一塊記憶體區域,物件範例幾乎都在這分配記憶體。

(5)方法區:各個執行緒共用的區域,儲存虛擬機器器載入的類資訊,常數,靜態變數,編譯後的程式碼。

(6)執行時常數池:代表執行時每個class檔案中的常數表。包括幾種常數:編譯時的數位常數、方法或者域的參照。

23. java中垃圾收集的方法有哪些?

24. 常見的垃圾收集演演算法

(1)標記-清除(Mark-Sweep)演演算法

(2)複製演演算法

( 3)標記 -整理 (Mark-Compact) 演演算法

25. 在JVM GC中如何判斷一個物件是否可以回收?

由於平臺不能直接傳送面試資料等原因,有需要這份網易面經學習筆記的朋友們只需要評論+轉發+關注,並且掃描下方小編二維條碼即可免費獲取!!!