題目基本覆蓋了整個Java後端題,因文章篇幅問題,我這裡就不解答了,我已把題目整理成pdf文檔,內容很全面,有需要的可以關注小編後臺私信【Java】獲取資料!
話不多說,直接往下看↓ ↓ ↓
一、性能調優面試專欄
1.1、tomcat性能優化整理
- 你這樣給tomcat調優
- 如何加大comcat連接數
- 怎樣加大tomcat的內存
- Tomcat有幾種部署方式
- Tomcat的優化經驗
1.2、JVM性能優化整理
- Java類加載過程
- Java內存分配
- 描述一下jVM加載class文件的原理機制?
- GC是什麼?為什麼要有GC?
- 簡述Java垃圾回收機制
- 如何判斷一個對象是有存貨?(或者GC對象的判定方式)
- 垃圾回收的優點和原理。並考慮2種回收機制。
- 垃圾回收器的基本原理是什麼?垃圾回收器可以馬上回收內存嗎?有什麼辦法主動通知虛擬機進行垃圾回收?
1.3、Mysql性能優化整理
- Mysql中有哪幾種鎖?
- Mysql中有哪些不同的表格?
- 簡述在 Mysql 數據庫中 MyISAM 和 InnoDB 的區別
- BLOB 和 TEXT 有什麼區別?
- Mysql_fetch_array 和 MySQL_fetch_object 的區別是什麼?
- Mysql 如何優化 DISTINCT?
- Mysql 有關權限的表都有哪幾個?
二、微服務架構面試專欄
2.1、SpringCloud面試整理
- 什麼是 springcloud?
- 使用 springcloud 有什麼優勢?
- 服務註冊和發現是什麼意思?springcloud如何實現?
- 負載平衡的意義什麼?
- 什麼是 Hystrix?它如何實現容錯?
- 什麼是 Hystrix 斷路器?我們需要它嗎?
- 什麼是 Hetflix Feign?它的優點是什麼?
- 什麼是 Spring Cloud Bus?我們需要它嗎?
2.2、SpringBoot面試整理
- 什麼是 spring boot?
- spring boot 有哪些優勢?
- 什麼是 JavaConfig?
- 如何重新加載 spring boot 上的更改,而無需重新啟動服務器?
- spring boot 中的監視器是什麼?
- 如何在 spring boot 中禁用 Actuator 端點安全性?
2.3、Dubbo面試整理
- Dubbo 中 zookeeper 做註冊中心,如果註冊中心集群都掛掉,發佈者和訂閱者之間還能通信麼?
- Dubbo 服務負載均衡策略?
- Dubbo 在安全機制方面是如何解決的
- Dubbo 連接註冊中心和直連的區別
三、併發編程高級面試專欄
- Synchronized用過嗎,其原理是什麼?
- 你剛才提到獲取對象的鎖,這個“鎖”到底是什麼?如何確定對象的鎖?
- 什麼是可重入性,為什麼說 Synchronized 是可重入鎖?
- JVM對 Java 的原生鎖做了哪些優化?
- 為什麼說 Synchronized 是非公平鎖?
- 什麼是鎖消除和鎖粗化?
- 為什麼說 Synchronized 是一個悲觀鎖?樂觀鎖的實現原理又是什麼?什麼是 CAS、它有什麼特性?
- 樂觀鎖一定就是好的嗎?
- 跟 Synchronized 相比,可重入鎖 ReentrantLock 其實現原理有什麼不同?
- 那麼請談談 AQS 框架是怎麼回事?
四、開源框架面試題專欄
4.1、Spring面試整理
- 什麼是 Spring 框架?Spring 框架有哪些主要模塊?
- 使用 Spring框架能帶來哪些好處?
- 什麼是控制翻轉(IOC)?為什麼是依賴注入?
- 請解釋下 Spring 框架中的 IOC?
- BeanFactory 和 ApplicationContext 有什麼區別?
- Spring 有幾種配置方式?
- 如何用基於 XML 配置的方式配置 Spring?
- 如何用基於 Java 配置的方式配置 Spring?
- 怎樣用註解的方式配置 Spring?
- 請解釋 Spring Bean 的生命週期?
- Spring Bean 的作用域之間有什麼區別?
4.2、SpringMVC面試整理
- 什麼 SpringMVC?
- SpringMVC 的優點:
- SpringMVC 工作原理?
- SpringMVC 流程?
- SpringMVC 的控制器是不是單例模式,如果是,有什麼問題,怎麼解決?
- 如果你也用過 struts2.簡單介紹下 SpringMVC 和 struts2 的區別有哪些?
- SpringMVC 中的控制的註解一般用那個,有沒有別的註解可以代替?
- @RequestMapping 註解用在類上面有什麼作用?
4.3、MyBatis面試整理
- 什麼是 MyBatis?
- 講下 MyBatis 的緩存
- Mybatis 是如何進行分頁的?分頁插件的原理是什麼?
- 簡述 Mybatis 的插件運行原理,以及如何編寫一個插件?
- Mybatis 動態 sql 是做什麼的?都有哪些動態 sql?能簡述一下動態 sql 的執行原理嗎?
- Mybatis 能執行一對一、一對多的關聯查詢嗎?都有哪些實現方式,以及它們之間的區別?
- 為什麼說 Mybatis 是半自動 ORM 映射工具?它與全自動的區別在哪裡?
- Mybatis 是否支持延遲加載?如果支持,它的實現原理是什麼?
五、分佈式面試專欄
5.1、分佈式限流面試整理
5.2.1、ZooKeeper專題
- ZooKeeper 是什麼?
- ZooKeeper 提供了什麼?
- ZooKeeper 文件系統?
- 四種類型的 znode
- ZooKeeper 通知機制
- ZooKeeper 做了什麼?
- ZK 的命名服務[文件系統]
- ZK 的配置管理[文件系統、通知機制]
- ZooKeeper 集群管理[文件系統、通知機制]
- ZooKeeper 分佈式鎖[文件系統、通知機制]
- ZooKeeper 隊列管理[文件系統、通知機制]
5.1.2、Nginx面試專題
- 請解釋下什麼是 Nginx?
- 請列舉 Nginx 的一些特性
- 請解釋 Nginx 如何處理 HTTP請求
- 在 Nginx 中,如何使用未定義的服務器名稱來阻止處理請求?
- 使用“反向代理服務器”的優點是什麼?
5.2、分佈式通訊面試整理
5.2.1、RabbitMQ消息中間件面試專題
- RabbitMQ 中的 broker 是指什麼? cluster又是指什麼?
- 什麼是元數據?元數據分為哪些類型?包括哪些內容?與 cluster 相關的元數據有什麼?元數據是如何保存的?元數據在 cluster 中是如何分佈的?
- RAM node 和 disk node 的區別?
- RabbitMQ 上的一個 queue 中存放中 message 是否有數量限制?
- vhost 是什麼?起什麼作用?
- 在單 node 系統和多 node 構成的 cluster 系統中聲明 queue、exchange,以及進行 binding 會有什麼不同?
5.2.2、Kafka面試專題
- Kafka 的設計時什麼樣的呢?
- 數據傳輸的事務定義有哪三種?
- Kafka 的判斷一個節點是否還活著有那兩個條件?
- producer 是否直接將數據發送到 broker 的 leader(主節點)?
- Kafka consumer 是否可以消費指定分區消息?
- Kafka 消息是採用 Pull 模式,還是 Push 模式?
5.2.3、ActiveMQ消息中間件面試專題
- 什麼是 ActiveMQ?
- ActiveMQ 服務器宏機怎麼辦?
- 丟消息怎麼辦?
- 持久化消息非常慢
- 消息的不均勻消費
- ActiveMQ 中的消息重發時間間隔和重發次數嗎?
5.3、分佈式數據庫面試整理
5.3.1、redis面試專題
- redis 和 memcached 什麼區別?為什麼高併發下有時單線程的 redis 比多線程的 memcached 效率要高?
- redis 主從複製如何實現?redis 的集群模式如何實現?redis 的 key 是如何尋址的?
- 使用 redis 如何設計分佈式鎖?說一下實現思路?使用 zk 可以嗎?如何實現?這兩種有什麼區別?
- 知道 redis 的持久化嗎?底層如何實現的?有什麼優點缺點?
- redis 過期策略都有哪些?LRU算法知道嗎?寫一下Java代碼實現?
- 緩存穿透、緩存擊穿、緩存雪崩解決方案?
- 在選擇緩存時,什麼時候選擇redis,什麼時候選擇 memcached
5.3.2、MongoDB面試專題
- 你說的 NoSQL 數據庫是什麼意思?NoSQL 與 RDBMS 直接有什麼區別?為什麼要使用和不使用 No SQL 數據庫?說一說 NoSQL 數據庫的幾個有點?
- NoSQL數據庫有哪些類型?
- MySQL 與 MongoDB 之間最基本的差別是什麼?
- 你怎麼比較 MongDB,CouchDB 及 CouchBase?
- MongoDB 成為最好 NoSQL 數據庫的原因是什麼?
- 32位系統上有什麼細微差別?
- joumal 回放在條目(entry)不完整時(比如恰巧有一箇中途故障了)會遇到問題嗎?
- 分析器在 MongoDB 中的作用是什麼?
5.3.3、memcached面試專題
- memcached 是怎麼工作的?
- memcached 最大的優勢是什麼?
- memcached 和 MySQL 的 query cache 相比有什麼優缺點?
- memcached 和服務器的 local cache(比如 PHP 的 APC、mmap 文件等)相比,有什麼優缺點?
- memcached 的 cache 機制是怎樣的?
- memcached 如何處理容錯的?
- memcached 的多線程是什麼?如何使用它們?
內容很多,因文章篇幅問題,我就不全部展示了,我已把所有題目(帶解析)整理成 PDF 分享給大家,另外還有一些電子書籍及架構視頻;希望能幫助到您面試前的複習且找到一個好的工作,也節省大家在網上搜索資料的時間來學習,也可以關注我一下以後會有更多幹貨分享。
最後祝大家工作順利,升職加薪,面試都能通過,offer拿到手軟,早日找到心儀的工作 ~
資料獲取方式:轉發+轉發+轉發關注我後臺私信【Java】獲取資料!
部分資料展示
最後,用 Martin Fowler 的一句話作為結尾:「任何傻瓜都能寫計算機能理解的代碼,優秀的程序員編寫人類能夠理解的代碼。」(Any fool can write code that a computer can understand. Good programmers write code that humans can understand)
閱讀更多 愛喝王老吉的劉某人 的文章