面試了滴滴、美團、京東等4家大廠,我總結了70道大廠高頻Java面試題及解析

熱衷技術的Java程式設計師發表於2020-10-08

整理的70道阿里的Java面試題,都來挑戰一下,看看自己有多厲害。

1、java事件機制包括哪三個部分?分別介紹。

2、為什麼要使用執行緒池?

3、執行緒池有什麼作用?

4、說說幾種常見的執行緒池及使用場景。

5、執行緒池都有哪幾種工作佇列?

6、怎麼理解無界佇列和有界佇列?

7、執行緒池中的幾種重要的引數及流程說明。

8、什麼是反射機制?

9、說說反射機制的作用。

10、反射機制會不會有效能問題?

11、你怎麼理解http協議?

12、說說http協議的工作流程。

13、http有哪些請求提交方式?

14、http中的200,302,403,404,500,503都代表什麼狀態?

15、http get和post有什麼區別?

16、你怎麼理解cookie和session,有哪些不同點?

17、什麼是web快取?有什麼優點?

18、什麼是https,說說https的工作原理?

19、什麼是http代理伺服器,有什麼用?

20、什麼是虛擬主機及實現原理?

21、什麼是Java虛擬機器,為什麼要使用?

22、說說Java虛擬機器的生命週期及體系結構。

23、說一說Java記憶體區域。

24、什麼是分散式系統?

25、分散式系統你會考慮哪些方面?

26、講一講TCP協議的三次握手和四次揮手流程。

27、為什麼TCP建立連線協議是三次握手,而關閉連線卻是四次握手呢?為什麼不能用兩次握手進行連線?

28、為什麼TCP TIME_WAIT狀態還需要等2MSL後才能返回到CLOSED狀態?

29、什麼是DoS、DDoS、DRDoS攻擊?如何防禦?

30、描述一下Java異常層次結構。

31、什麼是檢查異常,不受檢查異常,執行時異常?並分別舉例說明。

32、finally塊一定會執行嗎?

33、正常情況下,當在try塊或catch塊中遇到return語句時,finally語句塊在方法返回之前還是之後被執行?

34、try、catch、finally語句塊的執行順序。

35、Java虛擬機器中,資料型別可以分為哪幾類?

36、怎麼理解棧、堆?堆中存什麼?棧中存什麼?

37、為什麼要把堆和棧區分出來呢?棧中不是也可以儲存資料嗎?

38、在Java中,什麼是是棧的起始點,同是也是程式的起始點?

39、為什麼不把基本型別放堆中呢?

40、Java中的引數傳遞時傳值呢?還是傳引用?

41、Java中有沒有指標的概念?

42、Java中,棧的大小通過什麼引數來設定?

43、一個空Object物件的佔多大空間?

44、物件引用型別分為哪幾類?

45、講一講垃圾回收演算法。

46、如何解決記憶體碎片的問題?

47、如何解決同時存在的物件建立和物件回收問題?

48、講一講記憶體分代及生命週期。

49、什麼情況下觸發垃圾回收?

50、如何選擇合適的垃圾收集演算法?

51、JVM中最大堆大小有沒有限制?

52、堆大小通過什麼引數設定?

53、JVM有哪三種垃圾回收器?

54、吞吐量優先選擇什麼垃圾回收器?響應時間優先呢?

55、如何進行JVM調優?有哪些方法?

56、如何理解記憶體洩漏問題?有哪些情況會導致記憶體洩露?如何解決?

57、從分散式系統部署角度考慮,分哪幾層?

58、如何解決業務層的資料訪問問題?

59、為了解決資料庫伺服器的負擔,如何做資料庫的分佈?

60、什麼是著名的拜占庭將軍問題?

61、為什麼說TCP/IP協議是不可靠的?

62、講講CAP理念。

63、怎麼理解強一致性、單調一致性和最終一致性?

64、分散式系統設計你會考慮哪些策略?

65、最常見的資料分佈方式是什麼?

66、談一談一致性雜湊演算法。

67、paxos是什麼?

68、什麼是Lease機制?

69、如何理解選主演算法?

70、OSI有哪七層模型?TCP/IP是哪四層模型。

由於答案太多,在此沒能展示出來。筆者已經把面試題和答案整理成了面試專題文件,有想獲取到借鑑參考的朋友:點贊關注後,私信回覆【面試】即可(一定要記得關注我,不然沒辦法回覆陌生人私信}

 

 

 

相關文章