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);
}
-
PHP緩存技術
PHP具有非常強大的功能,所有的CGI的功能PHP都能實現,而且支持幾乎所有流行的數據庫以及操作系統。最重要的是PHP可以用C、C++進行程序的擴展!以下是小編為大家搜索整理的PHP緩存技術,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!全頁面靜態...
-
PHP學習入門的一些基礎知識
導語:PHP是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。下面我們來看看PHP學習入門的一些基礎知識,希望對大家有所幫助。一,PHP腳本代碼標記PHP的腳本是文件中一對特殊標記所包括的內容,如ASP是“”,PHP可看...
-
PHP時間和日期函數怎麼操作
php函數的多樣化和功能相近真是一大特點,同一個應用可以用多種函數實現,這恐怕也是開源的一個弊端了;通過對PHP時間函數的系統學習,充分理解了時間戳和時區的概念(這個真的很重要),有需要的小夥伴可以參考下。PHP中所有函數都是UNIX紀元的,即從1970年1月1日開始的。日...
-
編譯chm格式PHP手冊的方法
微軟的chm文件格式是很受我們喜愛的,因為它可以把很多HTML文件打包成一個文件,容易傳輸和分享。而且非常方便易用,支持索引、搜索等。正因為這樣,大家通常都使用chm版本的PHP手冊。php.net會定期編譯PHP手冊,提供各種版本供大家下載,包括chm格式。由於是定期編譯,所以...