MySQL 程序員面試筆試寶典
內容描述
《MySQL程序員面試筆試寶典》是一本講解MySQL程序員面試筆試的百科書,
在寫法上,除了講解如何解答MySQL程序員面試筆試問題以外,
還引入了相關知識點輔以說明,讓讀者能夠更加容易地理解。
該書將MySQL程序員面試筆試過程中各類知識點一網打盡,在廣度上,
通過各種渠道,蒐集了近3年來典型IT企業針對MySQL數據庫崗位的筆試面試涉及的知識點,
包括但不限於MySQL數據庫、計算機網絡、操作系統等,所選擇真題均為企業招聘使用題目。
在講解的深度上,該書由淺入深地分析每一個知識點,並提煉歸納,同時,
引入相關知識點,加以深度剖析,讓讀者不僅能夠理解這個知識點,
還能在遇到相似問題的時候,也能游刃有餘地解決,
而這些內容是其他同類書籍所沒有的。
該書對知識點進行歸納分類,結構合理,條理清晰,
對於讀者進行學習與檢索意義重大。
該書是一本計算機相關專業畢業生面試、筆試的求職用書,
同時也適合期望在計算機軟、硬件行業大顯身手的計算機愛好者閱讀。
目錄大綱
前言
上篇面試筆試經驗技巧篇
第1章求職經驗分享2
1.1踩別人沒有踩過的坑,走別人沒有走過的路2
1.2只要肯鑽研,就能求職成功3
1.3普通DBA的逆襲經驗4
第2章數據庫程序員的求職現狀6
2.1當前市場對於數據庫程序員的需求如何?待遇如何?6
2.2數據庫程序員有哪些可供選擇的職業發展道路?7
2.3當企業在招聘時,對數據庫程序員通常有何要求?7
2.4數據庫程序員的日常工作是什麼?9
2.5要想成為一名出色的數據庫程序員,需要掌握哪些必備的知識?10
2.6各類數據庫求職及市場使用情況12
第3章如何應對程序員面試筆試?14
3.1如何巧妙地回答面試官的問題?14
3.2如何回答技術性問題?15
3.3如何回答非技術性問題?17
3.4在被企業拒絕後是否可以再申請?17
3.5如何應對自己不會回答的問題?18
3.6如何應對面試官的“激將法”語言?18
3.7如何處理與面試官持不同觀點這個問題?19
3.8什麼是職場暗語?19
下篇面試筆試經驗技巧篇
第4章數據庫基本理論24
4.1什麼是范式和反範式?24
4.2事務的概念及其4個特性是什麼?35
4.3事務的常見分類有哪些?36
4.4什麼是XA事務?37
4.5事務的4種隔離級別(Isolation Level)分別是什麼?38
4.6 Oracle、MySQL和SQL Server中的事務隔離級別分別有哪些?40
4.7什麼是CAP定理(CAP theorem)?43
第5章基礎部分45
5.1 MySQL數據庫有什麼特點?45
5.2如何確定MySQL是否處於運行狀態?如何開啟MySQL服務?46
5.3如何獲取表內所有列的名稱和類型?47
5.4如何創建表?如何刪除表?48
5.5如何創建和刪除數據庫?52
5.6如何查看當前數據庫裡有哪些用戶?53
5.7如何查看創建的索引及索引類型等信息?53
5.8如何查看數據庫的版本、當前登錄用戶和當前的數據庫名稱?54
5.9 MySQL有哪些常用日期和時間函數?55
5.10 MySQL有哪些數據類型?57
5.11 MySQL中limit的作用是什麼?69
5.12如何對一張表同時進行查詢和更新?70
5.13 MySQL中如何在表的指定位置添加列?70
5.14 MySQL中LENGTH和CHAR_LENGTH的區別是什麼?71
5.15函數FROM_UNIXTIME和UNIX_TIMESTAMP的作用分別是什麼?71
5.16真題72
第6章維護79
6.1在MySQL中,如何查看表的詳細信息,例如存儲引擎、行數、更新時間等?79
6.2如何管理MySQL多實例?81
6.3什麼是間隙(Next-Key)鎖?83
6.4 MySQL有哪些命令可以查看鎖?83
6.5 MySQL中SQL Mode的作用是什麼?91
6.6什麼是MySQL的套接字文件?94
6.7如何查看和修改系統參數?95
6.8查看當前使用的配置文件my.cnf的方法和步驟有哪些?97
6.9 MySQL有哪幾類日誌文件?99
6.10 MySQL支持事務嗎?105
6.11如何提高MySQL的安全性?107
6.12什麼是MySQL的複制(Replication)?108
6.13 Oracle和MySQL中的分組(GROUP BY)問題110
6.14 MySQL的分區表115
6.15 MySQL有幾種存儲引擎(表類型)?各自有什麼區別?117
6.16如何批量更改MySQL引擎?128
6.17 MySQL InnoDB引擎類型的表有哪兩類表空間模式?它們各有什麼優缺點?129
6.18 MySQL有哪幾個默認數據庫?130
6.19 MySQL區分大小寫嗎?132
6.20 MySQL中的字符集132
6.21如何解決MySQL中文亂碼問題?136
6.22 MySQL原生支持的備份方式及種類有哪些?136
6.23真題139
第7章索引152
7.1 MySQL中的索引有哪些分類?152
7.2 MySQL中索引的使用原則有哪些?152
7.3什麼是覆蓋索引?154
7.4什麼是哈希索引?154
7.5什麼是自適應哈希索引(Adaptive Hash Index)?156
7.6什麼是前綴索引?157
7.7什麼是全文(FULLTEXT)索引?158
7.8什麼是空間(SPATIAL)索引?161
7.9為什麼索引沒有被使用?162
7.10真題163
第8章優化171
8.1 MySQL如何查看執行計劃?執行計劃中每列的含義分別是什麼?171
8.2使用show profile分析SQL語句性能消耗179
8.3 MySQL中CHECK、OPTIMIZE和ANALYZE的作用分別是什麼?182
8.4如何對MySQL進行優化?183
8.5如何對SQL語句進行跟踪(trace)?188
8.6 MySQL中的隱式類型轉換(Implicit type conversion)189
8.7常見的SQL Hint(提示)有哪些?191
8.8如何查看SQL的執行頻率?191
8.9如何定位執行效率較低的SQL語句?192
8.10如何對MySQL的大表優化?192
第9章操作系統194
9.1進程管理194
9.1.1進程與線程有什麼區別?194
9.1.2內核線程和用戶線程的區別?195
9.2內存管理195
9.2.1內存管理有哪幾種方式?195
9.2.2什麼是虛擬內存?196
9.2.3什麼是內存碎片?什麼是內碎片?什麼是外碎片?197
9.2.4虛擬地址、邏輯地址、線性地址、物理地址有什麼區別?197
9.2.5 Cache替換算法有哪些?198
9.3用戶編程接口199
9.3.1庫函數調用與系統調用有什麼不同?199
9.3.2靜態鏈接與動態鏈接有什麼區別?200
9.3.3靜態鏈接庫與動態鏈接庫有什麼區別?200
第10章計算機網絡與通信201
10.1網絡模型201
10.1.1 OSI七層模型是什麼?201
10.1.2 TCP/IP模型是什麼?202
10.1.3 B/S與C/S有什麼區別?203
10.2網絡設備203
10.2.1交換機與路由器有什麼區別?203
10.2.2路由表的功能有哪些?204
10.3網絡協議205
10.3.1 TCP和UDP的區別有哪些?205
10.3.2什麼是ARP/RARP?205
10.3.3 IP Phone的原理是什麼?都用了哪些協議?206
10.3.4 Ping命令是什麼?206
10.3.5基本的HTTP流程有哪些?207
10.4網絡其他問題207
10.4.1常用的網絡安全防護措施有哪些?207
10.4.2相比IPv4,IPv6有什麼優點?209
作者介紹
李華榮
中國科學技術大學軟件工程碩士,獲計算機四級數據庫工程師認證,
OCM大師認證,長期從事Oracle數據庫的研究,
具有豐富的開發和維護經驗,熱衷技術分享。
Oracle甲骨文科技有限公司高級產品架構工程師,OCP和OCM講師。