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

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

近幾年,開源資料庫逐漸流行起來,由于具有免費使用、配置簡單、穩定性好、性能優良等 優點,開源資料庫在中低端應用上占據了很大的市場份額,而 MySQL 正是開源資料庫中的 杰出代表,
關于MySQL的內容整理,包括了面試題、學習筆記、使用檔案以及Xmind思維圖幾個部分,需要高清完整版的請轉發+關注,然后私信回復“MySQL”獲得免費領取方式
這是一份BATJ架構師實戰整理的深入淺出MySQL檔案,共分為4個部分31章,
其中4個部分分別為基礎篇、開發篇、優化篇、管理維護篇,
所分的31章具體目錄如下:
基礎篇
- 第 1 章 MySQL 的安裝與配置
- 第 2 章 SQL 基礎
- 第 3 章 MySQL 支持的資料型別
- 第 4 章 MySQL 中的運算子
- 第 5 章 常用函式
- 第 6 章 圖形化工具的使用

部分知識節點
開發篇
- 第 7 章 表型別(存盤引擎)的選擇
- 第 8 章 選擇合適的資料型別
- 第 9 章 字符集
- 第 10 章 索引的設計和使用
- 第 11 章 視圖
- 第 12 章 存盤程序和函式
- 第 13 章 觸發器
- 第 14 章 事務控制和鎖定陳述句
- 第 15 章 SQL 中的安全問題
- 第 16 章 SQL Mode 及相關問題

部分知識節點
優化篇
- 第 17 章 常用 SQL 技巧和常見問題
- 第 18 章 SQL 優化
- 第 19 章 優化資料庫物件
- 第 20 章 鎖問題
- 第 21 章 優化 MySQL Server
- 第 22 章 磁盤 I/O 問題
- 第 23 章 應用優化

部分知識節點
管理維護篇
- 第 24 章 MySQL 高級安裝和升級
- 第 25 章 MySQL 中的常用工具
- 第 26 章 MySQL 日志
- 第 27 章 備份與恢復
- 第 28 章 MySQL 權限與安全
- 第 29 章 MySQL 復制
- 第 30 章 MySQL Cluster
- 第 31 章 MySQL 常見問題和應用技巧

部分知識節點

部分內容截圖
關于MySQL,面試官會問哪些問題?
- 第一個:MySQ性能優化最佳實踐21個(有具體的解釋)你知道哪些?
- 為查詢快取優化你的查詢
- EXPLAIN你的SELECT查詢
- 當只要一行資料時使用LIMIT 1
- 為搜索欄位建索引
- 在Join表的時候使用相當型別的例,并將其索引
- 千萬不要 ORDER BY RAND()
- 避免 SELECT *
- 永遠為每張表設定一個 ID
- 使用 ENUM 而不是 VARCHAR
- 從 PROCEDURE ANALYSE() 取得建議
- 盡可能的使用 NOT NULL
- Prepared Statements
- 無緩沖的查詢
- 把 IP 地址存成 UNSIGNED INT
- 固定長度的表會更快
- 垂直分割
- 拆分大的 DELETE 或 INSERT 陳述句
- 越小的列會越快
- 選擇正確的存盤引擎
- 使用一個物件關系映射器(Object Relational Mapper)
- 小心“永久鏈接”

- 第二個:來看下MySQL的高頻20問(附帶詳細解答,整理成冊)
- 事務四大特性(ACID)原子性、一致性、隔離性、持久性?
- 事務的并發?事務隔離級別,每個級別會引發什么問題,MySQL默認是哪個級別?
- MySQL常見的三種存盤引擎(InnoDB、MyISAM、MEMORY)的區別?
- MySQL的MyISAM與InnoDB兩種存盤引擎在,事務、鎖級別,各自的適用場景?
- 查詢陳述句不同元素(where、jion、limit、group by、having等等)執行先后順序?
- 什么是臨時表,臨時表什么時候洗掉?
- MySQL B+Tree索引和Hash索引的區別?
- sql查詢陳述句確定創建哪種型別的索引?如何優化查詢?
- 聚集索引和非聚集索引區別?
- 有哪些鎖(樂觀鎖悲觀鎖),select 時怎么加排它鎖?
- 非關系型資料庫和關系型資料庫區別,優勢比較?
- 資料庫三范式,根據某個場景設計資料表?
- 資料庫的讀寫分離、主從復制,主從復制分析的 7 個問題?
- 使用explain優化sql和索引?
- MySQL慢查詢怎么解決?
- 什么是 內連接、外連接、交叉連接、笛卡爾積等?
- mysql都有什么鎖,死鎖判定原理和具體場景,死鎖怎么解決?
- varchar和char的使用場景?
- mysql 高并發環境解決方案?
- 資料庫崩潰時事務的恢復機制(REDO日志和UNDO日志)

第三個: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面試知識決議以及我整理的一些學習筆記分享出來給大家參考學習,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/190231.html
標籤:其他
