本文收集整理了各大廠常見面試題N道,你想要的這裏都有java
內容涵蓋:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技術棧,但願你們都能找到適合本身的公司,開開心心的擼代碼。程序員
因爲題量較多,篇幅的限制,文章中的面試題分享沒有所有附上詳細的解析,可是整理成了一份詳細的PDF文檔可分享給你們,須要的朋友關注個人供種號(Java周某人)便可領取web
看面試題能夠是爲了面試,也能夠是對本身學到的東西的一種查漏補缺,更加深入的去了解一些核心知識點面試
MyBatis 面試題(27題)redis
ZooKeeper 面試題(28題)算法
Dubbo 面試題(30題)sql
Elasticsearch 面試題(24題)數據庫
Memcached 面試題(23題)編程
Redis 面試題(40題)安全
MySQL 面試題(50題)
Java 併發編程(一),Java 併發編程(二)(共123題)
Java 面試題(一),Java 面試題(二)(共228題)
Spring 面試題(一),Spring 面試題(二)(共116題)
微服務面試題(50題)
Linux 面試題(45題)
Spring Boot 面試題(22題)
Spring Cloud 面試題(8題)
RabbitMQ 面試題(12題)
kafka 面試題(18題)
內容過多,文章儘可能簡潔,須要整個文檔資料的關注個人供種號(Java周某人)便可領取
一、什麼是 Mybatis?
一、Mybatis 是一個半 ORM(對象關係映射)框架,它內部封裝了 JDBC,開發時只須要關注 SQL 語句自己,不須要花費精力去處理加載驅動、建立鏈接、建立statement 等繁雜的過程。程序員直接編寫原生態 sql,能夠嚴格控制 sql 執行性能,靈活度高。
二、MyBatis 可使用 XML 或註解來配置和映射原生信息,將 POJO 映射成數據庫中的記錄,避免了幾乎全部的 JDBC 代碼和手動設置參數以及獲取結果集。
三、經過 xml 文件或註解的方式將要執行的各類 statement 配置起來,並經過java 對象和 statement 中 sql 的動態參數進行映射生成最終執行的 sql 語句,最後由 mybatis 框架執行 sql 並將結果映射爲 java 對象並返回。(從執行 sql 到返回 result 的過程)。
二、Mybaits 的優勢:
三、MyBatis 框架的缺點:
一、SQL 語句的編寫工做量較大,尤爲當字段多、關聯表多時,對開發人員編寫
SQL 語句的功底有必定要求。
二、SQL 語句依賴於數據庫,致使數據庫移植性差,不能隨意更換數據庫。
四、MyBatis 框架適用場合:
五、MyBatis 與 Hibernate 有哪些不一樣?
六、#{}和${}的區別是什麼?
#{}是預編譯處理,${}是字符串替換。
Mybatis 在處理#{}時,會將 sql 中的#{}替換爲?號,調用 PreparedStatement 的
set 方法來賦值;
Mybatis 在處理${}時,就是把${}替換成變量的值。
使用#{}能夠有效的防止 SQL 注入,提升系統安全性
七、當實體類中的屬性名和表中的字段名不同 ,怎麼辦 ?
八、 模糊查詢 like 語句該怎麼寫?
...................
MyBatis面試題共27道,內容過多,文章儘可能簡潔,須要整個文檔資料的關注個人供種號(Java周某人)便可
ZooKeeper 是一個開源的分佈式協調服務,由雅虎建立,是 Google Chubby 的開源實現。分佈式應用程序能夠基於 ZooKeeper 實現諸如數據發佈/訂閱、負載均衡、命名服務、分佈式協調/通知、集羣管理、Master 選舉、配置維護,名字服務、分佈式同步、分佈式鎖和分佈式隊列等功能。
ZooKeeper 提供了什麼?
Zookeeper 文件系統
Zookeeper Watcher 機制--數據變動通知
客戶端註冊 Watcher 實現
zookeeper 是如何保證事務的順序一致性的?
zk 節點宕機如何處理?
..........
Spring Eureka 從開源轉變爲閉源,Consul 正在崛起,而 Dubbo 又開始從新更新。目前市場上仍有很多公司使用dubbo咱們也須要繼續學習。
爲何要用 Dubbo?
隨着服務化的進一步發展,服務愈來愈多,服務之間的調用和依賴關係也愈來愈複雜,誕生了面向服務的架構體系(SOA),也所以衍生出了一系列相應的技術,如對服務提供、服務調用、鏈接處理、通訊協議、序列化方式、服務發現、服務路由、日誌輸出等行爲進行封裝的服務框架。就這樣爲分佈式系統的服務治理框架就出現了,Dubbo 也就這樣產生了。
Dubbo 的總體架構設計有哪些分層?
默認使用的是什麼通訊框架,還有別的選擇嗎?
服務調用是阻塞的嗎?
通常使用什麼註冊中心?還有別的選擇嗎?
默認使用什麼序列化框架,你知道的還有哪些?
...............
elasticsearch 瞭解多少,說說大家公司 es 的集羣架構,索引數據大小,分片有多少,以及一些調優手段 。
elasticsearch 索引數據多了怎麼辦,如何調優,部署
elasticsearch 是如何實現 master 選舉的
Elasticsearch 在部署時,對 Linux 的設置有哪些優化方法
詳細描述一下 Elasticsearch 更新和刪除文檔的過程。
Elasticsearch 在部署時,對 Linux 的設置有哪些優化方法?
...........
咱們使用 Redis 時,會接觸 Redis 的 5 種對象類型(字符串、哈希、列表、集合、有序集合),豐富的類型是 Redis 相對於 Memcached 等的一大優點。
什麼是 Redis?
使用 Redis 有哪些好處?
Redis 是單進程單線程的?
Redis 的持久化機制是什麼?各自的優缺點?
Redis 常見性能問題和解決方案:
redis 過時鍵的刪除策略?
爲何 edis 須要把全部數據放到內存中?
..........
內容過多,文章儘可能簡潔,須要整個文檔資料的關注個人供種號(Java周某人)便可領取
在今年上半年的數據庫使用情況調查中,筆者收集了衆多國內外知名互聯網公司的數據庫使用狀況,其中,國外GitHub、Airbnb、Yelp、Coursera均在使用MySQL數據庫,國內阿里巴巴、去哪兒網、騰訊、魅族、京東的部分關鍵業務一樣使用了MySQL數據庫。同時,MySQL也是衆多數據庫排行榜單的第一名,這個開發者和一線互聯網企業都在用的開源數據庫,你瞭解多少?
MySQL 中有哪幾種鎖?
MySQL 中有哪些不一樣的表格?
簡述在 MySQL 數據庫中 MyISAM 和 InnoDB 的區別
MySQL 中 InnoDB 支持的四種事務隔離級別名稱,以及逐級之間的區別?
若是一個表有一列定義爲 TIMESTAMP,將發生什麼?
MySQL_fetch_array 和 MySQL_fetch_object 的區別是什麼
...............
在 java 中守護線程和本地線程區別?
什麼是多線程中的上下文切換?
Java 中用到的線程調度算法是什麼?
什麼是線程組,爲何在 Java 中不推薦使用?
在 Java 中 Executor 和 Executors 的區別?
併發編程三要素?
什麼是線程池?有哪幾種建立方式?
.........
內容過多,文章儘可能簡潔,須要整個文檔資料關注個人供種號(Java周某人)便可領取
Spring 是個java企業級應用的開源開發框架。Spring主要用來開發Java應用,可是有些擴展是針對構建J2EE平臺的web應用。Spring 框架目標是簡化Java企業級應用開發,並經過POJO爲基礎的編程模型促進良好的編程習慣。
不一樣版本的 Spring Framework 有哪些主要功能?
列舉 Spring Framework 的優勢
使用 Spring 框架的好處是什麼?
Spring 配置文件
Bean 工廠和 Application contexts 有什麼區別?
一個 Spring 的應用看起來象什麼?
什麼是 Spring 的依賴注入?
..........
服務架構有哪些優點?
設計微服務的最佳實踐是什麼?
微服務架構的優缺點是什麼?
在使用微服務架構時,您面臨哪些挑戰?
SOA 和微服務架構之間的主要區別是什麼?
什麼是 Spring 引導的執行器?
因爲題量較多,篇幅的限制,文章中的面試題分享沒有所有附上詳細的解析,但願各位同仁理解
可是整理成了一份詳細的PDF文檔可分享給你們
領取方式:關注個人供種號(Java周某人)便可領取
記得必定要關注哦,整理不易