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

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

01 MySQL性能調優

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

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

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

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

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

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

  2. EXPLAIN你的SELECT查詢

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

  4. 爲搜索字段建索引

  5. 在Join表的時候使用相當類型的例,並將其索引

  6. 千萬不要 ORDER BY RAND()

  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

相關文章
相關標籤/搜索