PHP高級工程師的需知道的

1. 基本知識點

* HTTP協議中幾個狀態碼的含義:503 500 401 200 301 302
503:請求超時 500:內部服務錯誤,一般是php程序錯誤導致 401:未受權訪問  200 :正確響應 301::永久重定向 302:臨時重定向
* Include require include_once require_once 的區別.
include與require區別:
include包含文件可以return返回值,require不能 ;
require 不能在控制結構中根據條件的不同而包含不同的文件。require()語句只會在第一次執行時調用它所包含的文件中的內容替換本身這條語句,當再次被執行 時只能執行第一次所包含的語句。但是include()語句可以在循環體中來包含不同的文件,所以php解析器每次遇到include()語句時,對它進 行重新處理。
在程序中只要有require,就會被包含,即使你在一個非真的if語句裏,所以require一般都放在程序的最頭部,
require()語句在PHP程序執行前就會將使用require引用的文件讀入,如果requrie包含文件出錯,程序會中止,include語句只有在被執行時纔會讀入要包含的文件,如果include包含文件出錯,程序會跳過錯誤,繼續執行
include_once與include(require_once與require) 區別
include_once會檢查是否在其它地方導入過,有導入過則不在重複導入,這樣可以避免函數或變量重複定義的錯誤,而include會無限數導入,
require_once同上
* PHP/Mysql中幾個版本的進化史,比如mysql4.0到4.1,PHP 4.x到5.1的重大改進等等。
mysql4.1 改進了子查詢(MyIsam用了R-trees) 5.0增加了存諸過程 視圖 遊標 5.1 有觸發器,約束,InnoDB外鍵等改進
php5主要增強了oo特性,比如構造/析構函數,類中屬性和方法的類型 (public,private,protected)一些魔術方法(__call,__set,__get等),接口等
* HEREDOC介紹
* 寫出一些php魔幻方法;
* 一些編譯php時的configure 參數
prefix,with-config-file ,with-mysql , with-myqli,with-gd,with-curl,with-iconv,with-mbstr等
* 向php傳入參數的兩種方法。
get , post
* (mysql)請寫出數據類型(int char varchar datetime text)的意思; 請問varchar和char有什麼區別;
int:數字型  範圍: -2147483648 to 2147483647
cahr:固定長度字符串
varchar :可變長度字符串
datetime : 0000-00-00 00:00:00 時間類型
text : 超長字符串,可存2^16-1字節
varchar與char區別:一個固定,一個可變,所以char一般情況下所佔空間更大,但查詢更快(不需要計算字符串長度)
* error_reporting 等調試函數使用
一般在生產環境上設置爲:error_reporting(0)用來不顯示錯誤,開發環境設置爲:error_reporting(E_ALL)用來顯示所有錯誤
* 您是否用過版本控制軟件? 如果有您用的版本控制軟件的名字是?
用過,subsvn
* posix和perl標準的正則表達式區別;
perl正則表達式更豐富
* Safe_mode 打開後哪些地方受限.
會影響到 system,passthru,exec,shell_exec,popen,phpinfo等等大部分的文件操作函數。
* 寫代碼來解決多進程/線程同時讀寫一個文件的問題。
* 寫一段上傳文件的代碼。
* Mysql 的存儲引擎,myisam和innodb的區別。

2. web 架構,安全,項目經驗

* 介紹xdebug,apc,eAccelerator,Xcache,Zend opt的使用經驗。
* 使用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下查看當前系統負載信息的一些方法。
* vim的基本快捷鍵。
* ssh 安全增強方法;密碼方式和rsa key 方式的配置。
* rpm/apt/yum/ports 裝包,查詢,刪除的基本命令。
* Makefile的基本格式,gcc 編譯,連接的命令,-O0 和-O3區別。
* gdb,strace,valgrind的基本使用.

4. 前端,HTML,JS

* css盒模型。
* javascript中的prototype。
* javascript中this對象的作用域。
* IE和firefox事件冒泡的不同。
* 什麼是怪異模式,標準模式,近標準模式。
* DTD的定義
* IE/firefox常用hack.
* firefox,IE下的前端js/css調試工具。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章