糯米文學吧

位置:首頁 > 計算機 > php語言

2017年初級PHP程序員筆試題

php語言2.08W

即將面臨畢業的準畢業生們是不是在為工作發愁了?下面是本站小編精心為大家整理的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);

}