京東面試官整理Java面試題:Redis+Spring+MySQL+Kafka等(含答案)

互聯網 Java 工程師面試題

內容涵蓋:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、

Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、

Linux 等技術棧

由於文章的篇幅過長,小編在這就不一一的展示,想要獲取這題面試題(含答案)的小夥伴,可以私信我【Java】,我已將這一些題整理為PDF文檔。

MyBatis 面試題

京東面試官整理Java面試題:Redis+Spring+MySQL+Kafka等(含答案)

1、什麼是Mybatis?

2、Mybaits的優點:

3、MyBatis框架的缺點:

4、MyBatis框架適用場合:

5、MyBatis與Hibernate有哪些不同?

6、#{}和${}的區別是什麼?

7、當實體類中的屬性名和表中的字段名不一樣 ,怎麼辦 ?

8、 模糊查詢like語句該怎麼寫?

9、通常一個Xml映射文件,都會寫一個Dao接口與之對應,請問,這個Dao接口的工作原理是什麼?Da

10、Mybatis是如何進行分頁的?分頁插件的原理是什麼?

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

12、如何執行批量插入?

13、如何獲取自動生成的(主)鍵值?

14、在mapper中如何傳遞多個參數?

15、Mybatis動態sql有什麼用?執行原理?有哪些動態sql?

16、Xml映射文件中,除了常見的select|insert|updae|delete標籤之外,還有

18、為什麼說Mybatis是半自動ORM映射工具?它與全自動的區別在哪裡?

19、 一對一、一對多的關聯查詢 ?

20、MyBatis實現一對一有幾種方式?具體怎麼操作的?

21、MyBatis實現一對多有幾種方式,怎麼操作的?

22、Mybatis是否支持延遲加載?如果支持,它的實現原理是什麼?

23、Mybatis的一級、二級緩存:

24、什麼是MyBatis的接口綁定?有哪些實現方式?

25、使用MyBatis的mapper接口調用時有哪些要求?

26、Mapper編寫有哪幾種方式?

27、簡述Mybatis的插件運行原理,以及如何編寫一個插件。

ZooKeeper 面試題

京東面試官整理Java面試題:Redis+Spring+MySQL+Kafka等(含答案)

1. ZooKeeper 面試題?

2. ZooKeeper提供了什麼?

3. Zookeeper文件系統

4. ZAB協議?

5. 四種類型的數據節點 Znode

6. Zookeeper Watcher 機制 -- 數據變更通知

7. 客戶端註冊Watcher實現

8. 服務端處理Watcher實現

9. 客戶端回調Watcher

10. ACL權限控制機制

11. Chroot特性

12. 會話管理

13. 服務器角色

14. Zookeeper 下 Server工作狀態

15. 數據同步

16. zookeeper是如何保證事務的順序一致性的?

17. 分佈式集群中為什麼會有Master?

18. zk節點宕機如何處理?

19. zookeeper負載均衡和nginx負載均衡區別

20. Zookeeper有哪幾種幾種部署模式?

21. 集群最少要幾臺機器,集群規則是怎樣的?

22. 集群支持動態添加機器嗎?

23. Zookeeper對節點的watch監聽通知是永久的嗎?為什麼不是永久的?

24. Zookeeper的java客戶端都有哪些?

25. chubby是什麼,和zookeeper比你怎麼看?

26. 說幾個zookeeper常用的命令。

27. ZAB和Paxos算法的聯繫與區別?

28. Zookeeper的典型應用場景

Dubbo 面試題


京東面試官整理Java面試題:Redis+Spring+MySQL+Kafka等(含答案)

1、為什麼要用Dubbo?

2、Dubbo 的整體架構設計有哪些分層?

3、默認使用的是什麼通信框架,還有別的選擇嗎?

4、服務調用是阻塞的嗎?

5、一般使用什麼註冊中心?還有別的選擇嗎?

6、默認使用什麼序列化框架,你知道的還有哪些?

7、服務提供者能實現失效踢出是什麼原理?

8、服務上線怎麼不影響舊版本?

9、如何解決服務調用鏈過長的問題?

10、說說核心的配置有哪些?

11、Dubbo 推薦用什麼協議?

12、同一個服務多個註冊的情況下可以直連某一個服務嗎?

13、畫一畫服務註冊與發現的流程圖?

14、Dubbo 集群容錯有幾種方案?

15、Dubbo 服務降級,失敗重試怎麼做?

16、Dubbo 使用過程中都遇到了些什麼問題?

17、Dubbo Monitor 實現原理?

18、Dubbo 用到哪些設計模式?

19、Dubbo 配置文件是如何加載到Spring中的?

20、Dubbo SPI 和 Java SPI 區別?

21、Dubbo 支持分佈式事務嗎?

22、Dubbo 可以對結果進行緩存嗎?

23、服務上線怎麼兼容舊版本?

24、Dubbo必須依賴的包有哪些?

25、Dubbo telnet 命令能做什麼?

26、Dubbo 支持服務降級嗎?

27、Dubbo 如何優雅停機?

28、Dubbo 和 Dubbox 之間的區別?

29、Dubbo 和 Spring Cloud 的區別?

30、你還了解別的分佈式框架嗎?

Elasticsearch 面試題

1、elasticsearch瞭解多少,說說你們公司es的集群架構,索引數據大小,分片有多少,以及一

2、elasticsearch的倒排索引是什麼

3、elasticsearch 索引數據多了怎麼辦,如何調優,部署

4、elasticsearch是如何實現master選舉的

5、詳細描述一下Elasticsearch索引文檔的過程

6、詳細描述一下Elasticsearch搜索的過程?

7、Elasticsearch在部署時,對Linux的設置有哪些優化方法

8、lucence內部結構是什麼?

9、Elasticsearch是如何實現Master選舉的?

10、Elasticsearch中的節點(比如共20個),其中的10個選了一個master,另外10

11、客戶端在和集群連接時,如何選擇特定的節點執行請求的?

12、詳細描述一下Elasticsearch索引文檔的過程。

13、詳細描述一下Elasticsearch更新和刪除文檔的過程。

14、詳細描述一下Elasticsearch搜索的過程。

15、在Elasticsearch中,是怎麼根據一個詞找到對應的倒排索引的?

16、Elasticsearch在部署時,對Linux的設置有哪些優化方法?

17、對於GC方面,在使用Elasticsearch時要注意什麼?

18、Elasticsearch對於大數據量(上億量級)的聚合如何實現?

19、在併發情況下,Elasticsearch如果保證讀寫一致?

20、如何監控Elasticsearch集群狀態?

21、介紹下你們電商搜索的整體技術架構。

22、介紹一下你們的個性化搜索方案?

23、是否瞭解字典樹?

24、拼寫糾錯是如何實現的?

Memcached 面試題

1、Memcached是什麼,有什麼作用?

2、Memcached服務分佈式集群如何實現?

3、Memcached服務特點及工作原理是什麼?

4、簡述Memcached內存管理機制原理?

5、memcached是怎麼工作的?

6、memcached最大的優勢是什麼?

7、memcached和MySQL的query

8、memcached和服務器的local cache(比如PHP的APC、mmap文件等)相比,有

9、memcached的cache機制是怎樣的?

10、memcached如何實現冗餘機制?

11、memcached如何處理容錯的?

12、如何將memcached中item批量導入導出?

13、如果緩存數據在導出導入之間過期了,您又怎麼處理這些數據呢?

14、memcached是如何做身份驗證的?

15、memcached的多線程是什麼?如何使用它們?

16、memcached能接受的key的最大長度是多少?

17、memcached最大能存儲多大的單個item?

18、memcached能夠更有效地使用內存嗎?

19、什麼是二進制協議,我該關注嗎?

20、memcached的內存分配器是如何工作的?為什麼不適用malloc/free!?為何要使用s

21、memcached是原子的嗎?

22、如何實現集群中的session共享存儲?

23、memcached與redis的區別?

Redis 面試題


京東面試官整理Java面試題:Redis+Spring+MySQL+Kafka等(含答案)

1、什麼是Redis?

2、Redis的數據類型?

3、使用Redis有哪些好處?

4、Redis相比Memcached有哪些優勢?

5、Memcache與Redis的區別都有哪些?

6、Redis是單進程單線程的?

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

8、Redis的持久化機制是什麼?各自的優缺點?

9、Redis常見性能問題和解決方案:

10、redis過期鍵的刪除策略?

11、Redis的回收策略(淘汰策略)?

12、為什麼edis需要把所有數據放到內存中?

13、Redis的同步機制瞭解麼?

14、Pipeline有什麼好處,為什麼要用pipeline?

15、是否使用過Redis集群,集群的原理是什麼?

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

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

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

19、Redis如何設置密碼及驗證密碼?

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

21、Redis集群的主從複製模型是怎樣的?

22、Redis集群會有寫操作丟失嗎?為什麼?

23、Redis集群之間是如何複製的?

24、Redis集群最大節點個數是多少?

25、Redis集群如何選擇數據庫?

26、怎麼測試Redis的連通性?

27、怎麼理解Redis事務?

28、Redis事務相關的命令有哪幾個?

29、Redis key的過期時間和永久有效分別怎麼設置?

30、Redis如何做內存優化?

31、Redis回收進程如何工作的?

32、都有哪些辦法可以降低Redis的內存使用情況呢?

33、Redis的內存用完了會發生什麼?

34、一個Redis實例最多能存放多少的keys?List、Set、Sorted Set他們最多能存

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

36、Redis最適合的場景?

37、假如Redis裡面有1億個key,其中有10w個key是以某個固定的已知的前綴開頭的,如果將它

38、如果有大量的key需要設置同一時間過期,一般需要注意什麼?

39、使用過Redis做異步隊列麼,你是怎麼用的?

40、使用過Redis分佈式鎖麼,它是什麼回事?

MySQL 面試題

1、MySQL中有哪幾種鎖?

2、MySQL中有哪些不同的表格?

3、簡述在MySQL數據庫中MyISAM和InnoDB的區別

4、MySQL中InnoDB支持的四種事務隔離級別名稱,以及逐級之間的區別?

5、CHAR和VARCHAR的區別?

6、主鍵和候選鍵有什麼區別?

7、myisamchk是用來做什麼的?

8、如果一個表有一列定義為TIMESTAMP,將發生什麼?

9、你怎麼看到為表格定義的所有索引?

10、LIKE聲明中的%和_是什麼意思?

11、列對比運算符是什麼?

12、BLOB和TEXT有什麼區別?

13、MySQL_fetch_array和MySQL_fetch_object的區別是什麼?

14、MyISAM表格將在哪裡存儲,並且還提供其存儲格式?

15、MySQL如何優化DISTINCT?

16、如何顯示前50行?

17、可以使用多少列創建索引?

18、NOW()和CURRENT_DATE()有什麼區別?

19、什麼是非標準字符串類型?

20、什麼是通用SQL函數?

21、MySQL支持事務嗎?

22、MySQL裡記錄貨幣用什麼字段類型好

23、MySQL有關權限的表都有哪幾個?

24、列的字符串類型可以是什麼?

25、MySQL數據庫作發佈系統的存儲,一天五萬條以上的增量,預計運維三年,怎麼優化?

26、鎖的優化策略

27、索引的底層實現原理和優化

28、什麼情況下設置了索引但無法使用

29、實踐中如何優化MySQL

30、優化數據庫的方法

31、簡單描述MySQL中,索引,主鍵,唯一索引,聯合索引的區別,對數據庫的性能有什麼影響(從讀寫兩

32、數據庫中的事務是什麼?

33、SQL注入漏洞產生的原因?如何防止?

34、為表中得字段選擇合適得數據類型

35、存儲時期

36、對於關係型數據庫而言,索引是相當重要的概念,請回答有關索引的幾個問題:

37、解釋MySQL外連接、內連接與自連接的區別

38、Myql中的事務回滾機制概述

39、SQL語言包括哪幾部分?每部分都有哪些操作關鍵字?

40、完整性約束包括哪些?

41、什麼是鎖?

42、什麼叫視圖?遊標是什麼?

43、什麼是存儲過程?用什麼來調用?

44、如何通俗地理解三個範式?

45、什麼是基本表?什麼是視圖?

46、試述視圖的優點?

47、 NULL是什麼意思

48、主鍵、外鍵和索引的區別?

49、你可以用什麼來確保表格裡的字段只接受特定範圍裡的值?

50、說說對SQL語句優化有哪些方法?(選擇幾條)

Java 併發編程(一)

1、在java中守護線程和本地線程區別?

2、線程與進程的區別?

3、什麼是多線程中的上下文切換?

4、死鎖與活鎖的區別,死鎖與飢餓的區別?

5、Java中用到的線程調度算法是什麼?

6、什麼是線程組,為什麼在Java中不推薦使用?

7、為什麼使用Executor框架?

8、在Java中Executor和Executors的區別?

9、如何在Windows和Linux上查找哪個線程使用的CPU時間最長?

10、什麼是原子操作?在Java Concurrency API中有哪些原子類(atomic cla

11、Java Concurrency API中的Lock接口(Lock interface)是什麼

12、什麼是Executors框架?

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

14、什麼是Callable和Future?

15、什麼是FutureTask?使用ExecutorService啟動任務。

16、什麼是併發容器的實現?

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

18、什麼是競爭條件?你怎樣發現和解決競爭?

19、你將如何使用thread dump?你將如何分析Thread dump?

20、為什麼我們調用start()方法時會執行run()方法,為什麼我們不能直接調用run()方法?

21、Java中你怎樣喚醒一個阻塞的線程?

22、在Java中CycliBarriar和CountdownLatch有什麼區別?

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

24、什麼是多線程中的上下文切換?

25、Java中用到的線程調度算法是什麼?

26、什麼是線程組,為什麼在Java中不推薦使用?

27、為什麼使用Executor框架比使用應用創建和管理線程好?

28、java中有幾種方法可以實現一個線程?

29、如何停止一個正在運行的線程?

30、notify()和notifyAll()有什麼區別?

31、什麼是Daemon線程?它有什麼意義?

32、java如何實現多線程之間的通訊和協作?

33、什麼是可重入鎖(ReentrantLock)?

34、當一個線程進入某個對象的一個synchronized的實例方法後,其它線程是否可進入此對象的其

35、樂觀鎖和悲觀鎖的理解及如何實現,有哪些實現方式?

36、SynchronizedMap和ConcurrentHashMap有什麼區別?

37、CopyOnWriteArrayList可以用於什麼應用場景?

38、什麼叫線程安全?servlet是線程安全嗎?

39、volatile有什麼用?能否用一句話說明下volatile的應用場景?

40、為什麼代碼會重排序?

41、在java中wait和sleep方法的不同?

42、用Java實現阻塞隊列

43、一個線程運行時發生異常會怎樣?

44、如何在兩個線程間共享數據?

45、Java中notify 和 notifyAll有什麼區別?

46、為什麼wait, notify 和 notifyAll這些方法不在thread類裡面?

47、什麼是ThreadLocal變量?

48、Java中interrupted 和 isInterrupted方法的區別?

49、為什麼wait和notify方法要在同步塊中調用?

50、為什麼你應該在循環中檢查等待條件?

Java 面試題(一)

1、面向對象的特徵有哪些方面?

2、訪問修飾符public,private,protected,以及不寫(默認)時的區別?

3、String 是最基本的數據類型嗎?

4、float f=3.4;是否正確?

5、short s1 = 1; s1 = s1 + 1;有錯嗎?short s1 = 1; s1 +

6、Java有沒有goto?

7、int和Integer有什麼區別?

8、&和&&的區別?

9、解釋內存中的棧(stack)、堆(heap)和方法區(method area)的用法。

10、Math.round(11.5) 等於多少?Math.round(-11.5)等於多少?

11、switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?

12、用最有效率的方法計算2乘以8?

13、數組有沒有length()方法?String有沒有length()方法?

14、在Java中,如何跳出當前的多重嵌套循環?

15、構造器(constructor)是否可被重寫(override)?

16、兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這

17、是否可以繼承String類?

18、當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這

19、String和StringBuilder、StringBuffer的區別?

20、重載(Overload)和重寫(Override)的區別。重載的方法能否根據返回類型進行區分?

21、描述一下JVM加載class文件的原理機制?

22、char 型變量中能不能存貯一箇中文漢字,為什麼?

23、抽象類(abstract class)和接口(interface)有什麼異同?

24、靜態嵌套類(Static Nested Class)和內部類(Inner Class)的不同?

25、Java 中會存在內存洩漏嗎,請簡單描述。

26、抽象的(abstract)方法是否可同時是靜態的(static),是否可同時是本地方法(nat

27、闡述靜態變量和實例變量的區別。

28、是否可以從一個靜態(static)方法內部發出對非靜態(non-static)方法的調用?

29、如何實現對象克隆?

30、GC是什麼?為什麼要有GC?

31、String s = new String(“xyz”);創建了幾個字符串對象?

32、接口是否可繼承(extends)接口?抽象類是否可實現(implements)接口?抽象類是否

33、一個”.java”源文件中是否可以包含多個類(不是內部類)?有什麼限制?

34、Anonymous Inner Class(匿名內部類)是否可以繼承其它類?是否可以實現接口?

35、內部類可以引用它的包含類(外部類)的成員嗎?有沒有什麼限制?

36、Java 中的final關鍵字有哪些用法?

37、指出下面程序的運行結果

38、數據類型之間的轉換:

39、如何實現字符串的反轉及替換?

40、怎樣將GB2312編碼的字符串轉換為ISO-8859-1編碼的字符串?

41、日期和時間:

42、打印昨天的當前時刻。

43、比較一下Java和JavaSciprt。

44、什麼時候用斷言(assert)?

45、Error和Exception有什麼區別?

46、try{}裡有一個return語句,那麼緊跟在這個try後的finally{}裡的代碼會不會被

47、Java語言如何進行異常處理,關鍵字:throws、throw、try、catch、final

48、運行時異常與受檢異常有何異同?

49、列出一些你常見的運行時異常?

50、闡述final、finally、finalize的區別。

51、類ExampleA繼承Exception,類ExampleB繼承ExampleA。

52、List、Set、Map是否繼承自Collection接口?

53、闡述ArrayList、Vector、LinkedList的存儲性能和特性。

54、Collection和Collections的區別?

55、List、Map、Set三個接口存取元素時,各有什麼特點?

56、TreeMap和TreeSet在排序時如何比較元素?Collections工具類中的sort(

57、Thread類的sleep()方法和對象的wait()方法都可以讓線程暫停執行,它們有什麼區別

58、線程的sleep()方法和yield()方法有什麼區別?

59、當一個線程進入一個對象的synchronized方法A之後,其它線程是否可進入此對象的sync

60、請說出與線程同步以及線程調度相關的方法。

61、編寫多線程程序有幾種實現方式?

62、synchronized關鍵字的用法?

63、舉例說明同步和異步。

64、啟動一個線程是調用run()還是start()方法?

65、什麼是線程池(thread pool)?

66、線程的基本狀態以及狀態之間的關係?

67、簡述synchronized 和java.util.concurrent.locks.Lock

68、Java中如何實現序列化,有什麼意義?

69、Java中有幾種類型的流?

70、寫一個方法,輸入一個文件名和一個字符串,統計這個字符串在這個文件中出現的次數。

71、如何用Java代碼列出一個目錄下所有的文件?

72、用Java的套接字編程實現一個多線程的回顯(echo)服務器。

73、XML文檔定義有幾種形式?它們之間有何本質區別?解析XML文檔有哪幾種方式?

74、你在項目中哪些地方用到了XML?

75、闡述JDBC操作數據庫的步驟。

76、Statement和PreparedStatement有什麼區別?哪個性能更好?

77、使用JDBC操作數據庫時,如何提升讀取數據的性能?如何提升更新數據的性能?

78、在進行數據庫編程時,連接池有什麼作用?

79、什麼是DAO模式?

80、事務的ACID是指什麼?

82、JDBC能否處理Blob和Clob?

83、簡述正則表達式及其用途。

84、Java中是如何支持正則表達式操作的?

85、獲得一個類的類對象有哪些方式?

88、如何通過反射調用對象的方法?

90、簡述一下你瞭解的設計模式。

91、用Java寫一個單例類。

92、什麼是UML?

93、UML中有哪些常用的圖?

95、用Java寫一個折半查找。

Spring 面試題(一)

1、一般問題

1.1、不同版本的 Spring Framework 有哪些主要功能?

1.2、什麼是 Spring Framework?

1.3、列舉 Spring Framework 的優點。

1.4、Spring Framework 有哪些不同的功能?

1.5、Spring Framework 中有多少個模塊,它們分別是什麼?

1.6、什麼是 Spring 配置文件?

1.7、Spring 應用程序有哪些不同組件?

1.8、使用 Spring 有哪些方式?

2、依賴注入(Ioc)

2.1、什麼是 Spring IOC 容器?

2.2、什麼是依賴注入?

2.3、可以通過多少種方式完成依賴注入?

2.4、區分構造函數注入和 setter 注入。

2.5、spring 中有多少種 IOC 容器?

2.6、區分 BeanFactory 和 ApplicationContext。

2.7、列舉 IoC 的一些好處。

2.8、Spring IoC 的實現機制。

3、Beans

3.1、什麼是 spring bean?

3.2、spring 提供了哪些配置方式?

3.3、spring 支持集中 bean scope?

3.4、spring bean 容器的生命週期是什麼樣的?

3.5、什麼是 spring 的內部 bean?

3.6、什麼是 spring 裝配

3.7、自動裝配有哪些方式?

3.8、自動裝配有什麼侷限?

4、註解

4.1、什麼是基於註解的容器配置

4.2、如何在 spring 中啟動註解裝配?

4.3、@Component, @Controller, @Repository,

5、數據訪問

5.1、spring DAO 有什麼用?

5.2、列舉 Spring DAO 拋出的異常。

5.3、spring JDBC API 中存在哪些類?

5.4、使用 Spring 訪問 Hibernate 的方法有哪些?

5.5、列舉 spring 支持的事務管理類型

5.6、spring 支持哪些 ORM 框架

6、AOP

6.1、什麼是 AOP?

6.2、什麼是 Aspect?

6.3、什麼是切點(JoinPoint)

6.4、什麼是通知(Advice)?

6.5、有哪些類型的通知(Advice)?

6.6、指出在 spring aop 中 concern 和 cross-cutting conce

6.7、AOP 有哪些實現方式?

6.8、Spring AOP and AspectJ AOP 有什麼區別?

6.9、如何理解 Spring 中的代理?

6.10、什麼是編織(Weaving)?

7、MVC

7.1、Spring MVC 框架有什麼用?

7.2、描述一下 DispatcherServlet 的工作流程

7.3、介紹一下 WebApplicationContext

Spring 面試題(二)

1、什麼是spring?

2、使用Spring框架的好處是什麼?

3、Spring由哪些模塊組成?

4、核心容器(應用上下文) 模塊。

5、BeanFactory – BeanFactory 實現舉例。

6、XMLBeanFactory

7、解釋AOP模塊

8、解釋JDBC抽象和DAO模塊。

9、解釋對象/關係映射集成模塊。

10、解釋WEB 模塊。

12、Spring配置文件

13、什麼是Spring IOC 容器?

14、IOC的優點是什麼?

15、ApplicationContext通常的實現是什麼?

16、Bean 工廠和 Application contexts 有什麼區別?

17、一個Spring的應用看起來象什麼?

依賴注入

18、什麼是Spring的依賴注入?

19、有哪些不同類型的IOC(依賴注入)方式?

20、哪種依賴注入方式你建議使用,構造器注入,還是 Setter方法注入?

Spring Beans

21.什麼是Spring beans?

22、一個 Spring Bean 定義 包含什麼?

23、如何給Spring 容器提供配置元數據?

24、你怎樣定義類的作用域?

25、解釋Spring支持的幾種bean的作用域。

26、Spring框架中的單例bean是線程安全的嗎?

27、解釋Spring框架中bean的生命週期。

28、哪些是重要的bean生命週期方法?你能重載它們嗎?

29、什麼是Spring的內部bean?

30、在 Spring中如何注入一個java集合?

31、什麼是bean裝配?

32、什麼是bean的自動裝配?

33、解釋不同方式的自動裝配 。

34.自動裝配有哪些侷限性 ?

35、你可以在Spring中注入一個null 和一個空字符串嗎?

Spring註解

36、什麼是基於Java的Spring註解配置? 給一些註解的例子.

37、什麼是基於註解的容器配置?

38、怎樣開啟註解裝配?

Spring數據訪問

42.在Spring框架中如何更有效地使用JDBC?

43、JdbcTemplate

44、Spring對DAO的支持

45、使用Spring通過什麼方式訪問Hibernate?

46、Spring支持的ORM

47.如何通過HibernateDaoSupport將Spring和Hibernate結合起來?

48、Spring支持的事務管理類型

49、Spring框架的事務管理有哪些優點?

50、你更傾向用那種事務管理類型?

Spring面向切面編程(AOP)

51、解釋AOP

52、Aspect 切面

52、在Spring AOP 中,關注點和橫切關注的區別是什麼?

54、連接點

55、通知

56、切點

57、什麼是引入?

58、什麼是目標對象?

59、什麼是代理?

60、有幾種不同類型的自動代理?

61、什麼是織入。什麼是織入應用的不同點?

62、解釋基於XML Schema方式的切面實現。

63、解釋基於註解的切面實現

Spring 的MVC

64、什麼是Spring的MVC框架?

65、DispatcherServlet

66、WebApplicationContext

67、什麼是Spring MVC框架的控制器?

微服務 面試題

1、您對微服務有何瞭解?

2、微服務架構有哪些優勢?

3。微服務有哪些特點?

4、設計微服務的最佳實踐是什麼?

5、微服務架構如何運作?

6、微服務架構的優缺點是什麼?

7、單片,SOA和微服務架構有什麼區別?

8、在使用微服務架構時,您面臨哪些挑戰?

9、SOA和微服務架構之間的主要區別是什麼?

10、微服務有什麼特點?

11、什麼是領域驅動設計?

12、為什麼需要域驅動設計(DDD)?

13、什麼是無所不在的語言?

14、什麼是凝聚力?

15、什麼是耦合?

16、什麼是REST / RESTful以及它的用途是什麼?

17、你對Spring Boot有什麼瞭解?

18、什麼是Spring引導的執行器?

19、什麼是Spring Cloud?

20、Spring Cloud解決了哪些問題?

21、在Spring MVC應用程序中使用WebMvcTest註釋有什麼用處?

22。你能否給出關於休息和微服務的要點?

23、什麼是不同類型的微服務測試?

24、您對Distributed Transaction有何瞭解?

25、什麼是Idempotence以及它在哪裡使用?

26、什麼是有界上下文?

27、什麼是雙因素身份驗證?

28、雙因素身份驗證的憑據類型有哪些?

29、什麼是客戶證書?

30、PACT在微服務架構中的用途是什麼?

31、什麼是OAuth?

32、康威定律是什麼?

33、合同測試你懂什麼?

34、什麼是端到端微服務測試?

35、Container在微服務中的用途是什麼?

36、什麼是微服務架構中的DRY?

37、什麼是消費者驅動的合同(CDC)?

38、Web,RESTful API在微服務中的作用是什麼?

39、您對微服務架構中的語義監控有何瞭解?

40、我們如何進行跨功能測試?

41、我們如何在測試中消除非決定論?

42、Mock或Stub有什麼區別?

43、您對Mike Cohn的測試金字塔瞭解多少?

44、Docker的目的是什麼?

45、什麼是金絲雀釋放?

46、什麼是持續集成(CI)?

47、什麼是持續監測?

48、架構師在微服務架構中的角色是什麼?

49、我們可以用微服務創建狀態機嗎?

50、什麼是微服務中的反應性擴展?

Linux 面試題

1、絕對路徑用什麼符號表示?當前目錄、上層目錄用什麼表示?主目錄用什麼表示? 切換目錄用什麼命令?

2、怎麼查看當前進程?怎麼執行退出?怎麼查看當前路徑?

3、怎麼清屏?怎麼退出當前命令?怎麼執行睡眠?怎麼查看當前用戶 id?查看指定幫助用什麼命令?

4、Ls 命令執行什麼功能? 可以帶哪些參數,有什麼區別?

5、建立軟鏈接(快捷方式),以及硬鏈接的命令。

6、目錄創建用什麼命令?創建文件用什麼命令?複製文件用什麼命令?

7、查看文件內容有哪些命令可以使用?

8、隨意寫文件命令?怎麼向屏幕輸出帶空格的字符串,比如”hello world”?

9、終端是哪個文件夾下的哪個文件?黑洞文件是哪個文件夾下的哪個命令?

10、移動文件用哪個命令?改名用哪個命令?

11、複製文件用哪個命令?如果需要連同文件夾一塊複製呢?如果需要有提示功能呢?

12、刪除文件用哪個命令?如果需要連目錄及目錄下文件一塊刪除呢?刪除空文件夾用什麼命令?

13、Linux 下命令有哪幾種可使用的通配符?分別代表什麼含義?

14、用什麼命令對一個文件的內容進行統計?(行號、單詞數、字節數)

15、Grep 命令有什麼用? 如何忽略大小寫? 如何查找不含該串的行?

16、Linux 中進程有哪幾種狀態?在 ps 顯示出來的信息中,分別用什麼符號表示的?

17、怎麼使一個命令在後臺運行?

18、利用 ps 怎麼顯示所有的進程? 怎麼利用 ps 查看指定進程的信息?

19、哪個命令專門用來查看後臺任務?

20、把後臺任務調到前臺執行使用什麼命令?把停下的後臺任務在後臺執行起來用什麼命令?

21、終止進程用什麼命令? 帶什麼參數?

22、怎麼查看系統支持的所有信號?

23、搜索文件用什麼命令? 格式是怎麼樣的?

24、查看當前誰在使用該主機用什麼命令? 查找自己所在的終端信息用什麼命令?

25、使用什麼命令查看用過的命令列表?

26、使用什麼命令查看磁盤使用空間? 空閒空間呢?

27、使用什麼命令查看網絡是否連通?

28、使用什麼命令查看 ip 地址及接口信息?

29、查看各類環境變量用什麼命令?

30、通過什麼命令指定命令提示符?

31、查找命令的可執行文件是去哪查找的? 怎麼對其進行設置及添加?

32、通過什麼命令查找執行命令?

33、怎麼對命令進行取別名?

34、du 和 df 的定義,以及區別?

35、awk 詳解。

36、當你需要給命令綁定一個宏或者按鍵的時候,應該怎麼做呢?

37、如果一個linux新手想要知道當前系統支持的所有命令的列表,他需要怎麼做?

38、如果你的助手想要打印出當前的目錄棧,你會建議他怎麼做?

39、你的系統目前有許多正在運行的任務,在不重啟機器的條件下,有什麼方法可以把所有正在運行的進程移除

40、bash shell 中的hash 命令有什麼作用?

41、哪一個bash內置命令能夠進行數學運算。

42、怎樣一頁一頁地查看一個大文件的內容呢?

43、數據字典屬於哪一個用戶的?

44、怎樣查看一個linux命令的概要與用法?假設你在/bin目錄中偶然看到一個你從沒見過的的命令,

45、使用哪一個命令可以查看自己文件系統的磁盤空間配額呢?

Spring Boot 面試題

1、什麼是Spring Boot?

2、Spring Boot有哪些優點?

3、什麼是JavaConfig?

4、如何重新加載Spring Boot上的更改,而無需重新啟動服務器?

5、Spring Boot中的監視器是什麼?

6、如何在Spring Boot中禁用Actuator端點安全性?

7、如何在自定義端口上運行Spring Boot應用程序?

8、什麼是YAML?

9、如何實現Spring Boot應用程序的安全性?

10、如何集成Spring Boot和ActiveMQ?

11、如何使用Spring Boot實現分頁和排序?

12、什麼是Swagger?你用Spring Boot實現了它嗎?

13、什麼是Spring Profiles?

14、什麼是Spring Batch?

15、什麼是FreeMarker模板?

16、如何使用Spring Boot實現異常處理?

17、您使用了哪些starter maven依賴項?

18、什麼是CSRF攻擊?

19、什麼是WebSockets?

20、什麼是AOP?

21、什麼是Apache Kafka?

22、我們如何監視所有Spring Boot微服務?

Spring Cloud 面試題

1、什麼是Spring Cloud?

2、使用Spring Cloud有什麼優勢?

3、服務註冊和發現是什麼意思?Spring Cloud如何實現?

4、負載平衡的意義什麼?

5、什麼是Hystrix?它如何實現容錯?

6、什麼是Hystrix斷路器?我們需要它嗎?

7、什麼是Netflix Feign?它的優點是什麼?

8、什麼是Spring Cloud Bus?我們需要它嗎?

RabbitMQ 面試題

1、什麼是rabbitmq

2、為什麼要使用rabbitmq

3、使用rabbitmq的場景

4、如何確保消息正確地發送至RabbitMQ? 如何確保消息接收方消費了消息?

5.如何避免消息重複投遞或重複消費?

6、消息基於什麼傳輸?

7、消息如何分發?

8、消息怎麼路由?

9、如何確保消息不丟失?

10、使用RabbitMQ有什麼好處?

11、RabbitMQ的集群

12、mq的缺點

kafka 面試題

京東面試官整理Java面試題:Redis+Spring+MySQL+Kafka等(含答案)

1、如何獲取topic主題的列表

2、生產者和消費者的命令行是什麼?

3、consumer是推還是拉?

4、講講kafka維護消費狀態跟蹤的方法

5、講一下主從同步**

6、為什麼需要消息系統,mysql不能滿足需求嗎?

7、Zookeeper對於Kafka的作用是什麼?

8、數據傳輸的事務定義有哪三種?

9、Kafka判斷一個節點是否還活著有那兩個條件?

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

11、講一講kafka的ack的三種機制

13、消費者故障,出現活鎖問題如何解決?

14、如何控制消費的位置

15、kafka分佈式(不是單機)的情況下,如何保證消息的順序消費?

16、kafka的高可用機制是什麼?

17、kafka如何減少數據丟失

18、kafka如何不消費重複數據?比如扣款,我們不能重複的扣。

互聯網Java工程師面試題目錄

京東面試官整理Java面試題:Redis+Spring+MySQL+Kafka等(含答案)

京東面試官整理Java面試題:Redis+Spring+MySQL+Kafka等(含答案)

京東面試官整理Java面試題:Redis+Spring+MySQL+Kafka等(含答案)

由於文章的篇幅過長,小編在這就不一一的展示,想要獲取這題面試題(含答案)的小夥伴,可以私信我【Java】,我已將這一些題整理為PDF文檔。小編在這請大家有時間多幫忙轉發,謝謝!!!


分享到:


相關文章: