面試百度、阿里、騰訊,這134道Java面試題你會多少?

這裏一共是134道Java面試題,看看你能對幾道吧!

1. Java 語言有哪些特點

2. 面向對象和麪向過程的區別

3. 關於 JVM JDK 和 JRE 最詳細通俗的解答

4. Oracle JDK 和 OpenJDK 的對比

5. Java 和 和 C++ 的區別

6.什麼是 Java 程序的主類 應用程序和小程序的主類有何不同

7. Java 應用程序與小程序之間有那些差別

8. 字符型常量和字符串常量的區別

9. 構造器 Constructor 是否可被 override

10. 重載和重寫的區別

11. Java 面向對象編程三大特性: 封裝 繼承 多態

12. String StringBuffer 和 StringBuilder 的區別是什麼 String 爲什麼是不可變的

13. 自動裝箱與拆箱

14. 在一個靜態方法內調用一個非靜態成員爲什麼是非法的

15. 在 Java 中定義一個不做事且沒有參數的構造方法的作用

16. import java 和 和 javax 有什麼區別

17. 接口和抽象類的區別是什麼

18. 成員變量與局部變量的區別有那些

19. 創建一個對象用什麼運算符? 對象實體與對象引用有何不同?

20. 一個類的構造方法的作用是什麼 若一個類沒有聲明構造方法, 該程序能正確執行嗎 ?

21. 內存模型以及分區,需要詳細到每個區放什麼。

22 .堆裏面的分區:Eden,survival (from+ to),老年代,各自的特點。

23. 對象創建方法,對象的內存分配,對象的訪問定位。

24. GC 的兩種判定方法:

25. SafePoint 是什麼

26. GC 的三種收集方法:標記清除、標記整理、複製算法的原理與特點,分別用在什麼地方,如果讓你優化收集方法,有什麼思路?

27. GC 收集器有哪些?CMS 收集器與 G1 收集器的特點。

28. Minor GC 與 Full GC 分別在什麼時候發生?

29. 幾種常用的內存調試工具:jmap、jstack、jconsole、jhat

30. 類加載的幾個過程:

31.JVM 內存分哪幾個區,每個區的作用是什麼?

32.如和判斷一個對象是否存活?(或者 GC 對象的判定方法)

33.簡述 java 垃圾回收機制?

34.java 中垃圾收集的方法有哪些?

35.java 內存模型

36.java 類加載過程?

37. 簡述 java 類加載機制?

38. 類加載器雙親委派模型機制?

39.什麼是類加載器,類加載器有哪些?

40.簡述 java 內存分配與回收策率以及 Minor GC 和Major GC

41、什麼是 Redis?簡述它的優缺點?

42、Redis 與 memcached 相比有哪些優勢?

43、Redis 支持哪幾種數據類型?

44、Redis 主要消耗什麼物理資源?

45、Redis 有哪幾種數據淘汰策略?

46、Redis 官方爲什麼不提供 Windows 版本?

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

48、爲什麼 Redis 需要把所有數據放到內存中?

49、Redis 集羣方案應該怎麼做?都有哪些方案?

50、Redis 集羣方案什麼情況下會導致整個集羣不可用?

51、MySQL 裏有 2000w 數據,redis 中只存 20w 的數據,如何保證 redis 中的數據都是熱點數據?

52、Redis 有哪些適合的場景?

53、Redis 支持的 Java 客戶端都有哪些?官方推薦用哪個?

54、Redis 和 Redisson 有什麼關係?

55、Jedis 與 Redisson 對比有什麼優缺點?

56、說說 Redis 哈希槽的概念?

57、Redis 集羣的主從複製模型是怎樣的?

58、Redis 集羣會有寫操作丟失嗎?爲什麼?

59、Redis 集羣如何選擇數據庫?

60、Redis 如何做內存優化?

71 、什麼是 Spring 框架?Spring 框架有哪些主要模塊?

72 、使用 Spring 框架能帶來哪些好處?

73 、什麼是控制反轉(IOC) ?什麼是依賴注入?

74 、請解釋下 Spring 框架中的 IoC ?

75 、BeanFactory 和 和 ApplicationContext 有什麼區別?

76 、Spring 有幾種配置方式?

77 、如何用基於 XML 配置的方式配置 Spring ?

78 、如何用基於 Java 配置的方式配置 Spring ?

79 、怎樣用註解的方式配置 Spring ?

80 、請解釋 Spring Bean 的生命週期?

81 、Spring Bean 的作用域之間有什麼區別?

82 、什麼是 Spring inner beans ?

83 、Spring 框架中的單例 Beans 是線程安全的麼?

84 、請舉例說明如何在 Spring 中注入一個 Java Collection ?

85 、如何向 Spring Bean 中注入一個 Java.util.Properties

86 、請解釋 Spring Bean 的自動裝配?

87 、請解釋自動裝配模式的區別?

88 、如何開啓基於註解的自動裝配?

89 、請舉例解釋@Required 註解?

90 、請舉例解釋@Autowired 註解?

91 、請舉例說明@Qualifier 註解?

92 、構造方法注入和設值注入有什麼區別?

93 、Spring 框架中有哪些不同類型的事件?

94 、FileSystemResource 和 和 ClassPathResource 有何區別?

95 、Spring 框架中都用到了哪些設計模式?

96.RabbitMQ 中的 broker 是指什麼?cluster 又是指什麼?

97.RabbitMQ 上的一個 queue 中存放的 message 是否有數量限制?

98.什麼是 ActiveMQ?

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

100、Kafka 消息是採用 Pull 模式,還是 Push 模式?

101. 數據庫三範式是什麼?

102. 有哪些數據庫優化方面的經驗?

103. 請簡述常用的索引有哪些種類?

104. 以及在 mysql 數據庫中索引的工作機制是什麼?

105.MySQL 的基礎操作命令

106.mysql 的複製原理以及流程。

107.mysql 支持的複製類型?

108.mysql 中 中 varchar 與 與 char 的區別以及 varchar(50) 中的 50 代表的涵義?

109. 表中有大字段 X (例如:text 類型),且字段 X 不會經常更新,以讀爲爲主,將該字段拆成子表好處是什麼?

110.MySQL 中 中 InnoDB 引擎的行鎖是通過加在什麼上完成(或稱實現)的?

111.分佈式系統怎麼做服務治理

112.對分佈式事務的理解

113.如何實現負載均衡,有哪些算法可以實現?

114.分佈式集羣下如何做到唯一序列號

115. 什麼是進程

116. 什麼是線程

117. 線程和進程有什麼區別

118. 多線程的幾種實現方式

119. 多線程中忙循環是什麼

120. 爲什麼要用線程池?

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

122.Java中用到的線程調度算法是什麼?

123.爲什麼使用Executor框架?

124.什麼是原子操作?在Java Concurrency API中有哪些原子類(atomic classes)?

125.Java Concurrency API中的Lock接口(Lock interface)是什麼?對比同步它有什麼優勢?

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

127.什麼是併發容器的實現?

128.多線程同步和互斥有幾種實現方法,都是什麼?

129.爲什麼我們調用start()方法時會執行run()方法,爲什麼我們不能直接調用run()方法?

130.什麼是不可變對象,它對寫併發應用有什麼幫助?

131.Java中ConcurrentHashMap的併發度是什麼?

132.JVM中哪個參數是用來控制線程的棧堆棧小的?

133.你如何在Java中獲取線程堆棧?

134.volatile 變量和 atomic 變量有什麼不同?

最後

歡迎大家一起交流,喜歡文章記得關注我點個贊喲,感謝支持!

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