BATJ Java(1000題)高頻面試題:MyBatis +併發編程+分佈式+redis等

前言

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

目錄

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

BATJ Java(1000題)高頻面試題:MyBatis +併發編程+分佈式+redis等

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 實現一對一有幾種方式?具體怎麼操作的?
BATJ Java(1000題)高頻面試題:MyBatis +併發編程+分佈式+redis等

ZooKeeper 面試題(截取部分)

  1. ZooKeeper 面試題?

  2. ZooKeeper 提供了什麼?

  3. Zookeeper 文件系統

  4. ZAB 協議?

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

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

  7. 客戶端註冊 Watcher 實現

  8. 服務端處理 Watcher 實現

  9. 客戶端回調 Watcher

10.ACL 權限控制機制

BATJ Java(1000題)高頻面試題:MyBatis +併發編程+分佈式+redis等

Dubbo 面試題(截取部分)
1、爲什麼要用 Dubbo?

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

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

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

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

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

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

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

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

10、說說核心的配置有哪些?
BATJ Java(1000題)高頻面試題:MyBatis +併發編程+分佈式+redis等


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 個選了另一個 master,怎麼辦?
BATJ Java(1000題)高頻面試題:MyBatis +併發編程+分佈式+redis等

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 如何實現冗餘機制?
BATJ Java(1000題)高頻面試題:MyBatis +併發編程+分佈式+redis等

Redis 面試題(截取部分)
1、什麼是 Redis?

2、Redis 的數據類型?

3、使用 Redis 有哪些好處?

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

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

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

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

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

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

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

BATJ Java(1000題)高頻面試題:MyBatis +併發編程+分佈式+redis等

MySQL 面試題(截取部分)
1、MySQL 中有哪幾種鎖?

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

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

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

5、CHAR 和 VARCHAR 的區別?

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

7、myisamchk 是用來做什麼的?

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

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

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

BATJ Java(1000題)高頻面試題:MyBatis +併發編程+分佈式+redis等

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)?
BATJ Java(1000題)高頻面試題:MyBatis +併發編程+分佈式+redis等

部分答案參考

BATJ Java(1000題)高頻面試題:MyBatis +併發編程+分佈式+redis等
BATJ Java(1000題)高頻面試題:MyBatis +併發編程+分佈式+redis等
BATJ Java(1000題)高頻面試題:MyBatis +併發編程+分佈式+redis等

看完上面的內容,相信大家已經有了清晰的目標與方向,接下來就是查找學習資料了,我們爲大家準備了一套體系化的架構師學習資料包,供大家參考,學習資料包內容及領取方法如下:
資料免費領取方式——Q裙:668470172 或者VX:13272413561

BATJ Java(1000題)高頻面試題:MyBatis +併發編程+分佈式+redis等BATJ Java(1000題)高頻面試題:MyBatis +併發編程+分佈式+redis等

資料免費領取方式:

資料免費領取方式——Q裙:668470172 或者VX:13272413561

趁年輕,使勁拼!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章