1個月時間整理了2019年上千道Java面試題,近500頁文檔!

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、使用 springg 有哪些方式

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, @Service 有何區別?

4.4、@Required 註解有什麼用?

4.5、@Autowired 註解有什麼用?.

4.6、@Qualifier 註解有什麼用?.

4.7、@RequestMapping 註解有什麼用?..

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 concern 的不同之處。

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

MyBatis 面試題

1、什麼是 Mybatis?

2、Mybaits 的優點

3、MyBatis 框架的缺點

4、MyBatis 框架適用場合

5、MyBatis 與 Hibernate 有哪些不同?

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

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

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

9、通常一個 Xml 映射文件,都會寫一個 Dao 接口與之對應,請問,這個 Dao 接口的工作原理是什麼?Dao 接口裏的方法,參數不同時,方法能重載嗎?

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 面試題

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 的典型應用場景

 

微服務面試題

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、什麼是微服務中的反應性擴展?

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 classes)?

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

12、什麼是 Executors 框架?

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

14、什麼是 Callable 和 Future?

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

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

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

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

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

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 如何實現多線程之間的通訊和協作?

歡迎大家關注我的公種浩【程序員追風】,整理了2019年多家公司java面試題資料400多頁pdf文檔,文章都會在裏面更新,整理的資料也會放在裏面。

我個人覺得面試也像是一場全新的征程,失敗和勝利都是平常之事。所以,勸各位不要因爲面試失敗而灰心、 喪失鬥志。也不要因爲面試通過而沾沾自喜,等待你的將是更美好的未來,繼續加油!

針對於上面的面試問到的知識點我總結出了互聯網公司Java程序員面試涉及到的絕大部分面試題及答案做成了文檔和架構資料分享給大家,幫助到您面試前的複習且找到一個好的工作,也節省大家在網上搜索資料的時間來學習。

最後

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

發佈了174 篇原創文章 · 獲贊 2290 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章