本書內(nèi)容涵蓋:
Java、MyBatis牺丙、ZooKeeper则涯、Dubbo、Elasticsearch赘被、Memcached是整、Redis、MySQL民假、Spring浮入、Spring Boot、Spring Cloud羊异、RabbitMQ事秀、Kafka、Linux 等技術(shù)棧面試題野舶。
現(xiàn)在是時候給你展示我近 5 年從各種面試中收集來的 133 個問題了易迹。我確定你在自己的面試中見過很多這些問題,很多問題你也能正確回答平道。
包含超多面試問題和答案睹欲!
1、什么是 Mybatis一屋?
- Mybatis 是一個半 ORM(對象關(guān)系映射)框架窘疮,它內(nèi)部封裝了 JDBC,開發(fā)時只需要關(guān)注 SQL 語句本身冀墨。不需要花費精力去處理加載驅(qū)動闸衫、創(chuàng)建連接、創(chuàng)建statement 等繁雜的過程诽嘉。程序員直接編寫原生態(tài) sql蔚出,可以嚴(yán)格控制 sql 執(zhí)行性能弟翘,靈活度高
- MyBatis 可以使用 XML 或注解來配置和映射原生信息,將 POJO 映射成數(shù)據(jù)庫中的記錄骄酗,避免了幾乎所有的 JDBC 代碼和手動設(shè)置參數(shù)以及獲取結(jié)果集稀余。
- 通過 xml 文件或注解的方式將要執(zhí)行的各種 statement 配置起來,并通過java 對象和 statement 中 sql 的動態(tài)參數(shù)進行映射生成最終執(zhí)行的 sql 語句酥筝。最后由 mybatis 框架執(zhí)行 sql 并將結(jié)果映射為 java 對象并返回滚躯。(從執(zhí)行 sql 到返回 result 的過程)。
2嘿歌、Mybaits 的優(yōu)點:
- 基于 SQL 語句編程掸掏,相當(dāng)靈活,不會對應(yīng)用程序或者數(shù)據(jù)庫的現(xiàn)有設(shè)計造成任何影響宙帝,SQL 寫在 XML 里丧凤,解除 sql 與程序代碼的耦合,便于統(tǒng)一管理步脓;提供 XML標(biāo)簽愿待,支持編寫動態(tài) SQL 語句,并可重用靴患。
- 與 JDBC 相比仍侥,減少了 50%以上的代碼量,消除了 JDBC 大量冗余的代碼鸳君,不需要手動開關(guān)連接农渊;
- 很好的與各種數(shù)據(jù)庫兼容(因為 MyBatis 使用 JDBC 來連接數(shù)據(jù)庫,所以只要JDBC 支持的數(shù)據(jù)庫 MyBatis 都支持)或颊。
- 能夠與 Spring 很好的集成砸紊;提供映射標(biāo)簽,支持對象與數(shù)據(jù)庫的 ORM 字段關(guān)系映射囱挑;提供對象關(guān)系映射標(biāo)簽醉顽,支持對象關(guān)系組件維護。
3平挑、MyBatis 框架的缺點:
- SQL 語句的編寫工作量較大游添,尤其當(dāng)字段多、關(guān)聯(lián)表多時通熄,對開發(fā)人員編寫SQL 語句的功底有一定要求否淤。
SQL 語句依賴于數(shù)據(jù)庫,導(dǎo)致數(shù)據(jù)庫移植性差棠隐,不能隨意更換數(shù)據(jù)庫。
4檐嚣、MyBatis 框架適用場合:
- MyBatis 專注于 SQL 本身助泽,是一個足夠靈活的 DAO 層解決方案啰扛。對性能的要求很高,或者需求變化較多的項目嗡贺,如互聯(lián)網(wǎng)項目隐解,MyBatis 將是不錯的選擇。
5诫睬、當(dāng)實體類中的屬性名和表中的字段名不一樣 煞茫,怎么辦 ?
- 第 1 種: 通過在查詢的 sql 語句中定義字段名的別名摄凡,讓字段名的別名和實體類
的屬性名一致续徽。
image
- 第 2 種: 通過 <resultMap> 來映射字段名和實體類屬性名的一一對應(yīng)的關(guān)系。
image
文中會有大量的代碼示例亲澡!
6钦扭、UML 中有哪些常用的圖?
- UML 定義了多種圖形化的符號來描述軟件系統(tǒng)部分或全部的靜態(tài)結(jié)構(gòu)和動態(tài)結(jié)構(gòu)床绪,包括:用例圖(use case diagram)客情、類圖(class diagram)、時序(sequencediagram)癞己、協(xié)作圖(collaboration diagram)膀斋、狀態(tài)圖(statechartdiagram)、活動圖(activity diagram)痹雅、構(gòu)件圖(component diagram)仰担、部署圖(deploymentdiagram)等。
image
image
7练慕、SOA 和微服務(wù)架構(gòu)之間的主要區(qū)別是什么惰匙?
SOA 和微服務(wù)之間的主要區(qū)別如下:
image
485頁超詳細(xì)面試解答合集,下面截一部分圖給大家看看
篇幅原因铃将,這一份PDF已經(jīng)給大伙兒整理好了项鬼,點贊后點擊【這里】來免費獲取到我這次提供免費學(xué)習(xí)資料吧!