MySQL精選60道面試題 ( 含答案 )

程序员潇潇發表於2024-04-22

2024的4月招聘季如此卷,沒點真本事真技術,沒點面試經驗,不瞭解點職場套路,如何過五關斬六將?

找工作最重要的一步自然是面試,馬上跳槽季,網上出現了各種面試題,一時會讓人眼花繚亂,分不清最該看哪個。

雖然不提倡背答案,但是該看的面試題還是得看,這裡給大家總結了一些MySQL的通用面試題,不管面哪個行業都能派上用場,持續更新。

1、關係型和非關係型資料庫的區別?

2、詳細說一下一條 MySQL 語句執行的步驟

01 索引相關

3、MySQL 使用索引的原因?

4、索引的三種常見底層資料結構以及優缺點

5、索引的常見型別以及它是如何發揮作用的?

6、MyISAM 和 InnoDB 實現 B 樹索引方式的區別是什麼?

7、InnoDB 為什麼設計 B+ 樹索引?

8、什麼是覆蓋索引和索引下推?

9、哪些操作會導致索引失效?

10、字串加索引

02 日誌相關

11、MySQL 的 change buffer 是什麼?

12、MySQL 是如何判斷一行掃描數的?

13、MySQL 的 redo log 和 binlog 區別?

14、為什麼需要 redo log?

15、為什麼 redo log 具有 crash-safe 的能力,是 binlog 無法替代的?

16、當資料庫 crash 後,如何恢復未刷盤的資料到記憶體中?

17、redo log 寫入方式?

18、redo log 的執行流程?

19、binlog 的概念是什麼,起到什麼作用, 可以保證 crash-safe 嗎?

20、什麼是兩階段提交?

21、MySQL 怎麼知道 binlog 是完整的?

22、什麼是 WAL 技術,有什麼優點?

23、binlog 日誌的三種格式

24、redo log日誌格式

25、原本可以執行得很快的 SQL 語句,執行速度卻比預期的慢很多,原因是什麼?如何解決?

26、InnoDB 資料頁結構

03 資料相關

27、MySQL 是如何保證資料不丟失的?

28、誤刪資料怎麼辦?

29、drop、truncate 和 delete 的區別

30、在 MySQL 中有兩個 kill 命令

31、如何理解 MySQL 的邊讀邊發

32、MySQL 的大表查詢為什麼不會爆記憶體?

33、MySQL 臨時表的用法和特性

34、MySQL 儲存引擎介紹(InnoDB、MyISAM、MEMORY)

35、都說 InnoDB 好,那還要不要使用 MEMORY 引擎?

36、如果資料庫誤操作, 如何執行資料恢復?

04 主從備份相關

37、MySQL 是如何保證主備同步?

38、什麼是主備延遲

39、為什麼要有多執行緒複製策略?

40、MySQL 的並行策略有哪些?

41、MySQL的一主一備和一主多從有什麼區別?

42、主庫出問題如何解決?

43、MySQL 讀寫分離涉及到過期讀問題的幾種解決方案?

44、MySQL的併發連結和併發查詢有什麼區別?

05 效能相關

45、短時間提高 MySQL 效能的方法

46、為什麼 MySQL 自增主鍵 ID 不連續?

47、InnoDB 為什麼要用自增 ID 作為主鍵?

48、如何最快的複製一張表?

49、grant 和 flush privileges語句

50、要不要使用分割槽表?

51、join 用法

52、MySQL 有哪些自增ID?各自場景是什麼?

53、Xid 在 MySQL 內部是怎麼生成的呢?

06 鎖相關

54、說一下 MySQL 的鎖

55、什麼是幻讀?

56、為什麼 MySQL 會抖一下?

57、為什麼刪除了表,表檔案的大小還是沒變?

58、count(*)實現方式以及各種 count 對比

59、orderby 排序內部原理

60、如何高效的使用 MySQL 顯式隨機訊息

行動吧,在路上總比一直觀望的要好,未來的你肯定會感 謝現在拼搏的自己!如果想學習提升找不到資料,沒人答疑解惑時,請及時加入扣群:731789136,裡面有各種軟體測試+開發資料和技術可以一起交流學習哦。

最後感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,這些資料,對於【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,雖然不是什麼很值錢的東西,如果你用得到的話可以直接拿走:

如果你想學習軟體測試和需要軟體測試資料,歡迎加入扣扣交流群:731789136,裡面可以免費領取軟體測試+自動化測試資料+軟體測試面試寶典+簡歷模版+實戰專案+面試刷題工具和大佬答疑解惑,我們一起交流一起學習!

相關文章