《PHP程序員面試筆試寶典》針對(duì)當(dāng)前各大IT企業(yè)面試筆試中特性與側(cè)重點(diǎn),精心挑選了近3年以來(lái)近百家典型IT企業(yè)的PHP面試筆試真題,這些企業(yè)涉及業(yè)務(wù)包括系統(tǒng)軟件、搜索引擎、電子商務(wù)、手機(jī)APP、安全軟件等,所選面試筆試真題非常具有代表性與參考性。同時(shí),本書對(duì)這些題目進(jìn)行了合理的劃分與歸類,并且對(duì)其進(jìn)行了庖丁解牛式的分析與講解,針對(duì)試題中涉及的部分重難點(diǎn)問題,本書都進(jìn)行了適當(dāng)?shù)財(cái)U(kuò)展與延伸,力求對(duì)知識(shí)點(diǎn)的講解清晰而不紊亂,全面而不啰嗦,不僅如此,本書除了對(duì)PHP的基礎(chǔ)語(yǔ)言知識(shí)進(jìn)行深度剖析以外,還針對(duì)數(shù)據(jù)庫(kù)、設(shè)計(jì)模式等相關(guān)知識(shí)的筆試面試做了非常詳細(xì)的介紹。讀者通過本書不僅能夠獲取到求職的知識(shí),同時(shí)還可以更有針對(duì)性地進(jìn)行求職準(zhǔn)備,*終能夠收獲一份滿意的工作。
《PHP程序員面試筆試寶典》是一本計(jì)算機(jī)相關(guān)專業(yè)畢業(yè)生面試筆試的求職用書,同時(shí)也適合期望在計(jì)算機(jī)軟、硬件行業(yè)大顯身手的計(jì)算機(jī)愛好者閱讀。本書起于PHP面試筆試,但收獲的不止面試筆試,還有更多的PHP實(shí)用操作技能。書中附有大量面試筆試真題,讓讀者能夠*大限度地提升應(yīng)試技能。
前言
上篇:面試筆試經(jīng)驗(yàn)技巧篇
經(jīng)驗(yàn)技巧1 如何巧妙地回答面試官的問題2
經(jīng)驗(yàn)技巧2 如何回答技術(shù)性的問題3
經(jīng)驗(yàn)技巧3 如何回答非技術(shù)性問題4
經(jīng)驗(yàn)技巧4 如何回答快速估算類問題5
經(jīng)驗(yàn)技巧5 如何回答算法設(shè)計(jì)問題6
經(jīng)驗(yàn)技巧6 如何回答系統(tǒng)設(shè)計(jì)題8
經(jīng)驗(yàn)技巧7 如何解決求職中的時(shí)間沖突問題11
經(jīng)驗(yàn)技巧8 如果面試問題曾經(jīng)遇見過,是否要告知面試官12
經(jīng)驗(yàn)技巧9 在被企業(yè)拒絕后是否可以再申請(qǐng)12
經(jīng)驗(yàn)技巧10 如何應(yīng)對(duì)自己不會(huì)回答的問題13
經(jīng)驗(yàn)技巧11 如何應(yīng)對(duì)面試官的“激將法”語(yǔ)言13
經(jīng)驗(yàn)技巧12 如何處理與面試官持不同觀點(diǎn)這個(gè)問題14
經(jīng)驗(yàn)技巧13 什么是職場(chǎng)暗語(yǔ)14
經(jīng)驗(yàn)技巧14 如何進(jìn)行自我介紹?18
經(jīng)驗(yàn)技巧15 如何克服面試中緊張的情緒?19
經(jīng)驗(yàn)技巧16 如何準(zhǔn)備集體面試?21
經(jīng)驗(yàn)技巧17 如何準(zhǔn)備電話面試?23
經(jīng)驗(yàn)技巧18 簽約和違約需要注意哪些事情?24
下篇:面試筆試技術(shù)攻克篇
第1章 PHP基礎(chǔ)知識(shí)29
1.1 PHP語(yǔ)言29
1.1.1 PHP與ASP、JSP有什么區(qū)別?29
1.1.2 PHP與HTML有什么區(qū)別?31
1.1.3 PHP的優(yōu)點(diǎn)是什么?32
1.1.4 PHP的輸出語(yǔ)句有哪些?33
1.1.5 如何區(qū)分單引號(hào)與雙引號(hào)?35
1.1.6 什么是XML?37
1.2 面向?qū)ο蠹夹g(shù)40
1.2.1 面向?qū)ο笈c面向過程有什么區(qū)別?40
1.2.2 面向?qū)ο蟮奶卣魇鞘裁矗?1
1.2.3 面向?qū)ο蟮拈_發(fā)方式有什么優(yōu)點(diǎn)?41
1.2.4 類與對(duì)象的區(qū)別是什么?41
1.2.5 PHP5 中魔術(shù)方法有哪些?43
1.2.6 值傳遞與引用傳遞有什么區(qū)別?51
1.2.7 什么是對(duì)象克?52
1.2.8 什么是延遲靜態(tài)綁定?56
1.2.9 作用域范圍有哪幾種?57
1.2.10 什么是構(gòu)造函數(shù)?什么是析構(gòu)函數(shù)?58
1.2.11 什么是繼承?60
1.2.12 抽象類與接口有什么區(qū)別與聯(lián)系?63
1.2.13 什么是多態(tài)?65
1.3 關(guān)鍵字67
1.3.1 final有什么作用?67
1.3.2 finally有什么作用?68
1.3.3 assert有什么作用?69
1.3.4 static有什么作用?70
1.3.5 global有什么作用?72
1.3.6 this、self和parent的區(qū)別是什么?73
1.3.7 include與require有什么區(qū)別?75
1.3.8 break、continue與return有什么區(qū)別與聯(lián)系?77
1.3.9 switch有什么作用?79
1.4 常量與變量81
1.4.1 什么是常量?81
1.4.2 什么是變量?84
1.4.3 如何判斷變量是否存在、是否為非空字符或非零?87
1.4.4 變量的作用域范圍有哪幾種?87
1.4.5 如何對(duì)變量進(jìn)行引用?89
1.5 數(shù)據(jù)類型90
1.5.1 基本數(shù)據(jù)類型有哪些?90
1.5.2 如何進(jìn)行類型轉(zhuǎn)換?92
1.6 運(yùn)算符93
1.6.1 運(yùn)算符的種類有哪些?93
1.6.2 ++與—的含義是什么?100
1.7 字符串101
1.7.1 字符串處理函數(shù)有哪些?101
1.7.2 ==與===有什么區(qū)別?106
1.8 正則表達(dá)式106
1.9 函數(shù)111
1.9.1 傳值和引用的區(qū)別是什么?111
1.9.2 什么是默認(rèn)參數(shù)?114
1.9.3 什么是函數(shù)返回值?114
1.9.4 如何進(jìn)行函數(shù)調(diào)用?115
1.10 數(shù)組117
1.10.1 如何進(jìn)行數(shù)組的定義與聲明?117
1.10.2 什么是多維數(shù)組?121
1.10.3 數(shù)組函數(shù)有哪些?124
1.11 文件管理130
1.11.1 有哪些文件操作?130
1.11.2 涉及文件操作的函數(shù)有哪些?134
1.12 異常處理與錯(cuò)誤處理137
1.12.1 什么是異常處理與錯(cuò)誤處理?137
1.12.2 error_reporting()的作用是什么?138
1.12.3 如何進(jìn)行異常捕捉與處理?139
1.12.4 如何實(shí)現(xiàn)自定義的異常類?141
1.13 內(nèi)存管理141
1.13.1 什么是內(nèi)存管理?141
1.13.2 什么是垃圾回收?142
1.14 Redis143
1.14.1 什么是Redis?143
1.14.2 Redis的常見問題有哪些?145
1.15 Memcache147
第2章 PHP Web與框架153
2.1 PHP Web153
2.1.1 Session與Cookie的區(qū)別是什么?153
2.1.2 GET和POST有什么區(qū)別?158
2.1.3 如何預(yù)防各類安全性問題?160
2.1.4 HTTP狀態(tài)碼的含義是什么?161
2.1.5 utf-8編碼需要注意哪些問題?164
2.1.6 如何進(jìn)行網(wǎng)站的優(yōu)化?165
2.2 模板166
2.3 框架167
2.3.1 什么是MVC?167
2.3.2 PHP的開發(fā)框架有哪些?168
2.3.3 什么是CI框架?168
2.4 JavaScript、HTML、CSS等171
第3章 PHP進(jìn)階知識(shí)173
3.1 時(shí)間和日期管理173
3.1.1 如何輸出年-月-日?173
3.1.2 如何輸出時(shí)-分-秒?174
3.1.3 如何輸出閏年-星期-天?175
3.1.4 PHP相關(guān)的日期函數(shù)有哪些?176
3.2 緩存179
3.3 文件管理180
3.3.1 PHP中文件操作函數(shù)有哪些?180
3.3.2 如何進(jìn)行文件上傳?183
3.3.3 如何進(jìn)行文件下載?185
3.3.4 如何進(jìn)行版本管理?186
3.4 驗(yàn)證碼187
第4章 設(shè)計(jì)模式188
4.1 常見的設(shè)計(jì)模式有哪些?188
4.2 什么是單例模式?190
4.3 什么是工廠模式?191
4.4 什么是觀察者模式?192
第5章 數(shù)據(jù)庫(kù)196
5.1 數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)196
5.1.1 SQL語(yǔ)言的功能有哪些?197
5.1.2 內(nèi)連接與外連接有什么區(qū)別?199
5.1.3 什么是事務(wù)?200
5.1.4 什么是存儲(chǔ)過程?它與函數(shù)有什么區(qū)別與聯(lián)系?202
5.1.5 一二三四范式有何區(qū)別?202
5.1.6 什么是觸發(fā)器?204
5.1.7 什么是游標(biāo)?205
5.1.8 如果數(shù)據(jù)庫(kù)日志滿了,那么會(huì)出現(xiàn)什么情況?206
5.1.9 UNION和UNION ALL有什么區(qū)別?206
5.1.10 什么是視圖?207
5.1.11 什么是數(shù)據(jù)庫(kù)三級(jí)封鎖協(xié)議?207
5.1.12 索引的優(yōu)缺點(diǎn)208
5.2 MySQL基礎(chǔ)知識(shí)209
5.2.1 PHP操作MySQL的函數(shù)有哪些?210
5.2.2 PHP連接MySQL的方法是什么?211
5.2.3 MySQLi訪問數(shù)據(jù)庫(kù)的方法214
5.2.4 如何進(jìn)行MySQL操作?218
5.2.5 MySQL支持哪些字段類型?227
5.2.6 什么是索引?230
5.2.7 什么是數(shù)據(jù)庫(kù)引擎?232
5.2.8 如何進(jìn)行數(shù)據(jù)庫(kù)分頁(yè)?233
5.2.9 什么是數(shù)據(jù)庫(kù)權(quán)限?237
5.2.10 PHP Web訪問MySQL方法是什么?238
5.2.11 如何高效操作MySQL?240
5.3 MySQL高級(jí)管理240
5.3.1 如何對(duì)MySQL進(jìn)行優(yōu)化?240
5.3.2 如何進(jìn)行數(shù)據(jù)庫(kù)優(yōu)化?244
5.3.3 如何進(jìn)行數(shù)據(jù)庫(kù)操作優(yōu)化?247
5.3.4 如何進(jìn)行數(shù)據(jù)庫(kù)表優(yōu)化?249
第6章 操作系統(tǒng)255
6.1 進(jìn)程管理255
6.1.1 進(jìn)程與線程有什么區(qū)別?255
6.1.2 線程同步有哪些機(jī)制?256
6.1.3 內(nèi)核線程和用戶線程的區(qū)別256
6.2 內(nèi)存管理257
6.2.1 內(nèi)存管理有哪幾種方式?257
6.2.2 什么是虛擬內(nèi)存?258
6.2.3 什么是內(nèi)存碎片?什么是內(nèi)碎片?什么是外碎片?258
6.2.4 虛擬地址、邏輯地址、線性地址、物理地址有什么區(qū)別?259
6.2.5 Cache替換算法有哪些?259
6.3 用戶編程接口261
6.3.1 庫(kù)函數(shù)調(diào)用與系統(tǒng)調(diào)用有什么不同?261
6.3.2 靜態(tài)鏈接與動(dòng)態(tài)鏈接有什么區(qū)別?261
6.3.3 靜態(tài)鏈接庫(kù)與動(dòng)態(tài)鏈接庫(kù)有什么區(qū)別?262
6.3.4 用戶態(tài)和核心態(tài)有什么區(qū)別?262
6.3.5 用戶棧與內(nèi)核棧有什么區(qū)別?263
第7章 網(wǎng)絡(luò)264
7.1 TCP/IP264
7.1.1 協(xié)議264
7.1.2 TCP/IP265
7.1.3 常見筆試題265
7.2 RESTful架構(gòu)風(fēng)格266
7.2.1 REST266
7.2.2 約束條件267
7.2.3 常見筆試題267
7.3 HTTP268
7.3.1 URI和URL268
7.3.2 HTTP協(xié)議269
7.3.3 HTTP報(bào)文271
7.3.4 HTTP首部272
7.3.5 緩存273
7.3.6 常見筆試題275
7.4 TCP276
7.4.1 連接管理276
7.4.2 確認(rèn)應(yīng)答278
7.4.3 窗口控制280
7.4.4 重傳控制281
7.4.5 常見筆試題281
7.5 HTTPS282
7.5.1 加密283
7.5.2 數(shù)字簽名283
7.5.3 數(shù)字證書284
7.5.4 安全通信機(jī)制284
7.5.5 常見筆試題286
7.6 HTTP/2.0286
7.6.1 二進(jìn)制分幀層287
7.6.2 多路通信287
7.6.3 請(qǐng)求優(yōu)先級(jí)288
7.6.4 服務(wù)器推送288
7.6.5 首部壓縮289
7.6.6 常見筆試題289
第8章 大數(shù)據(jù)290
8.1 從大量的URL中找出相同的URL290
8.2 求高頻詞290
8.3 找出訪問百度最多的IP291
8.4 在大量的數(shù)據(jù)中找出不重復(fù)的整數(shù)292
8.5 在大量的數(shù)據(jù)中判斷一個(gè)數(shù)是否存在292
8.6 如何查詢最熱門的查詢串293
8.7 統(tǒng)計(jì)不同電話號(hào)碼的個(gè)數(shù)294
8.8 從5億個(gè)數(shù)中找出中位數(shù)295
8.9 按照query的頻度排序296
8.10 找出排名前500的數(shù)297
附錄 真題及答案298
真題1298
真題2300
真題3303
真題1答案305
真題2答案306
真題3答案308