java面試——2021校招提前批牛客面試經驗的總結問題

1Mybatis的#和$的區別?

2mybatis的executor的相關問題

3Mybatis的中的xml的配置

4java編碼方式 ?java的GBK和UTF-8的有什麼不同呢?數據庫裏面的編碼到java中到的應用到整個流程是如何實現編碼和解碼的?

5頁面提交數據庫的整個過程

6分頁的邏輯是什麼?

7配置的註解的原理

8 自動裝配的過程

9接口的方法的拆分和設計

10 手撕代碼:最長的路徑(一定手寫代碼,不能用IDEA)

11 說說Java的utils包下面的類

12 arraylist ,linkedlist

13 map用過嗎,hashmap說一下

14 hashmap擴容爲什麼要2的整數次冪

15 鏈表長度到8變成紅黑樹,爲什麼是8

16 comcurrenthashmap說一下

17爲什麼1.8改用cas+synchronized

 18 剛剛說到紅黑樹,紅黑樹說一說

19 分析紅黑樹的算法複雜度(沒答上來,忘了,小哥哥建議我之後去了解)

20 談談其他樹,分別的應用(說了b+樹,查找樹,平衡樹)

21 b+樹爲什麼適合做innodb底層數據結構

22 手撕:二叉樹層序遍歷

23 說說其他數據結構(棧,隊列,圖)

24 dubbo架構及原理說一下

25 Redis哪些數據結構,底層分別怎麼實現

26 項目中的難點分別解釋一下

27 對java虛擬機的瞭解

28 說說Java內存模型

29 說說juc包,原子類的底層實現

30 聊聊aqs,說說aqs的原理

31 reentrantlock非公平鎖,線程如何搶佔的具體(有點忘了)

32 手撕:一個單鏈表,求最大的前k個數

33手撕:最大子數組。一個數組[1,3,4,8,9],另一個數組[2,3,4,8,10],他們最長子數組是[3,4,8]。

34 問有沒有開源項目或者博客,給看了博客,給了建議,不要做了業務代碼就拋棄刷算法題

35http 協議 轉 dubbo 協議怎麼做的?

36 dubbo 的架構設計說一下;

37mq 通知時,消費者沒消費到怎麼辦

38redis 是單線程了嗎?有什麼好處

39一般設置過期時間嗎,業務場景有哪些,過期策略有哪些40redis 持久化了解不,你們線上怎麼用的

40你們線上爲什麼這麼用?只用AOF行不行

41抽象類和接口你傾向用哪個?什麼場景下用抽象類

42如何更好的實現一個單例

43synchronized 和 lock 區別

44公平鎖和非公平鎖

45、怎麼實現自定註解

46、類加載機制

47、如何實現自己的classloader

48、如何動態加載類

49、如何觸發full gc

50、用jvm命令如何觸發

51、瞭解過netty嗎

52、微服務瞭解過嗎,Service Mesh呢

53、五億數據,找出數量top100

54、10G數據,在內存小於10G如何分片

55、分片處理完如何彙總

56、分佈在多個節點上如何彙總

57、哈希取模如何哈希?哈希衝突怎麼辦?能完全解決哈希衝突嗎

58、數據庫樂觀鎖和悲觀鎖

59、秒殺系統如何設計?

60、redis分佈式鎖如何玩?超時時間如何設置

61、zk的監聽原理,你來實現你怎麼做

62、主動推送怎麼實現

63、消息如何保證一定被消費,如何沒有消費到怎麼辦

64、Redis 怎麼保證不丟數據,能不能保證嚴格意義的一定不會丟

65、Redis 集羣,生產環境Redis 如何做數據遷移

66、一致性hash算法

67、數據庫是怎麼保證一定不會丟失數據的

68、瀏覽器敲入一個域名,儘可能詳情的說下接下來網絡協議層面發生了什麼

69、瞭解過哪些鎖,volatile 說下

70頁面置換算法 (FIFO LRU LFU等)

71http cache瞭解嗎(不瞭解)

72java annotation用過嗎(不太熟悉,只使用過框架提供的)

73hashmap線程安全嗎(不安全,put方法不安全以及1.7的resize)

74GC機制(三種算法,分代收集等)

75MySQL索引(B+樹,相對B樹的優點)

76SQL查詢緩慢怎麼處理(用explain查看是否走索引,建立索引)

77業務中使用了多句SQL,怎麼處理(應該是問怎麼定位到改SQL語句,不太懂,只能答一句一句測試)、

78MySQL走索引怎麼查到數據(innodb引擎以頁的形式將數據儲存到磁盤,查詢時將頁讀入內存,在葉子節點中查取數據,葉

79點內部通過二分法查找,找不到轉到該頁指向的下一個頁繼續查詢)

80編程題
1 2 5 分硬幣不限,湊成1元有多少種方法
完全揹包問題

81進程的內核態和用戶態(用戶程序是不安全的,對操作系統敏感的操作需要用內核態執行保證安全)

82爲什麼需要三次握手(保證全雙工鏈接的建立以及確定seq)(答得不完全)

83滑動窗口(服務端響應客戶端緩存窗口的大小,客戶端來作擁塞控制和重傳)

84進程調度算法(RR算法,Linux採用的實時進程的FIFO和RR,普通進程的CFS)、

85設計模式(單例,工廠,代理,適配器)

86LFU的設計,讀取刪除達到O(1)怎麼設計 (HashMap再加多個鏈表,每個鏈表維護某個頻數的數據,leetcode原題)、

86智力題 兩顆篩子,可以寫0-9 10個數字,用來表示一個月的每一日(01-31),怎麼分配數字在面試官的提示下完成了。 0,1,2必須在每個篩子上都有,然後可以6倒過來變成9,這樣一個篩子爲0,1,2,3,4,5  另一個爲 0,1,2,6,7,8

87編程
尋找二叉樹相距最遠的兩個節點的距離
每個節點的左右子樹高度和的最大值 中途有些bug,在提示下修正

88JavaGC機制(答過了)

89 設計模式(答過了)

90 寫一個單例模式(雙重檢查加syn和valotile)

91c++多態怎麼實現的(不太懂c++,講了Java的,根據周志明的書講的)

92編程題判斷樹是否是完全二叉樹

93編程題:求二叉樹的深度

94、 編程題:求一個數組中的衆數    如果輸入的數組爲空,你會輸出什麼

95、 輸入網址後,會經歷哪幾個步驟

96、 其中DNS解析具體是解析什麼

97、 如果每個DNS對應一個ip,那麼這個是怎麼存儲的,存在哪裏

98、 Java中引用分爲幾種,分別解釋一下

99、 HashMap底層原理,當HashCode發生碰撞之後,怎麼解決這個問題

100、 HashMap的負載因子可以改變嗎,可以改爲1嗎?

101、HashMap的構造函數有多少種

102、HashMap線程安全的嗎?多線程使用會發生哪些問題,具體解釋一下怎麼發生問題,有哪些安全的Map

103、線程和進程的區別

104、進程中必須有線程嗎

105、爲什麼說TCp協議是安全的

106、怎麼確認客戶端和服務器端進行傳輸數據時,數據有沒有丟失,如果發現數據塊丟失會怎麼辦,會發送什麼請求,跟三次握手四次揮手有關係嗎

107、其他的流量控制有了解嗎

108 .假如面試的牛客網崩潰了,可能的原因有哪些呢?

109.網頁視頻傳輸是用的什麼協議??

110.說一下http和https協議的區別?當服務器向客戶端發送文件的時候是怎麼加密的?

111數據庫:假如建立一個學生成績表,你會怎麼建立?

112.常見的排序算法有哪些?

113.什麼是樹?什麼是圖?什麼情況下的圖是一顆樹。圖的出度與入度

114.java多線程

115.java的信號量與線程的區別

116.當我們執行一個APP時,發生了什麼??

117.你會怎麼學習客戶端開發?

118 手撕代碼:求pi

119 編程,leetcode03

網絡

120.http和https的區別

121.https建立連接的過程

122https抓包工具是如何實現的

語言

123java的equals()和==的區別

124.java常用的容器有哪些

125.java的多態和繼承是如何實現的

126.java的內存管理機制

127.java多線程中的鎖你用過哪些

操作系統

128.進程間通信哪幾種方式

129.線程間通信有哪幾種方式

130.虛擬內存,共享內存和常駐內存的區別

131.虛擬地址,邏輯地址和物理地址的區別

132.邏輯地址如何轉成物理地址

133.死鎖發生的條件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章