各大互聯網公司java開發面試常問問題

本人是做java開發的,這是我參加58,搜狐,搜狗,新浪微博,百度,騰訊文學,網易以及其他一些小的創業型公司的面試常被問的問題,當然有重復,弄清楚這些,相信面試會輕松許多。

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(選舉算法)

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的反射是如何實現的

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452597.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452597.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452597.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

14種方法助你參與開源項目

導讀&#xff1a;每日[快訊精選]是由CSDN研發頻道推出的特色欄目&#xff0c;每一天我們將從國外技術媒體(例如Hacker News、Reddit...等等)中挑選出有價值的新聞簡訊&#xff0c;讓您在第一時間掌握業界主流的技術文摘&#xff0c;每天清晨為您獻上第一份技術早餐。 [1]Javac…

Flask愛家租房--房屋管理(獲取主頁幻燈片展示的房屋基本信息)

文章目錄0.效果展示1.重點總結2.后端代碼3.前端js4.前端html0.效果展示 1.重點總結 1&#xff09;當用戶訪問首頁時&#xff0c;開始加載頁面信息&#xff0c;此時index.js文件首先調用后端接口check_login()&#xff0c;判斷用戶是否登錄&#xff0c;未登錄則在右上角關聯注冊…

C#題目及答案(1)

1. 簡述 private、 protected、 public、 internal 修飾符的訪問權限。 答 . private : 私有成員, 在類的內部才可以訪問。 protected : 保護成員,該類內部和繼承類中可以訪問。 public : 公共成員,完全公開,沒有訪問限制。 internal: 在同一命名空間內可以訪問。 2 .列舉ASP.N…

linux bash函數里面調用命令行,Linux-在gnome-terminal -x中運行bash函數

您可以將其與export -f一起使用,就像kojiro的上面的注釋中指出的那樣.# Define function.my_func() {// Do cool stuff}# Export it, so that all child bash processes see it.export -f my_func# Invoke gnome-terminal with bash -c and the function name, *plus*# another…

隨想錄(軟件開發不能是加工作坊)

前一段時間看了一本《走出軟件作坊》&#xff0c;心情很沉重。不管你是否承認&#xff0c;書中描述的情況在現在的國內IT企業中確實存在&#xff0c;可能涉及的范圍還很廣。聯想到自己目前處于的行業&#xff0c;心中不免唏噓不已。類似的事件&#xff0c;類似的方法&#xff0…

程序員的核心競爭力

1、穩定的基礎知識體系&#xff1b; 2、需求到模型的轉化建模能力&#xff1b; 3、獨立思考能力&#xff1b; 4、思想&#xff1a;世界觀、方法論。

Flask愛家租房--訂單支付(支付過程)

文章目錄0.支付流程1. 重點總結2.后端代碼3.前端js4.前端html0.支付流程 1. 重點總結 1&#xff09;用戶進入“我的訂單”頁面&#xff0c;點擊“去支付”&#xff1b; 觸發后端js中的函數&#xff0c;發出ajsx異步請求&#xff0c;調用后端相應接口order_pay(order_id)&#…

微信小程序利用key實現列表性能的提升

微信小程序利用key實現列表性能的提升 key值在列表渲染的時候&#xff0c;能夠提升列表渲染性能&#xff0c;為什么呢&#xff1f;首先得想想小程序的頁面是如何渲染的&#xff0c;主要分為以下幾步&#xff1a; 將wxml結構的文檔構建成一個vdom虛擬數頁面有新的交互&#xff0…

CentOS MySQL 5.7編譯安裝

CentOS MySQL 5.7編譯安裝 MySQL 5.7 GA版本的發布&#xff0c;也就是說從現在開始5.7已經可以在生產環境中使用&#xff0c;有任何問題官方都將立刻修復。 MySQL 5.7主要特性&#xff1a; 更好的性能&#xff1a;對于多核CPU、固態硬盤、鎖有著更好的優化&#xff0c;每秒100…

為什么設計師創造的編程語言更受歡迎?

導讀&#xff1a;在編程的世界里&#xff0c;語言紛繁多樣&#xff0c;而大部分真正廣泛流行的語言并不是那些學術界的產物&#xff0c;而是在通過自由發揮設計出來的。 和那些在最后期限重壓下產生的語言版本比較起來&#xff0c;從一定程度上來看&#xff0c;從學術界產生出…

狀態轉換圖簡介

狀態轉換圖(簡稱為狀態圖)通過描繪系統的狀態及引起系統狀態轉換的事件&#xff0c;來表示系統的行為。此外&#xff0c;狀態圖還指明了作為特定事件的結果系統將做哪些動作。 &#xff08;一&#xff09;狀態 狀態是任何可以被觀察到的系統行為模式&#xff0c;一個狀態代表…

C#常用單元測試框架比較:XUnit、NUnit和Visual Studio(MSTest)

做過單元測試的同學大概都知道以上幾種測試框架&#xff0c;但我一直很好奇它們到底有什么不同&#xff0c;然后搜到了一篇不錯的文章清楚地解釋了這幾種框架的最大不同之處。 地址在這里&#xff1a;http://www.tuicool.com/articles/F3eEn2j 簡而言之&#xff0c;三者是非常相…

實驗五 類和對象-3

1.ex3.cpp 1 #include <iostream>2 #include <vector>3 #include <string>4 using namespace std;5 6 // 函數聲明 7 void output1(vector<string> &); 8 void output2(vector<string> &); 9 10 int main() 11 { 12 vector<st…

Vector用法詳解

這篇文章的目的是為了介紹std::vector&#xff0c;如何恰當地使用它們的成員函數等操作。本文中還討論了條件函數和函數指針在迭代算法中使用&#xff0c;如在remove_if()和for_each()中的使用。通過閱讀這篇文章讀者應該能夠有效地使用vector容器&#xff0c;而且應該不會再去…

linux 共享移動硬盤,隨時登陸上QQ 自帶Linux移動硬盤實戰

在以往我們的觀念中&#xff0c;移動硬盤頂多就是個移動存儲設備&#xff0c;根本談不上有什么功能&#xff0c;但今天這款一盤通卻將我們原始的觀念打了一個180大轉彎&#xff01;如果你的電腦支持USB設備啟動&#xff0c;那么只需要在BIOS進行一下更改&#xff0c;一盤通就可…

需求分析的圖形工具(層次方框 warnier IPO)

1 層次方框圖 層次方框圖用樹形結構的一系列多層次的矩形框描繪數據的層次結構。 例如&#xff0c;描繪一家計算機公司全部產品的數據結構可以用下圖層次方框圖表示。 這家公司的產品由硬件、軟件和服務3類產品組成&#xff0c;軟件產品又分為系統軟件和應用軟件&#xf…

如何處理錯誤信息 Pricing procedure could not be determined

2019獨角獸企業重金招聘Python工程師標準>>> 當給一個SAP CRM Quotation文檔的行項目維護一個產品時&#xff0c;遇到如下錯誤信息&#xff1a;Pricing procedure could not be determined 通過調試得知錯誤消息在function module CRM_PRIDOC_COM_PRCPROC_DET_SEL第…

Flask愛家租房--訂單(下訂單)

文章目錄0 、效果展示1、思路總結2、后端代碼3、前端js4、前端html0 、效果展示 detail.html booking.html 1、思路總結 1&#xff09;用戶打開房屋詳情頁detail.html之后&#xff0c;后端detail.js會判斷此訪問用戶是否為房東&#xff0c;若不是房東&#xff0c;則在詳情…