天天看點

2019網際網路大廠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、使用 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、自動裝配有什麼局限?

2019網際網路大廠Java面試題

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

2019網際網路大廠Java面試題

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 是如何進行分頁的?分頁插件的原理是什麼?

2019網際網路大廠Java面試題

11、Mybatis 是如何将 sql 執行結果封裝為目标對象并傳回的?都有哪些映射形式?.

12、如何執行批量插入?

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

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

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

16、Xml 映射檔案中,除了常見的 select|insert|updae|delete 标簽之外,還有哪些标簽?

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

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

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

2019網際網路大廠Java面試題

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

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

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

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

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

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

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

2019網際網路大廠Java面試題

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 有哪幾種幾種部署模式?

2019網際網路大廠Java面試題

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 解決了哪些問題?

2019網際網路大廠Java面試題

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、我們如何進行跨功能測試?

2019網際網路大廠Java面試題

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

2019網際網路大廠Java面試題

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 中用到的線程排程算法是什麼?

2019網際網路大廠Java面試題

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

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

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

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

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

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

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

2019網際網路大廠Java面試題

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

針對于上面的面試問到的知識點我總結出了網際網路公司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、使用 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、自動裝配有什麼局限?

2019網際網路大廠Java面試題

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

2019網際網路大廠Java面試題

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 是如何進行分頁的?分頁插件的原理是什麼?

2019網際網路大廠Java面試題

11、Mybatis 是如何将 sql 執行結果封裝為目标對象并傳回的?都有哪些映射形式?.

12、如何執行批量插入?

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

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

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

16、Xml 映射檔案中,除了常見的 select|insert|updae|delete 标簽之外,還有哪些标簽?

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

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

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

2019網際網路大廠Java面試題

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

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

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

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

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

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

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

2019網際網路大廠Java面試題

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 有哪幾種幾種部署模式?

2019網際網路大廠Java面試題

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 解決了哪些問題?

2019網際網路大廠Java面試題

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、我們如何進行跨功能測試?

2019網際網路大廠Java面試題

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

2019網際網路大廠Java面試題

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 中用到的線程排程算法是什麼?

2019網際網路大廠Java面試題

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

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

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

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

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

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

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

2019網際網路大廠Java面試題

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

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

繼續閱讀