都是“MySQL在搞鬼”差點倒在阿里三面,後面真是虛心一場

前言

在找工作的過程中,對於 MySQL 技術知識的掌握已經成為必須的技能。面試常常就會被問到MySQL相關知識,而這次我就差點倒在了阿里3面,面試官連問我以下幾個MySQL的問題,然後就卡殼了.

都是“MySQL在搞鬼”差點倒在阿里三面,後面真是虛心一場

關於學習 MySQL的思維腦圖(Xmind)

都是“MySQL在搞鬼”差點倒在阿里三面,後面真是虛心一場

近幾年,開源數據庫逐漸流行起來。由於具有免費使用、配置簡單、穩定性好、性能優良等 優點,開源數據庫在中低端應用上佔據了很大的市場份額,而 MySQL 正是開源數據庫中的 傑出代表。

關於MySQL的內容整理,包括了面試題、學習筆記、使用文檔以及Xmind思維圖幾個部分,需要高清完整版的請轉發+關注,然後私信回覆“MySQL”獲得免費領取方式

這是一份BATJ架構師實戰整理的深入淺出MySQL文檔,共分為4個部分31章。

其中4個部分分別為基礎篇、開發篇、優化篇、管理維護篇。

所分的31章具體目錄如下:


基礎篇

  1. 第 1 章 MySQL 的安裝與配置
  2. 第 2 章 SQL 基礎
  3. 第 3 章 MySQL 支持的數據類型
  4. 第 4 章 MySQL 中的運算符
  5. 第 5 章 常用函數
  6. 第 6 章 圖形化工具的使用
都是“MySQL在搞鬼”差點倒在阿里三面,後面真是虛心一場

部分知識節點

開發篇

  1. 第 7 章 表類型(存儲引擎)的選擇
  2. 第 8 章 選擇合適的數據類型
  3. 第 9 章 字符集
  4. 第 10 章 索引的設計和使用
  5. 第 11 章 視圖
  6. 第 12 章 存儲過程和函數
  7. 第 13 章 觸發器
  8. 第 14 章 事務控制和鎖定語句
  9. 第 15 章 SQL 中的安全問題
  10. 第 16 章 SQL Mode 及相關問題
都是“MySQL在搞鬼”差點倒在阿里三面,後面真是虛心一場

部分知識節點

優化篇

  1. 第 17 章 常用 SQL 技巧和常見問題
  2. 第 18 章 SQL 優化
  3. 第 19 章 優化數據庫對象
  4. 第 20 章 鎖問題
  5. 第 21 章 優化 MySQL Server
  6. 第 22 章 磁盤 I/O 問題
  7. 第 23 章 應用優化
都是“MySQL在搞鬼”差點倒在阿里三面,後面真是虛心一場

部分知識節點

管理維護篇

  1. 第 24 章 MySQL 高級安裝和升級
  2. 第 25 章 MySQL 中的常用工具
  3. 第 26 章 MySQL 日誌
  4. 第 27 章 備份與恢復
  5. 第 28 章 MySQL 權限與安全
  6. 第 29 章 MySQL 複製
  7. 第 30 章 MySQL Cluster
  8. 第 31 章 MySQL 常見問題和應用技巧
都是“MySQL在搞鬼”差點倒在阿里三面,後面真是虛心一場

部分知識節點

都是“MySQL在搞鬼”差點倒在阿里三面,後面真是虛心一場

部分內容截圖

關於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. 小心“永久鏈接”
    都是“MySQL在搞鬼”差點倒在阿里三面,後面真是虛心一場


  • 第二個:來看下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日誌)
    都是“MySQL在搞鬼”差點倒在阿里三面,後面真是虛心一場

    第三個:MySQL 面試題(高級進階部分)

    • 請解釋關係型數據庫概念及主要特點?
    • 請說出關係型數據庫的典型產品、特點及應用場景?
    • 請解釋非關係型數據庫概念及主要特點?
    • 請說出非關係型數據庫的典型產品、特點及應用場景?
    • 請詳細描述 SQL 語句分類及對應代表性關鍵字。
    • 請詳細描述 char(4)和 varchar(4)的差別。
    • 如何授權 oldboy 用戶從 172.16.1.0/24 訪問數據庫。
    • 什麼是 MySQL 多實例,如何配置 MySQL 多實例?
    • 如何加強 MySQL 安全,請給出可行的具體措施?
    • delete 和 truncate 刪除數據的區別?
    • MySQL Sleep 線程過多如何解決?
    • sort_buffer_size 參數作用?如何在線修改生效?
    • 如何在線正確清理 MySQL binlog?
    • Binlog 工作模式有哪些?各什麼特點,企業如何選擇?
    • 誤操作執行了一個 drop 庫 SQL 語句,如何完整恢復?
    • mysqldump 備份使用了-A -B 參數,如何實現恢復單表?
    • 詳述 MySQL 主從複製原理及配置主從的完整步驟。
    • 如何開啟從庫的 binlog 功能?
    • MySQL 如何實現雙向互為主從複製,並說明應用場景?
    • MySQL 如何實現級聯同步,並說明應用場景?
    • MySQL 主從複製故障如何解決?
    • 如何監控主從複製是否故障?
    • MySQL 數據庫如何實現讀寫分離?
    • 生產一主多從從庫宕機,如何手工恢復?
    都是“MySQL在搞鬼”差點倒在阿里三面,後面真是虛心一場

    目前國內 MySQL需求旺盛,各大知名企業高薪招聘技術能力強的 MySQL 開發人員和管理人員。

    總而言之,面試官問來問去,問的那些MySQL知識點也就這麼多吧,許是我複習的不夠到位,知識點掌握不夠熟練,所以面試才會卡殼。學習是自己的事,作為開發人員,MySQL是必須要掌握的,如果擁有大廠夢,基礎可不能太差,如果你對MySQL還有很多不解問題,將這些MySQL面試知識解析以及我整理的一些學習筆記分享出來給大家參考學習,

    有需要這些學習筆記資料的朋友注意啦:轉發+私信 “MySQL”即可免費領取!!


    分享到:


    相關文章: