當前位置:才華齋>計算機>php語言>

2017年初級PHP程式設計師筆試題

php語言 閱讀(2.11W)

即將面臨畢業的準畢業生們是不是在為工作發愁了?下面是本站小編精心為大家整理的2017年初級PHP程式設計師筆試題,希望對大家有幫助,更多內容請關注應屆畢業生網!

2017年初級PHP程式設計師筆試題

 一、基礎及程式題(建議使用你擅長的語言:C/C++、PHP、Java)

1.寫一個排序演算法,可以是氣泡排序或者是快速排序,假設待排序物件是一個維陣列。(提示:不能使用系統已有函式,另外請仔細回憶以前學習過的

基礎知識)

2.實現一個字串擷取的函式,類似於substr,必須能夠擷取中文這種多位元組編碼。假設每個中文也是一個字元,普通的數字、符號、字母也是一個字

符。(提示:GB編碼的中文字元高位範圍是 x81-xFE )

3.寫一個遍歷指定目錄下所有子目錄和子檔案的函式(提示:可以使用遞迴的方法)

4.寫出匹配郵箱地址和URL的兩個正則表示式。類似下面的:

郵箱地址:user_ /

URL地址:_

(提示:使用標準的正則表示式,就是PHP中preg_* 類的正則處理函式能夠解析的正則)

 二、資料庫技術題

1.寫出三種以上MySQL資料庫儲存引擎的名稱(提示:不區分大小寫)

2.說出你所知道的三種以上開源資料庫的名稱(提示:想想目前國外流行的開源資料庫)

L資料庫中的欄位型別varchar和char的主要區別是什麼?那種欄位的查詢效率要高,為什麼?

4.說出MySQL 4.和MySQL 4.1版本的最主要的兩個區別。如果你使用過MySQL 5,請說說MySQL 5跟MySQL 4的主要區別。(後半題選作)

L資料庫基本的三個優化法則是什麼?(提示:從服務配置、應用、開發角度考慮)

三、綜合技術題

1.請使用JavaScript寫出三種產生一個Image 標籤的方法(提示:從方法、物件、HTML角度考慮)

2.請使用CSS樣式,描述兩種方法在當前列中只顯示一個div物件

3.請描述出兩點以上XHTML和HTML最顯著的區別

4.出五種以上你使用過的PHP的擴充套件的名稱(提示:常用的PHP擴充套件)

5.瞭解MVC模式嗎?請寫出三種以上目前PHP流行的MVC框架名稱(不區分大小寫)ThinkPHP QeePHP YiiPHP

6.寫出15個以上你所知道的常用的Linux命令和它的功能

7.使用過Vim編輯器嗎?如果使用過,如何在vim裡切分多個視覺化視窗,包括橫排和縱排。(本題選作)

8.說說Linux下的find命令和grep命令的區別(本題選作)

9.請描述出七層網路模型的名稱,由下到上(可以使用中文描述)

1.說說下面這些這些協議的全稱和中文解釋(提示:都是工作在應用層)SMTP、POP3、HTTP、FTP、DNS

11.使用過Memcache快取嗎,如果使用過,能夠簡單的描述一下它的工作原理嗎?(本題選作)

12.請大致的說說Session的工作原理。(提示:與Cookie有相應的關係)

13.說說你所瞭解的搜尋引擎包含那些技術?(本題選作)

 四、專案及設計題

1.一個Web開發團隊開發中,大致說說你所瞭解的所有成員的分工合作情況

2.說說你做過的最得意的專案或者個人開發作品(可以是個人作品,也可以是合作專案)

3.假設給你5臺伺服器,請大致的描述一下,如何使用你所熟悉的開源軟體,搭建一個日PV 3萬左右的中型網站

PHP程式設計師筆試題 (參考答案)

 五、基礎及程式題(建議使用你擅長的語言:C/C++、PHP、Java)

5.寫一個排序演算法,可以是氣泡排序或者是快速排序,假設待排序物件是一個維陣列。(提示:不能使用系統已有函式,另外請仔細回憶以前學習過的

基礎知識)

//氣泡排序(陣列排序)

function bubble_sort($array)

{

$count = count($array);

if ($count <= ) return false;

for($i=; $i<$count; $i++){

for($j=$count-1; $j>$i; $j--){

if ($array[$j] < $array[$j-1]){

$tmp = $array[$j];

$array[$j] = $array[$j-1];

$array[$j-1] = $tmp;

}

}

}

return $array;

}

//快速排序(陣列排序)

function quicksort($array) {

if (count($array) <= 1) return $array;

$key = $array[];

$left_arr = array();

$right_arr = array();

for ($i=1; $i

if ($array[$i] <= $key)

$left_arr[] = $array[$i];

else

$right_arr[] = $array[$i];

}

$left_arr = quicksort($left_arr);

$right_arr = quicksort($right_arr);

return array_merge($left_arr, array($key), $right_arr);

}