注:本文轉自 http://www.icultivator.com/p/5535.htmljavascript
注:本文轉自 http://www.yiichina.com/tutorial/57php
整理了一份PHP高級工程師的筆試題,問題很全面。基本上這些題都答得不錯,那麼你應該能夠勝任大部分互聯網企業的PHP職位了。下面直接上題:css
1. 基本知識點
- HTTP協議中幾個狀態碼的含義:503,500,401,200,301,302。。。(答案參考這篇文章:深刻理解HTTP協議(二)——協議詳解篇)
- include,require,include_once,require_once 的區別。(答案參考這篇文章:PHP基礎之流程控制9——require/include/require_once/include_once)
- PHP/Mysql中幾個版本的進化史,好比mysql4.0到4.1,PHP 4.x到5.1的重大改進等等。
- HEREDOC介紹。(答案參考這篇文章:PHP基礎之數據類型4——字符串(String))
- 寫出一些php魔術方法。(答案參考這篇文章:PHP基礎之類和對象15——魔術方法)
- 一些編譯php時的configure 參數。(答案參考這篇文章:在Ubuntu中使用源碼編譯安裝Apache+MySQL+PHP開發環境)
- 向php傳入參數的兩種方法。(答案參考這篇文章:PHP基礎之函數2——函數參數)
- (mysql)請寫出數據類型(int char varchar datetime text)的意思; 請問varchar和char有什麼區別;(答案參考這篇文章:MySQL的數據類型詳解大全)
- error_reporting 等調試函數使用。(答案參考這篇文章:PHP擴展之錯誤處理和日誌記錄)
- 您是否用過版本控制軟件? 若是有您用的版本控制軟件的名字是?(答案參考這兩篇文章:Linux中svn安裝、配置和使用和版本控制工具 git 使用入門指南)
- posix和perl標準的正則表達式區別。
- safe_mode 打開後哪些地方受限。(參考這篇文章:PHP特色之安全模式2——被安全模式限制或屏蔽的函數)
- 寫代碼來解決多進程/線程同時讀寫一個文件的問題。
- 寫一段上傳文件的代碼。(參考這篇文章:PHP特色之文件上傳1——使用POST方法上傳單文件和多文件)
- Mysql 的存儲引擎,myisam和innodb的區別。(參考這篇文章:再談MySQL存儲引擎的選擇:InnoDB仍是MyISAM)
2. web 架構,安全,項目經驗
- 介紹xdebug,apc,eAccelerator,Xcache,Zend opt的使用經驗。(答案參考這兩篇文章:PHP調試利器XDebug的安裝與使用——XDebug的簡單介紹和可選PHP緩存 APC 淺析——安裝、配置及工做原理)
- 使用mod_rewrite,在服務器上沒有/archivers/567.html這個物理文件時,重定向到index.php?id=567 ,請先打開mod_rewrite。
- MySQL數據庫做發佈系統的存儲,一天五萬條以上的增量,預計運維三年,怎麼優化?
- 寫出一種排序算法(原理),並說出優化它的方法。
- 請簡單闡述您最得意的開發之做。
- 對於大流量的網站,您採用什麼樣的方法來解決各頁面訪問量統計問題。
- 您是否用過模板引擎? 若是有您用的模板引擎的名字是?
- 請介紹Session的原理,大型網站中Session方面應注意什麼?
- 測試php性能和mysql數據庫性能的工具,和找出瓶頸的方法。
- 正則提出一個網頁中的全部連接。
- 介紹一下常見的SSO(單點登錄)方案(好比dedecms整合discuz的passport)的原理。
- 您寫過的PHP框架的特色,主要解決什麼問題,與其餘框架的不一樣點。
- 大型的論壇/新聞文章系統/SNS網站在性能優化上有什麼區別?
- 相冊類應用:要求在瀏覽器中能同時選中並上傳多個文件,圖片要求能剪裁,壓縮包在服務器端解壓。能上傳單個達50M的文件。上傳過程當中有進度條顯示。每一個圖片能生成四種大小縮略圖,視頻文件要轉成flv供flash播放。敘述要涉及的各種開源軟件和簡單用途。
- 一羣猴子排成一圈,按1,2,…,n依次編號。而後從第1只開始數,數到第m只,把它踢出圈,從它後面再開始數,再數到第m只,在把它踢出去…,如此不停的進行下去,直到最後只剩下一隻猴子爲止,那隻猴子就叫作大王。要求編程模擬此過程,輸入m、n, 輸出最後那個大王的編號。用程序模擬該過程。
3. unix/linux 基本使用
- linux下查看當前系統負載信息的一些方法。(答案參考這兩篇文章:Ubuntu指令大全系列一——linux指令和Ubuntu查看系統的信息命令大全)
- vim的基本快捷鍵。(答案參考這兩篇文章:Ubuntu指令大全系列二——VIM編輯器的使用和簡明 Vim 練級攻略)
- ssh 安全加強方法;密碼方式和rsa key 方式的配置。
- rpm/apt/yum/ports 裝包,查詢,刪除的基本命令。(答案參考這篇文章:Ubuntu指令大全系列五——軟件安裝)
- Makefile的基本格式,gcc 編譯,鏈接的命令,-O0 和-O3區別。(答案參考這篇文章:Linux編譯安裝中configure、make和make install各自的做用)
- gdb,strace,valgrind的基本使用。
4. 前端,HTML,JS
- css盒模型。
- javascript中的prototype。
- javascript中this對象的做用域。
- IE和firefox事件冒泡的不一樣。
- 什麼是怪異模式,標準模式,近標準模式。
- DTD的定義。
- IE/firefox經常使用hack。
- firefox,IE下的前端js/css調試工具。