秋招總結指南之「性能調優」:MySQL+Tomcat+JVM,還怕面試官的轟炸?

秋招總結指南之「性能調優」:MySQL+Tomcat+JVM,還怕面試官的轟炸?

01 MySQL性能調優

1.1 MySQL性能調優問題有哪些?怎麼學?

關於這個,給你們看一份學習大綱(xmind)文件,每個分支裏面會有詳細的介紹。java

這裏都是以圖片形式展現介紹,如要下載原文件以及更多的性能調優筆記(MySQL+Tomcat+JVM)能夠 直接【click here】!!mysql

1.2 關於MySQL,面試官會問哪些問題?

  • 第一個:MySQ性能優化最佳實踐21個(有具體的解釋)你知道哪些?程序員

  1. 爲查詢緩存優化你的查詢web

  2. EXPLAIN你的SELECT查詢面試

  3. 當只要一行數據時使用LIMIT 1sql

  4. 爲搜索字段建索引數據庫

  5. 在Join表的時候使用至關類型的例,並將其索引緩存

  6. 千萬不要 ORDER BY RAND()tomcat

  7. 避免 SELECT *性能優化

  8. 永遠爲每張表設置一個 ID

  9. 使用 ENUM 而不是 VARCHAR

  10. 從 PROCEDURE ANALYSE() 取得建議

  11. 儘量的使用 NOT NULL

  12. Prepared Statements

  13. 無緩衝的查詢

  14. 把 IP 地址存成 UNSIGNED INT

  15. 固定長度的表會更快

  16. 垂直分割

  17. 拆分大的 DELETE 或 INSERT 語句

  18. 越小的列會越快

  19. 選擇正確的存儲引擎

  20. 使用一個對象關係映射器(Object Relational Mapper)

  21. 當心「永久連接」

篇幅有點長,整理成了一個PDF文檔:

  • 第二個:來看下MySQL的高頻20問(附帶詳細解答,整理成冊)

  1. 事務四大特性(ACID)原子性、一致性、隔離性、持久性?

  2. 事務的併發?事務隔離級別,每一個級別會引起什麼問題,MySQL默認是哪一個級別?

  3. MySQL常見的三種存儲引擎(InnoDB、MyISAM、MEMORY)的區別?

  4. MySQL的MyISAM與InnoDB兩種存儲引擎在,事務、鎖級別,各自的適用場景?

  5. 查詢語句不一樣元素(where、jion、limit、group by、having等等)執行前後順序?

  6. 什麼是臨時表,臨時表何時刪除?

  7. MySQL B+Tree索引和Hash索引的區別?

  8. sql查詢語句肯定建立哪一種類型的索引?如何優化查詢?

  9. 彙集索引和非彙集索引區別?

  10. 有哪些鎖(樂觀鎖悲觀鎖),select 時怎麼加排它鎖?

  11. 非關係型數據庫和關係型數據庫區別,優點比較?

  12. 數據庫三範式,根據某個場景設計數據表?

  13. 數據庫的讀寫分離、主從複製,主從複製分析的 7 個問題?

  14. 使用explain優化sql和索引?

  15. MySQL慢查詢怎麼解決?

  16. 什麼是 內鏈接、外鏈接、交叉鏈接、笛卡爾積等?

  17. mysql都有什麼鎖,死鎖斷定原理和具體場景,死鎖怎麼解決?

  18. varchar和char的使用場景?

  19. mysql 高併發環境解決方案?

  20. 數據庫崩潰時事務的恢復機制(REDO日誌和UNDO日誌)?

1.3 MySQL性能調優筆記分享

  • 《MySQL性能調優與架構設計--全冊(PDF)》

本書分爲3個部分,第一部分是基礎篇,第二部分是重點之重性能調優篇,第三部分是架構設計篇

(1)目錄簡介

(2)詳情內容

  • 《重學MySQL:從入門到精通(PDF)》

本書包括MySQL的安裝與配置、數據庫的建立、數據表的建立、數據類型和運算符、MySQL函數、查詢數據、數據表的操做(插入、更新與刪除數據)、索引、存儲過程和函數、視圖、觸發器、用戶管理、數據備份與恢復、日誌以及性能優化等等。本書注重實戰操做,幫助讀者按部就班的掌握MySQL的各項技術。須要重學一下MySQL,建議能夠看看這個

02 Tomcat性能調優

2.1 Tomcat性能調優面試必備題(附帶詳細解答)你能答多少?

  1. 你怎樣給 tomcat 去調優?

  2. 如何加大 tomcat 鏈接數

  3. tomcat 中如何禁止列目錄下的文件

  4. 怎樣加大 tomcat 的內存

  5. Tomcat 有幾種部署方式

  6. Tomcat 的優化經驗

  7. Tomcat 的缺省端口是多少,怎麼修改?

  8. tomcat 有哪幾種 Connector 運行模式( 優化) ?

  9. Tomcat 有幾種部署方式?

  10. tomcat 容器是如何建立 servlet 類實例?用到了什麼原理?

  11. tomcat 如何優化?

  12. 內存調優

  13. 垃圾回收策略調優

  14. 添加 JMS 遠程監控

  15. 專業點的分析工具備

  16. 關於 Tomcat 的 的 session 數目

  17. 監視 Tomcat 的內存使用狀況

  18. 打印類的加載狀況及對象的回收狀況

  19. Tomcat 一個請求的完整過程

  20. Tomcat 工做模式?

2.2 Tomcat學習筆記分享

  • 《深刻剖析Tomcat(中文版)(PDF)》

  • 第1章:本書從介紹一個簡單的HTTP服務器開始。爲了創建一個能夠運行的HTTP服務器,你須要瞭解java.net包下Socket類和ServerSocket類的內部運行機制。該章有詳細的背景信息介紹,使你能夠理解該章中應用程序的運行機制。

  • 第2章:闡明一個簡單的servlet容器是如何工做的。此章有兩個與servlet容器有關的應用程序員,能夠服務於靜態資源的請求和簡單servlet的請求。。

  • 第15章:說明如何經過Digester組件來對Web應用程序進行配置,Digester是Apacbe軟件基金會的一個開源項目,即便你對這個不熟悉也不要緊,該章會簡要介紹Digester庫,說明如何使用該庫來搞XML。

  • 第16章:對Tomcat中的關閉鉤子進行說明,不論用戶如何關閉Tomcat(即經過發送關閉命令,或是忽然直接關閉控制檯),經過使用關閉鉤子,Tomcat老是能夠執行一些清理工做。

  • 第17章:對使用批處理文件和Shell腳原本啓動和關閉Tomcat進行說明。

  • 第18章:對部署組件進行說明,該組件負責部署和安裝web應用程序。

  • Servlet對一個特殊接口(ContainerServlet)進行說明。使用該接口,Servlet對象能夠訪問Catalina中的內部對象,此外,該章會對用來管理已部署應用程序的Manager應用程序進行說明

  • 第20章:對JMX進行說明,並闡述Tomcat是如何爲其內部對象建立MBean,並使用這些內部對象可託管的。

03 JVM性能調優

3.1 JVM和性能調優問題學習大綱(xmind)

3.2 JVM性能調優面試相關問題(附解析)

  1. Java 類加載過程?

  2. 描述一下 JVM 加載 Class 文件的原理機制?

  3. Java 內存分配。

  4. GC 是什麼? 爲何要有 GC?

  5. 簡述 Java 垃圾回收機制。

  6. 如何判斷一個對象是否存活?(或者 GC 對象的斷定方法)

  7. 垃圾回收的優勢和原理。並考慮 2 種回收機制

  8. 垃圾回收器的基本原理是什麼?垃圾回收器能夠立刻回收內存嗎?有什麼辦法主動通知虛擬機進行垃圾回收?

  9. Java 中會存在內存泄漏嗎,請簡單描述。

  10. 深拷貝和淺拷貝。

  11. System.gc() 和 Runtime.gc() 會作什麼事情?

  12. finalize() 方法何時被調用?析構函數 (finalization) 的目的是什麼?

  13. 若是對象的引用被置爲 null,垃圾收集器是否會當即釋放對象佔用的內存?

  14. 什麼是分佈式垃圾回收(DGC)?它是如何工做的?

  15. 串行(serial)收集器和吞吐量(throughput)收集器的區別是什麼?

  16. 在 Java 中,對象何時能夠被垃圾回收?

  17. 簡述 Java 內存分配與回收策率以及 Minor GC 和 MajorGC

  18. JVM 的永久代中會發生垃圾回收麼?

  19. Java 中垃圾收集的方法有哪些?

  20. 什麼是類加載器,類加載器有哪些?

  21. 類加載器雙親委派模型機制?

 

3.3 JVM性能調優筆記分享

  • 《JVM調優總結(PDF)》

(1)目錄

(2)內容詳解

關於「性能調優」:MySQL+Tomcat+JVM,我要給你們分享學習的就這麼多,不知道這些面試常備問題你都能答得上來不?不會也不要緊,能夠找小編分享完整的原件(題目+答案解析)

還有這些關於「性能調優」的學習筆記,這些學習路線以及書籍筆記之類的,如果你尚未,也可 click here 免費下載!

秋招總結指南之「性能調優」:MySQL+Tomcat+JVM:https://docs.qq.com/doc/DVkdwSEVEcHBTZ1lq