內容簡介
本書針對當前各大典型IT企業面試筆試中的考點與側重點,精心挑選了3年以來近百家IT企業的資料庫面試筆試真題,這些企業涉及業務包括系統軟體、搜尋引擎、電子商務、手機APP、安全軟體等,非常具有代表性與參考性。同時,本書對這些題目進行了合理的劃分與歸類,並且對其進行了庖丁解牛式的分析與講解,針對試題中涉及的部分重點難點問題,本書都進行了適當地擴展與延伸,力求對知識點的講解清晰而不紊亂,全面而不囉嗦。此外,本書除了對資料庫的基礎知識進行深度剖析以外,還針對Oracle的筆試面試做了非常詳細的介紹。讀者通過學習本書不僅能夠獲取到求職的知識,同時還能更有針對性地進行求職準備,終收穫一份滿意的工作。
本書是一本計算機相關專業畢業生面試、筆試的求職用書,同時也適合期望在計算機軟、硬體行業大顯身手的計算機愛好者閱讀。本書起於Oracle筆試面試,但講述的內容不止筆試面試,還有更多的資料庫實用操作技能。書中採用大量圖表來解析對比相關的知識點,讓很多常考的難點變得淺顯易懂。
圖書目錄
前言
上篇 面試筆試經驗技巧篇
第1章 求職經驗分享2
1.1 踩別人沒有踩過的坑,犯別人沒有犯過的錯2
1.2 只要肯鑽研,就能成大咖3
1.3 普通DBA的逆襲經驗3
第2章 資料庫程式設計師的求職現狀5
2.1 當前市場對於資料庫程式設計師的需求如何?待遇如何?5
2.2 資料庫程式設計師有哪些可供選擇的職業發展道路?6
2.3 當企業在招聘時,對資料庫程式設計師通常有何要求?6
2.4 資料庫程式設計師的日常工作是什麼?7
2.5 要想成為一名出色的資料庫程式設計師,需要掌握哪些必備的知識?8
第3章 如何應對程式設計師面試筆試?11
3.1 如何巧妙地回答面試官的問題?11
3.2 如何回答技術性的問題?12
3.3 如何回答非技術性問題?13
3.4 被企業拒絕後是否可以再申請?14
3.5 如何應對自己不會回答的問題?14
3.6 如何應對面試官的“激將法”語言?14
3.7 如何處理與面試官持不同觀點這個問題?15
3.8 什麼是職場暗語?15
下篇 面試筆試技術攻克篇
第4章 資料庫基礎20
4.1 為什麼使用資料庫?20
4.2 資料庫的常見分類有哪些?20
4.3 關係型資料庫完整性規則24
4.4 資料庫的約束有哪些?25
4.5 什麼是第一、二、三、BC範式?26
4.6 事務31
4.6.1 事務的概念及其4個特性是什麼?31
4.6.2 事務的4種隔離級別(Isolation Level)分別是什麼?32
4.7 鎖(Lock)33
4.7.1 基礎知識33
4.7.2 死鎖(DeadLock)34
4.8 存儲過程35
4.8.1 什麼是存儲過程?它有什麼優點?35
4.8.2 存儲過程和函式的區別是什麼?各自的作用是什麼?37
4.9 觸發器的作用、優缺點有哪些?37
4.10 什麼是游標?如何知道游標已經執行到了最後?38
4.11 視圖39
4.11.1 什麼是視圖?視圖的作用是什麼?39
4.11.2 在什麼情況下可以對視圖執行增、刪、改操作?39
4.12 SQL語句有哪些常見的分類?40
4.13 SQL語言的數據查詢41
4.13.1 多表連線查詢42
4.13.2 笛卡爾積是什麼?43
4.13.3 Top-N分析44
4.13.4 子查詢44
4.13.5 合併查詢(集合查詢)47
4.13.6 SQL:1999語法對SQL的支持47
4.13.7 WITH語法53
4.13.8 SQL部分練習題53
4.14 什麼是SQL注入?56
4.15 索引(INDEX)56
4.15.1 索引的優缺點與分類56
4.15.2 索引的分類57
4.16 熱備份和冷備份的區別是什麼?58
4.17 什麼是OLAP和OLTP?59
4.18 與OS相關的面試題60
4.18.1 接觸過哪些OS系統?常用命令有哪些?60
4.18.2 會寫SHELL腳本嗎?61
4.19 資料庫基礎部分其他真題解析61
第5章 Oracle資料庫63
5.1 開發類常考知識點63
5.1.1 Oracle的數據類型63
5.1.2 Oracle有哪些預定義角色?65
5.1.3 如何定義序列?其作用是什麼?66
5.1.4 同義詞的定義及其作用是什麼?67
5.1.5 Oracle中的視圖67
5.1.6 PL/SQL程式68
5.1.7 異常處理70
5.1.8 Oracle中的觸發器72
5.1.9 函式相關79
5.1.10 高級操作87
5.1.11 分區表93
5.1.12 NULL的注意事項98
5.1.13 樹形查詢(層次查詢)99
5.1.14 Oracle JOB100
5.1.15 SQL*Plus問題102
5.1.16 如何判斷一個存儲過程是否正在運行?103
5.1.17 如何將文本檔案或Excel中的數據導入資料庫?103
5.1.18 開發類真題108
5.2 維護類常考知識點110
5.2.1 系統包110
5.2.2 Oracle對象112
5.2.3 體系結構116
5.2.4 索引相關165
5.2.5 SQL最佳化相關184
5.2.6 統計信息239
5.2.7 等待事件253
5.2.8 Oracle性能相關261
5.2.9 資料庫診斷279
5.2.10 會話294
5.2.11 ASM和RAC維護298
5.2.12 DG維護318
5.2.13 OGG維護332
5.2.14 備份恢復337
5.2.15 ASH/AWR/ADDM376
5.2.16 審計(Audit)386
5.2.17 網路相關389
5.2.18 建庫與刪庫396
5.2.19 Oracle故障案例分析402
第6章 作業系統409
6.1 進程管理409
6.1.1 進程與執行緒有什麼區別?409
6.1.2 核心執行緒和用戶執行緒的區別?410
6.2 記憶體管理410
6.2.1 記憶體管理有哪幾種方式?410
6.2.2 什麼是虛擬記憶體?411
6.2.3 什麼是記憶體碎片?什麼是內碎片?什麼是外碎片?411
6.2.4 虛擬地址、邏輯地址、線性地址、物理地址有什麼區別?411
6.2.5 Cache替換算法有哪些?412
6.3 用戶編程接口413
6.3.1 庫函式調用與系統調用有什麼不同?413
6.3.2 靜態連結與動態連結有什麼區別?414
6.3.3 靜態程式庫與動態程式庫有什麼區別?414
第7章 計算機網路與通信415
7.1 網路模型415
7.1.1 OSI七層模型是什麼?415
7.1.2 TCP/IP模型是什麼?416
7.1.3 B/S與C/S有什麼區別?416
7.2 網路設備417
7.2.1 交換機與路由器有什麼區別?417
7.2.2 路由表的功能有哪些?417
7.3 網路協定418
7.3.1 TCP和UDP的區別有哪些?418
7.3.2 什麼是ARP/RARP?418
7.3.3 IP Phone的原理是什麼?都用了哪些協定?419
7.3.4 Ping命令是什麼?419
7.3.5 基本的HTTP流程有哪些?420
7.4 網路其他問題420
7.4.1 常用的網路安全防護措施有哪些?420
7.4.2 相比IPv4,IPv6有什麼優點?421
第8章 面試筆試