Java開發面試常見問題合集


次面試事故

面試官:你看過哪些源碼?
我:都挺熟悉的
面試官:對hashMap了解程度怎么樣?
面試官:那你能講講 HashMap的實現原理嗎?
面試官:HashMap什么時候會進行 rehash?
面試官:結合源碼說說 HashMap在高並發場景中為什么會出現死循環?
我:…
我:抱歉…
面試官:嗯。
面試官:… 把門關上。
我:… 要干嘛?先關上再說。
面試官:我說出去把門關上。
我:what ?,奪門而去
116道面試題

1.junit用法,before,beforeClass,after, afterClass的執行順序

2.nginx的請求轉發算法,如何配置根據權重轉發

3.用hashmap實現redis有什么問題(死鎖,死循環,可用ConcurrentHashmap)

4.線程的狀態

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.Java 會出現內存溢出嗎?什么情況下會出現?

42.雙親委派模型,為什么這樣做?

43..對象什么情況下進入老年代?

44.mongodb和hbase的區別

45.如何解決並發問題

46.為什么使用 Executor 框架?

47.什么是阻塞隊列?阻塞隊列的實現原理是什么?如何使用阻塞隊列來實現生產者-消費者模型?

48.快速排序說一下過程

49.垃圾回收算法

50.Tomcat 類加載器

51.讀寫分離何時強制要讀主庫,讀哪個從庫是通過什么方式決定的,從庫的同步mysql用的什么方式

52.Redis 的數據類型?

53.一個字符串類型的值能存儲最大容量是多少?

54.將一個鏈表反轉(用三個指針,但是每次只發轉一個)

55.spring Aop的實現原理,具體說說

56.在 java 中守護線程和本地線程區別?

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.Jedis 與 Redisson 對比有什么優缺點?

69.為什么 edis 需要把所有數據放到內存中?

70.mybatis如何映射表結構

71.二叉樹遍歷

72.如何使用 Spring Boot 實現分頁和排序?

73.mysql引擎區別

74.你使用了哪些 starter maven 依賴項?

75.class文件編譯后加載到了哪

76.web的http請求如何整體響應時間變長導致處理的請求數變少,該如何處理?用隊列,當處理不了那么多http請求時將請求放到隊列
中慢慢處理,web如何實現隊列

77.kafka 如何不消費重復數據?比如扣款,我們不能重復的扣。

78.線程安全的單例模式

79.什么是 AOP?

80.你能否舉一個以 ReadOnly 為事務管理的例子?

81.求表的size,或做數據統計可用什么存儲引擎

82.哪個命令專門用來查看后台任務?

83.把后台任務調到前台執行使用什么命令?

84.怎么查看系統支持的所有信號?

85.搜索文件用什么命令? 格式是怎么樣的?

86.使用什么命令查看用過的命令列表?

87.使用什么命令查看磁盤使用空間?空閑空間呢?

88.java的concurrent包用過沒

89.Java 中用到的線程調度算法是什么?

90..java虛擬機的區域分配,各區分別存什么

91.在 Java 中 CycliBarriar 和 CountdownLatch 有什么區別?

92.Mybatis 是如何進行分頁的?分頁插件的原理是什么?

93.Mybatis 是如何將 sql 執行結果封裝為目標對象並返回的?都有哪些映射形式?

94.在 mapper 中如何傳遞多個參數?

95.什么是 MyBatis 的接口綁定?有哪些實現方式?

96.redis能存哪些類型

97.服務注冊和發現是什么意思?Spring Cloud 如何實現?

98.Spring Cloud 和dubbo區別?

99.什么是 Spring Cloud Bus?我們需要它嗎?

100.什么是 Netflix Feign?它的優點是什么?

101SpringBoot和SpringCloud的區別?

102.可重入鎖中的lock和trylock的區別

103.innodb對一行數據的讀會枷鎖嗎?不枷鎖,讀實際讀的是副本

104.redis做緩存是分布式存的?不同的服務器上存的數據是否重復?guava cache呢?是否重復?不同的機器存的數據不同

105.用awk統計一個ip文件中top10

106.對表做統計時可直接看schema info信息,即查看表的系統信息

107.mysql目前用的版本

108.公司經驗豐富的人給了什么幫助?(一般boss面會問這些)

109.自己相對於一樣的應屆生有什么優勢

110.自己的好的總結習慣給自己今后的工作帶了什么幫助,舉例為證

111.原子類,線程安全的對象,異常的處理方式

112.4Zookeeper 對於 Kafka 的作用是什么?

113.數據傳輸的事務定義有哪三種?

114.Kafka 判斷一個節點是否還活着有那兩個條件?

115.Kafka 與傳統 MQ 消息系統之間有三個關鍵區別

116.講一講 kafka 的 ack 的三種機制


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM