阿里面試匯總:MyBatis 微服務 Spring 分布式 MySQL等(BAT向)

java領域佼佼者 發佈 2020-02-14T05:09:46+00:00

MySQL面試題如今網際網路行業用的最多就是 MySQL,然而對於高級 Web 面試者,尤其對於尋找 30k 下工作的求職者,很多 MySQL 相關知識點基本都會涉及,如果面試中,你的相關知識答的模糊和不切要點,基本大多稍好公司的面試官,基本也不會對你有興趣,畢竟稍微量大的項目,最

前言:

很多小夥伴可能會很困惑,為什麼BAT的面試官總是喜歡問源碼?其實我們常用的Spring、MyBaits這樣的框架可以說是JAVA裡面最經典的教科書,從中你能學習到很多寫代碼的經驗技巧,而去悟開源框架中蘊含的優雅架構設計之道這才是最重要的。微服務架構是一種架構風格,整個應用被劃分並設計為以業務域為模型的鬆散耦合的獨立服務,方便橫向擴展能力、伸縮性強、便於開發和維護等等這些是微服務與生俱來的優勢,面試的時候也都會問到SpringBoot,Cloud的問題。

本文收集整理了各大廠常見面試題N道,你想要的這裡都有內容涵蓋:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技術棧,希望大家都能找到適合自己的公司,開開心心的擼代碼。

目錄:

由於題量較多,篇幅的限制,文章中的面試題分享沒有全部附上詳細的解析,但是整理成了一份詳細的PDF文檔可分享給大家,文末獲取免費領取方式


看面試題可以是為了面試,也可以是對自己學到的東西的一種查漏補缺,更加深刻的去了解一些核心知識點

Spring面試高頻問題

問題一:談談你對spring IOC 和 DI 的理解,它們有什麼區別?

問題二:BeanFactory接口和 ApplicationContext 接口有什麼區

問題三:Spring配置 bean 實例化有哪些方式?

問題四:簡單的說一下 spring 的生命周期?

問題五:請介紹一下 Spring 框架中 Bean 的生命周期和作用域

問題六:Bean 注入屬性有哪幾種方式?

問題七:什麼是 AOP,AOP 的作用是什麼?

問題八:Spring的核心類有哪些,各有什麼作用?

問題九:Spring裡面如何配置資料庫驅動?

問題十:Spring裡面 applicationContext.xml 文件能不能改成其他 文件名?

問題十一:Spring裡面如何定義 hibernate mapping?

問題十二:Spring如何處理線程並發問題?

問題十三:為什麼要有事物傳播行為?

問題十四:介 紹 一 下Spring的 事物管理

問題十五:解釋一下Spring AOP裡面的幾個名詞

問題十六:通知有哪些類型?

Spring面試專題解析:


SpringBoot面試高頻題

1.什麼是 Spring Boot?

2.Spring Boot有哪些優點?

3.Spring Boot 的核心配置文件有哪幾個?它們的區別是什麼?

4.Spring Boot 的配置文件有哪幾種格式?它們有什麼區別?

5.Spring Boot 的核心註解是哪個?它主要由哪幾個註解組成的?

6.開啟 Spring Boot 特性有哪幾種方式?

7.Spring Boot 需要獨立的容器運行嗎?

8.運行 Spring Boot 有哪幾種方式?

9.Spring Boot 自動配置原理是什麼?

10.Spring Boot 2.X 有什麼新特性?與 1.X 有什麼區別?

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

12.如何實現Spring Boot應用程式的安全性?

13.如何集成Spring Boot和ActiveMQ?

14.什麼是YAML?

15.Spring Boot中的監視器是什麼?

16.什麼是Swagger?你用Spring Boot實現了它嗎?

17.如何使用Spring Boot實現異常處理?

18.RequestMapping 和 GetMapping 的不同之處在哪裡?

19.Spring Boot 可以兼容老 Spring 項目嗎,如何做

20.保護 Spring Boot 應用有哪些方法?

SpringBoot面試高頻專題解析:



MyBatis 面試題

問題一:什麼是Mybatis?

問題二:Mybatis的優點:

問題三:Mybatis框架的缺點:

問題四:Mybatis框架適用場合:

問題五:MyBatis與Hibernate有哪些不同?

問題六:#{}和${}的區別是什麼?

問題七:當實體類中的屬性名和表中的欄位名不一樣 ,怎麼辦 ?

問題八:模糊查詢like語句該怎麼寫?

問題九:通常一個Xml映射文件,都會寫一個Dao接口與之對應,請問,這個Dao接口的工作原理

問題十:是什麼?Dao接口裡的方法,參數不同時,方法能重載嗎?

問題十一:Mybatis是如何進行分頁的?分頁插件的原理是什麼?

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

問題十三:如何執行批量插入?

問題十四:如何獲取自動生成的(主)鍵值?

問題十五:Mybatis動態sql有什麼用?執行原理?有哪些動態sql?

問題十六:Xml映射文件中,除了常見的select|insert|updae|delete標籤之外,還有哪些標籤?

問題十七:Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重複?

問題十八:為什麼說Mybatis是半自動ORM映射工具?它與全自動的區別在哪裡?

問題十九:MyBatis實現一對一有幾種方式?具體怎麼操作的?

問題二十:MyBatis實現一對多有幾種方式,怎麼操作的?

問題二十一:Mybatis是否支持延遲加載?如果支持,它的實現原理是什麼?

問題二十二:Mybatis的一級、二級緩存:

問題二十三:什麼是MyBatis的接口綁定?有哪些實現方式?

問題二十四:使用MyBatis的mapper接口調用時有哪些要求?

問題二十五:簡述Mybatis的插件運行原理,以及如何編寫一個插件。

ZooKeeper 面試題

ZooKeeper 是一個開源的分布式協調服務,由雅虎創建,是 Google Chubby 的開源實現。分布式應用程式可以基於 ZooKeeper 實現諸如數據發布/訂閱、負載均衡、命名服務、分布式協調/通知、集群管理、Master 選舉、配置維護,名字服務、分布式同步、分布式鎖和分布式隊列等功能。

  • zookeeper 負載均衡和 nginx 負載均衡區別
  • Zookeeper Watcher 機制--數據變更通知
  • 客戶端註冊 Watcher 實現
  • zookeeper 是如何保證事務的順序一致性的?
  • Zookeeper 對節點的 watch監聽通知是永久的嗎?為什麼不是永久的?
  • zk 節點宕機如何處理?

SpringCloud面試高頻問題

問題一:什麼是Spring Cloud?

問題二:使用Spring Cloud有什麼優勢?

問題三:服務註冊和發現是什麼意思?Spring Cloud如何實現?

問題四:負載平衡的意義什麼?

問題五:什麼是Hystrix?它如何實現容錯?

問題六:什麼是Hystrix斷路器?我們需要它嗎?

問題七:什麼是Netflix Feign?它的優點是什麼?

問題八:什麼是Spring Cloud Bus?我們需要它嗎?

SpringCloud面試高頻專題解析:


Dubbo 面試題

Spring Eureka 從開源轉變為閉源,Consul 正在崛起,而 Dubbo 又開始重新更新。目前市場上仍有不少公司使用dubbo我們也需要繼續學習。

  • 為什麼要用 Dubbo?
  • 默認使用的是什麼通信框架,還有別的選擇嗎?
  • 服務調用是阻塞的嗎?
  • 一般使用什麼註冊中心?還有別的選擇嗎?
  • 默認使用什麼序列化框架,你知道的還有哪些?
  • Dubbo 的整體架構設計有哪些分層?


Elasticsearch 面試題

  • elasticsearch 了解多少,說說你們公司 es 的集群架構,索引數據大小,分片有多少,以及一些調優手段 。
  • elasticsearch 索引數據多了怎麼辦,如何調優,部署
  • elasticsearch 是如何實現 master 選舉的
  • Elasticsearch 在部署時,對 Linux 的設置有哪些優化方法
  • 詳細描述一下 Elasticsearch 更新和刪除文檔的過程。
  • Elasticsearch 在部署時,對 Linux 的設置有哪些優化方法?


Redis面試題

隨著應用研發技術的不斷成熟,Redis 緩存技術已經成為後台研發同學必備的能力之一。在很多公司面試的過程中,都必不可少地考察 Redis 知識點的掌握。

  • 使用 Redis 有哪些好處?
  • Redis 是單進程單線程的?
  • Redis 的持久化機制是什麼?各自的優缺點?
  • Redis 常見異常問題和解決方案(雪崩,穿透...)
  • redis 過期鍵的刪除策略?
  • 為什麼 redis 需要把所有數據放到內存中?
  • Redis 集群的主從複製模型是怎樣的?
  • Redis key 的過期時間和永久有效分別怎麼設置?


MySQL 面試題

如今網際網路行業用的最多就是 MySQL,然而對於高級 Web 面試者,尤其對於尋找 30k 下工作的求職者,很多 MySQL 相關知識點基本都會涉及,如果面試中,你的相關知識答的模糊和不切要點,基本大多稍好公司的面試官,基本也不會對你有興趣,畢竟稍微量大的項目,最終都會讓你去深入資料庫,而且最終的大多瓶頸首先也會出現在資料庫。

  • MySQL 相關存儲引擎。
  • MySQL 索引實現原理。
  • MySQL 資料庫鎖。
  • MySQL 的 SQL 調優。
  • MySQL 分表分庫全局 ID。


Java 並發編程面試題

  • 在 java 中守護線程和本地線程區別?
  • 什麼是多線程中的上下文切換?
  • Java 中用到的線程調度算法是什麼?
  • 什麼是線程組,為什麼在 Java 中不推薦使用?
  • 在 Java 中 Executor 和 Executors 的區別?
  • 並發編程三要素?
  • 什麼是線程池?有哪幾種創建方式?


Kafka面試題

  • Kafka 與傳統 MQ 消息系統之間有三個關鍵區別?
  • 講一講 kafka 的 ack 的三種機制?
  • 消費者故障,出現活鎖問題如何解決?
  • kafka 分布式(不是單機)的情況下,如何保證消息的順序消費?
  • kafka 如何不消費重複數據?比如扣款,我們不能重複的扣。
  • 看完上面的內容,相信大家已經有了清晰的目標與方向,接下來就是查找學習資料了,我們為大家準備了一套體系化的架構師學習資料包,供大家參考,學習資料包內容及領取方法如下:
  • 這些資料都以整理成了PDF文檔,如果有需要獲取到這個群裡面的文檔的話幫忙轉發一下然後再關注我私信回復「資料」得到獲取方式吧!即可獲取下載!!!


同時還分享更多精選整理的學習資料,包含(Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高並發等架構資料和完整的Java架構學習進階導圖!)

資料免費領取方式:轉發+轉發+轉發關注後,私信關鍵詞【資料】即可獲取免費領取方式!

重要的事說三遍,轉發+轉發+轉發!



關鍵字: