標籤:計時 str 同步 jar包 nginx mysq awk 線程並發 ant
> 面試題附帶答案
1. junit用法,before,beforeClass,after, afterClass的執行順序
2. 分布式鎖
3. nginx的請求轉寄演算法,如何配置根據權重轉寄
4. 用hashmap實現redis有什麼問題(死結,死迴圈,可用ConcurrentHashmap)
5. 線程的狀態
5. 線程的阻塞的方式
6. sleep和wait的區別
7. hashmap的底層實現
8. 一萬個人搶100個紅包,如何?(不用隊列),如何保證2個人不能搶到同一個紅包,可用分布式鎖
9. java記憶體模型,記憶體回收機制,不可達演算法
10. 兩個Integer的引用對象傳給一個swap方法在方法內部交換引用,返回後,兩個引用的值是否會發現變化
11. aop的底層實現,動態代理是如何動態,假如有100個對象,如何動態為這100個對象代理
12. 是否用過maven install。 maven test。git(make install是安裝本地jar包)
13. tomcat的各種配置,如何配置docBase
14. spring的bean配置的幾種方式
15. web.xml的配置
16. spring的監聽器。
17. zookeeper的實現機制,有緩衝,如何儲存註冊服務的
18. IO會阻塞嗎?readLine是不是阻塞的
19. 用過spring的線程池還是java的線程池?
20. 字串的格式化方法 (20,21這兩個問題問的太低級了)
21. 時間的格式化方法
22. 定時器用什麼做的
23. 線程如何退出結束
24. java有哪些鎖?樂觀鎖 悲觀鎖 synchronized 可重新進入鎖 讀寫鎖,用過reentrantlock嗎?reentrantlock與synmchronized的區別
25. ThreadLocal的使用情境
26. java的記憶體模型,記憶體回收機制
27. 為什麼線程執行要調用start而不是直接run(直接run,跟普通方法沒什麼區別,先調start,run才會作為一個線程方法運行)
28. qmq訊息的實現機制(qmq是去哪兒網自己封裝的訊息佇列)
29. 遍曆hashmap的三種方式
30. jvm的一些命令
31. memcache和redis的區別
32. mysql的行級鎖加在哪個位置
33. ConcurrentHashmap的鎖是如何加的?是不是分段越多越好
34. myisam和innodb的區別(innodb是行級鎖,myisam是表級鎖)
35. mysql其他的效能最佳化方式
36. linux系統日誌在哪裡看
37. 如何查看網路進程
38. 統計一個整數的二進位表示中bit為1的個數
39. jvm記憶體模型,java記憶體模型
40. 如何把java記憶體的資料全部dump出來
41. 如何手動觸發全量回收垃圾,如何立即觸發記憶體回收
42. hashmap如果只有一個寫其他全讀會出什麼問題
43. git rebase
44. mongodb和hbase的區別
45. 如何解決並發問題
46. volatile的用途
47. java線程池(好像之前我的理解有問題)
48. mysql的binlog
49. 代理模式
50. mysql是如何?事務的
51. 讀寫分離何時強制要讀主庫,讀哪個從庫是通過什麼方式決定的,從庫的同步mysql用的什麼方式
52. mysql的儲存引擎
53. mysql的預設隔離等級,其他隔離等級
54. 將一個鏈表反轉(用三個指標,但是每次只發轉一個)
55. spring Aop的實現原理,具體說說
56. 何時會記憶體流失,記憶體流失會拋哪些異常
57. 是否用過Autowire註解
58. spring的注入bean的方式
59. sql語句各種條件的執行順序,如select, where, order by, group by
60. select xx from xx where xx and xx order by xx limit xx; 如何最佳化這個(看explain)
61. 四則元算寫代碼
62. 統計100G的ip檔案中出現ip次數最多的100個ip
63. zookeeper的事物,結點,服務提供者掛了如何告知消費方
64. 5台伺服器如何選出leader(選舉演算法)
工作一到五年的java 開發工程師朋友可以加入我們Java架構交流群:760940986(有相關面試題以及答案,及面試指導)
群內提供 高可用,高並發,spring源碼,mybatis源碼,JVM,大資料,Netty等多個技術知識的架構視頻資料
還有大把大牛在群內交流以及解答面試指導,問題答疑~~要進來和大牛交流學習提升提升自己嗎~~~~
65. 適配器和代理模式的區別
66. 讀寫鎖
67. static加鎖
68. 交易隔離等級
69. 門面模式,類圖(面板模式)
70. mybatis如何映射表結構
71. 二叉樹遍曆
72. 主從複製
73. mysql引擎區別
74. 靜態內部類載入到了哪個區?方法區
75. class檔案編譯後載入到了哪
76. web的http請求如何整體回應時間變長導致處理的請求數變少,該如何處理?用隊列,當處理不了那麼多http請求時將請求放到隊列
中慢慢處理,web如何?隊列
77. 安全執行緒的單例模式
78. 快速排序效能考慮
79. volatile關鍵字用法
80. 求表的size,或做資料統計可用什麼儲存引擎
81. 讀多寫少可用什麼引擎
82. 假如要統計多個表應該用什麼引擎
83. concurrenhashmap求size是如何加鎖的,如果剛求完一段後這段發生了變化該如何處理
84. 1000個蘋果放10個籃子,怎麼放,能讓我拿到所有可能的個數
85. 可重新進入的讀寫鎖,可重新進入是如何?的?
86. 是否用過NIO
87. java的concurrent包用過沒
88. sting s=new string("abc")分別在堆棧上建立了哪些對象
89. java虛擬機器的地區分配,各區分別存什麼
90. 分散式交易(JTA)
91. threadlocal使用時注意的問題(ThreadLocal和Synchonized都用於解決多線程並發訪問。但是ThreadLocal與synchronized有本質的區別。synchronized是利用鎖的機制,使變數或代碼塊在某一時該只能被一個線程訪問。而ThreadLocal為每一個線程都提供了變數的副本,使得每個線程在某一時間訪問到的並不是同一個對象,這樣就隔離了多個線程對資料的資料共用。而Synchronized卻正好相反,它用於在多個線程間通訊時能夠獲得資料共用)
92. java有哪些容器(集合,tomcat也是一種容器)
93. 二分尋找演算法
94. myisam的優點,和innodb的區別
95. redis能存哪些類型
96. http協議格式,get和post的區別
97. 可重新進入鎖中對應的wait和notify
98. redis能把記憶體空間交換進磁碟中嗎(這個應該是可以的,但是那個面試官非跟我說不可以)
99. java線程池中基於緩衝和基於定長的兩種線程池,當請求太多時分別是如何處理的?定長的事用的隊列,如果隊列也滿了呢?交換進磁碟?基於緩衝的線程池解決方案呢?
100. synchronized加在方法上用的什麼鎖
101. 可重新進入鎖中的lock和trylock的區別
102. innodb對一行資料的讀會枷鎖嗎?不枷鎖,讀實際讀的是副本
103. redis做緩衝是分布式存的?不同的伺服器上存的資料是否重複?guava cache呢?是否重複?不同的機器存的資料不同
104. 用awk統計一個ip檔案中top10
105. 對錶做統計時可直接看schema info資訊,即查看錶的系統資訊
106. mysql目前用的版本
107. 公司經驗豐富的人給了什麼協助?(一般boss面會問這些)
108. 自己相對於一樣的應屆生有什麼優勢
109. 自己的好的總結習慣給自己今後的工作帶了什麼協助,舉例為證
110. 原子類,安全執行緒的對象,異常的處理方式
111. 4億個int數,如何找出重複的數(用hash方法,建一個2的32次方個bit的hash數組,每取一個int數,可hash下2的32次方找到它在hash數組中的位置,然後將bit置1表示已存在)
112. 4億個url,找出其中重複的(考慮記憶體不夠,通過hash演算法,將url分配到1000個檔案中,不同的檔案間肯定就不會重複了,再分別找出重複的)
有1萬個數組,每個數組有1000個整數,每個數組都是降序的,從中找出最大的N個數,N<1000
113. LinkedHashmap的底層實現
114. 類序列化時類的版本號碼的用途,如果沒有指定一個版本號碼,系統是怎麼處理的?如果加了欄位會怎麼樣?
115. Override和Overload的區別,分別用在什麼情境
116. java的反射是如何?的
工作一到五年的java 開發工程師朋友可以加入我們Java架構交流群:760940986(有相關面試題以及答案,及面試指導)
群內提供 高可用,高並發,spring源碼,mybatis源碼,JVM,大資料,Netty等多個技術知識的架構視頻資料
還有大把大牛在群內交流以及解答面試指導,問題答疑~~要進來和大牛交流學習提升提升自己嗎~~~~
一線互連網企業面試題總結(幫你成功拿到offer)