本文收集整理了各大廠常見面試題N道,你想要的這裏都有內容涵蓋:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技術棧,但願你們都能找到適合本身的公司,開開心心的擼代碼。java
因爲題量較多,篇幅的限制,文章中的面試題分享沒有所有附上詳細的解析,可是整理成了一份詳細的PDF文檔可分享給你們,文末獲取免費領取方式node
MyBatis 面試題(截取部分)
一、什麼是 Mybatis?面試
二、Mybaits 的優勢redis
三、MyBatis 框架的缺點算法
四、MyBatis 框架適用場合sql
五、MyBatis 與 Hibernate 有哪些不一樣數據庫
六、#{}和${}的區別是什麼編程
七、當實體類中的屬性名和表中的字段名不同 ,怎麼辦 ?服務器
八、 模糊查詢 like 語句該怎麼寫?多線程
九、一般一個 Xml 映射文件,都會寫一個 Dao 接口與之對應,請問, 這個 Dao 接口的工做原理是什麼?Dao 接口裏的方法,參數不一樣時, 方法能重載嗎?
十、Mybatis 是如何進行分頁的?分頁插件的原理是什麼?
十一、Mybatis 是如何將 sql 執行結果封裝爲目標對象並返回的?都有哪些映射形式?
十二、如何執行批量插入?
1三、如何獲取自動生成的(主)鍵值?
1四、在 mapper 中如何傳遞多個參數?
1五、Mybatis 動態 sql 有什麼用?執行原理?有哪些動態 sql?
1六、Xml 映射文件中,除了常見的 select|insert|updae|delete 標籤以外,還有哪些標籤?
1八、爲何說 Mybatis 是半自動 ORM 映射工具?它與全自動的區別在哪裏?
1九、 一對1、一對多的關聯查詢 ?
20、MyBatis 實現一對一有幾種方式?具體怎麼操做的?
ZooKeeper 面試題(截取部分)
ZooKeeper 面試題?
ZooKeeper 提供了什麼?
Zookeeper 文件系統
ZAB 協議?
四種類型的數據節點 Znode
Zookeeper Watcher 機制 -- 數據變動通知
客戶端註冊 Watcher 實現
服務端處理 Watcher 實現
10.ACL 權限控制機制
Dubbo 面試題(截取部分)
一、爲何要用 Dubbo?
二、Dubbo 的總體架構設計有哪些分層?
三、默認使用的是什麼通訊框架,還有別的選擇嗎?
四、服務調用是阻塞的嗎?
五、通常使用什麼註冊中心?還有別的選擇嗎?
六、默認使用什麼序列化框架,你知道的還有哪些?
七、服務提供者能實現失效踢出是什麼原理?
八、服務上線怎麼不影響舊版本?
九、如何解決服務調用鏈過長的問題?
十、說說核心的配置有哪些?
Elasticsearch 面試題(截取部分)
一、elasticsearch 瞭解多少,說說大家公司 es 的集羣架構,索引數據大小,分片有多少,以及一些調優手段 。
二、elasticsearch 的倒排索引是什麼
三、elasticsearch 索引數據多了怎麼辦,如何調優,部署
四、elasticsearch 是如何實現 master 選舉的
五、詳細描述一下 Elasticsearch 索引文檔的過程
六、詳細描述一下 Elasticsearch 搜索的過程?
七、Elasticsearch 在部署時,對 Linux 的設置有哪些優化方法
八、lucence 內部結構是什麼?
九、Elasticsearch 是如何實現 Master 選舉的?
十、Elasticsearch 中的節點(好比共 20 個),其中的 10 個選了一個master,另外 10 個選了另外一個 master,怎麼辦?
Memcached 面試題(截取部分)
一、Memcached 是什麼,有什麼做用?
二、Memcached 服務分佈式集羣如何實現?
三、Memcached 服務特色及工做原理是什麼?
四、簡述 Memcached 內存管理機制原理?
五、memcached 是怎麼工做的?
六、memcached 最大的優點是什麼?
七、memcached 和 MySQL 的 query
八、memcached 和服務器的 local cache(好比 PHP 的 APC、mmap文件等)相比,有什麼優缺點?
九、memcached 的 cache 機制是怎樣的?
十、memcached 如何實現冗餘機制?
Redis 面試題(截取部分)
一、什麼是 Redis?
二、Redis 的數據類型?
三、使用 Redis 有哪些好處?
四、Redis 相比 Memcached 有哪些優點?
五、Memcache 與 Redis 的區別都有哪些?
六、Redis 是單進程單線程的?
七、一個字符串類型的值能存儲最大容量是多少?
八、Redis 的持久化機制是什麼?各自的優缺點?
九、Redis 常見性能問題和解決方案:
十、redis 過時鍵的刪除策略?
MySQL 面試題(截取部分)
一、MySQL 中有哪幾種鎖?
二、MySQL 中有哪些不一樣的表格?
三、簡述在 MySQL 數據庫中 MyISAM 和 InnoDB 的區別
四、MySQL 中 InnoDB 支持的四種事務隔離級別名稱,以及逐級之間的區別?
五、CHAR 和 VARCHAR 的區別?
六、主鍵和候選鍵有什麼區別?
七、myisamchk 是用來作什麼的?
八、若是一個表有一列定義爲 TIMESTAMP,將發生什麼?
九、你怎麼看到爲表格定義的全部索引?
十、LIKE 聲明中的%和_是什麼意思?
Java 併發編程(截取部分)
一、在 java 中守護線程和本地線程區別?
二、線程與進程的區別?
三、什麼是多線程中的上下文切換?
四、死鎖與活鎖的區別,死鎖與飢餓的區別?
五、Java 中用到的線程調度算法是什麼?
六、什麼是線程組,爲何在 Java 中不推薦使用?
七、爲何使用 Executor 框架?
八、在 Java 中 Executor 和 Executors 的區別?
九、如何在 Windows 和 Linux 上查找哪一個線程使用的 CPU 時間最長?
十、什麼是原子操做?在 Java Concurrency API 中有哪些原子類(atomic classes)?
看完上面的內容,相信你們已經有了清晰的目標與方向,接下來就是查找學習資料了,咱們爲你們準備了一套體系化的架構師學習資料包,供你們參考,學習資料包內容及領取方法以下:
添加VX:13272413561(備註51免費獲取)
資料免費領取方式:添加VX:13272413561(備註51免費獲取)
做爲Java開發者而已應當合理利用本身每一分每一秒的時間來學習提高本身,不要再用"沒有時間「來掩飾本身思想上的懶惰!趁年輕,使勁拼,給將來的本身一個交代!