1. 程式人生 > 實用技巧 >面試了滴滴、美團、京東等4家大廠,我總結了70道大廠高頻Java面試題及解析

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

整理的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是哪四層模型。

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