內容簡介
《PHP程式設計師面試筆試寶典》是一本計算機相關專業畢業生面試筆試的求職用書,同時也適合期望在計算機軟、硬體行業大顯身手的計算機愛好者閱讀。本書起於PHP面試筆試,但收穫的不止面試筆試,還有更多的PHP實用操作技能。書中附有大量面試筆試真題,讓讀者能夠*大限度地提升應試技能。
前言/序言
《PHP程式設計師面試筆試寶典》是一本幫助PHP求職者快速複習PHP知識點、成功應聘PHP崗位的書,它可以幫助PHP求職者輕鬆地應對各類筆試和面試。
本書主要針對PHP常考的知識點進行了梳理和整理,通過這些知識點,以點為面、全面系統地幫助讀者發現自己的知識盲點,從而查漏補缺,幫助他們快速構建屬於自己的PHP知識架構。由於這些知識點都是在筆試或面試的過程中經常遇到的,因此為了讓讀者能夠更深入地理解這些相關的知識點,本書還在知識點的後面配上了相關的真題與解析,通過真題與解析加深讀者的理解。
編者花費了幾個月的時間,對PHP的知識點和各大網際網路公司套用的技術和面試的問題進行了深入了解。針對面試PHP崗位的常考考點,整理出這本《PHP程式設計師面試筆試寶典》。
本書具有以下幾大優點:
(1)知識點更全面 首先針對各大網際網路公司的面試筆試真題、面試技術問題等反推知識點,然後再通過這些知識點全面地鋪開整理出一張清晰的PHP知識網,讓每個PHP求職者能夠通過閱讀本書達到全面掌握這張PHP知識網的目的,進而輕鬆應對面試與筆試。
(2)更專業 本書針對各大網際網路公司常考的題目進行匯總,並將其中的知識點進行提煉,有針對性地對PHP中的考點進行了詳細解析,讀者只需要花幾分鐘的時間就可以掌握這些知識點。
(3)解答更全面 針對知識點,本書列出了相關的真題以便讀者進行知識點的鞏固與學習,以題帶知識,讓求職者更深刻地理解知識點是如何出現在考題中的。
作品目錄
前言
上篇:面試筆試經驗技巧篇
經驗技巧1 如何巧妙地回答面試官的問題2
經驗技巧2 如何回答技術性的問題3
經驗技巧3 如何回答非技術性問題4
經驗技巧4 如何回答快速估算類問題5
經驗技巧5 如何回答算法設計問題6
經驗技巧6 如何回答系統設計題8
經驗技巧7 如何解決求職中的時間衝突問題11
經驗技巧8 如果面試問題曾經遇見過,是否要告知面試官12
經驗技巧9 在被企業拒絕後是否可以再申請12
經驗技巧10 如何應對自己不會回答的問題13
經驗技巧11 如何應對面試官的“激將法”語言13
經驗技巧12 如何處理與面試官持不同觀點這個問題14
經驗技巧13 什麼是職場暗語14
經驗技巧14 如何進行自我介紹?18
經驗技巧15 如何克服面試中緊張的情緒?19
經驗技巧16 如何準備集體面試?21
經驗技巧17 如何準備電話面試?23
經驗技巧18 簽約和違約需要注意哪些事情?24
下篇:面試筆試技術攻克篇
第1章 PHP基礎知識29
1.1 PHP語言29
1.1.1 PHP與ASP、JSP有什麼區別?29
1.1.2 PHP與HTML有什麼區別?31
1.1.3 PHP的優點是什麼?32
1.1.4 PHP的輸出語句有哪些?33
1.1.5 如何區分單引號與雙引號?35
1.1.6 什麼是XML?37
1.2 面向對象技術40
1.2.1 面向對象與面向過程有什麼區別?40
1.2.2 面向對象的特徵是什麼?41
1.2.3 面向對象的開發方式有什麼優點?41
1.2.4 類與對象的區別是什麼?41
1.2.5 PHP5 中魔術方法有哪些?43
1.2.6 值傳遞與引用傳遞有什麼區別?51
1.2.7 什麼是對象克隆?52
1.2.8 什麼是延遲靜態綁定?56
1.2.9 作用域範圍有哪幾種?57
1.2.10 什麼是構造函式?什麼是析構函式?58
1.2.11 什麼是繼承?60
1.2.12 抽象類與接口有什麼區別與聯繫?63
1.2.13 什麼是多態?65
1.3 關鍵字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的區別是什麼?73
1.3.7 include與require有什麼區別?75
1.3.8 break、continue與return有什麼區別與聯繫?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 如何對變數進行引用?89
1.5 數據類型90
1.5.1 基本數據類型有哪些?90
1.5.2 如何進行類型轉換?92
1.6 運算符93
1.6.1 運算符的種類有哪些?93
1.6.2 ++與—的含義是什麼?100
1.7 字元串101
1.7.1 字元串處理函式有哪些?101
1.7.2 ==與===有什麼區別?106
1.8 正則表達式106
1.9 函式111
1.9.1 傳值和引用的區別是什麼?111
1.9.2 什麼是默認參數?114
1.9.3 什麼是函式返回值?114
1.9.4 如何進行函式調用?115
1.10 數組117
1.10.1 如何進行數組的定義與聲明?117
1.10.2 什麼是多維數組?121
1.10.3 數組函式有哪些?124
1.11 檔案管理130
1.11.1 有哪些檔案操作?130
1.11.2 涉及檔案操作的函式有哪些?134
1.12 異常處理與錯誤處理137
1.12.1 什麼是異常處理與錯誤處理?137
1.12.2 error_reporting()的作用是什麼?138
1.12.3 如何進行異常捕捉與處理?139
1.12.4 如何實現自定義的異常類?141
1.13 記憶體管理141
1.13.1 什麼是記憶體管理?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的區別是什麼?153
2.1.2 GET和POST有什麼區別?158
2.1.3 如何預防各類安全性問題?160
2.1.4 HTTP狀態碼的含義是什麼?161
2.1.5 utf-8編碼需要注意哪些問題?164
2.1.6 如何進行網站的最佳化?165
2.2 模板166
2.3 框架167
2.3.1 什麼是MVC?167
2.3.2 PHP的開發框架有哪些?168
2.3.3 什麼是CI框架?168
2.4 JavaScript、HTML、CSS等171
第3章 PHP進階知識173
3.1 時間和日期管理173
3.1.1 如何輸出年-月-日?173
3.1.2 如何輸出時-分-秒?174
3.1.3 如何輸出閏年-星期-天?175
3.1.4 PHP相關的日期函式有哪些?176
3.2 快取179
3.3 檔案管理180
3.3.1 PHP中檔案操作函式有哪些?180
3.3.2 如何進行檔案上傳?183
3.3.3 如何進行檔案下載?185
3.3.4 如何進行版本管理?186
3.4 驗證碼187
第4章 設計模式188
4.1 常見的設計模式有哪些?188
4.2 什麼是單例模式?190
4.3 什麼是工廠模式?191
4.4 什麼是觀察者模式?192
第5章 資料庫196
5.1 資料庫基礎知識196
5.1.1 SQL語言的功能有哪些?197
5.1.2 內連線與外連線有什麼區別?199
5.1.3 什麼是事務?200
5.1.4 什麼是存儲過程?它與函式有什麼區別與聯繫?202
5.1.5 一二三四範式有何區別?202
5.1.6 什麼是觸發器?204
5.1.7 什麼是游標?