導航:首頁 > 編程語言 > php筆試題選擇題及答案

php筆試題選擇題及答案

發布時間:2025-01-23 18:18:04

php應聘筆試題

題目一:

<?php

echo -10%3;

?>

答案:-1。

考查:優先順序。因為-的優先順序比%求余的優先順序低,也就是-(10%3)。

題目二:

print (int)pow(2,32);

答案:0

題目三:

//file1.php

<?php

$a = '123';

?>

//file2.php

<?php

echo include('file1.php');

?>

答案:1.

考查:返回值。因include()也是一個函數,有返回值。在成功時返回1,失敗時返回錯誤信息。如果被包含的文件有return,則inculde()成功時返回該文件的`返回值。

題目四:

<?php

$count = 5;

function get_count() {

static $count = 0;

return $count++;

}

++$count;

get_count();

echo get_count();

?>

答案:1.

考查:static和++。因static $count,所以只在第一次調用get_count的時候對$count賦值為0,第二次再進來這個函數,則不會第二次賦值。其次就是return $count++和return ++$count了,前者先返回,後者先++再返回。

題目五:

<?php

$arr= array(0 =>1,'aa' =>2,3,4);

foreach($arr as $key => $val){

print($key == 'aa' ? 5 : $val);

}

?>

答案:5534.

考查:類型轉換。因遍歷數組第一次的時候,$key和aa的比較實際就是0和aa的比較,一個是int一個是string,這個時候會轉換類型,將字元串轉換為數字再與數字比較。所以0=='aa'就是0==0,所以為true,也就是輸出5。雖然PHP是若類型語言,但是人家也有類型的好嗎。

題目六:

<?php

echo count (false);

$a = count ("567") + count(null)

+ count(false);

echo $a;

?>

答案:2.

考查:count的用法。

因count()的官方解釋「If the parameter

is not an array or not an object

with implemented Countable

interface, 1 will be returned.」.意思是說,如果不是數組或者對象的其他類型,返回1.那麼這個值應該就是1+0+1了(boolen人家也是一個類型,雖然是討厭的false)。NULL的意思是沒有值,難道在計數函數中還能有1?

題目七:

<?php

$arr = array(1,2,3);

foreach($arr as &$val) {

$val += $val % 2 ? $val++ : $val--;

}

$val = 0;

print(join('',$arr));

?>

答案:330。

考查:++和&。

因foreach結束後的數組應該是array(3,3,7);最後給第三個元素賦值為0,所以就是330了。其中注意的是&,如果有&則是對原變數操作,如果沒有,則是先生成一個新變數,然後給這個變數復制,最後操作的是這個新變數。

題目八:

<?php

echo intval((0.1+0.7)*10);

?>

答案:7。

考查:浮點數的概念。

因0.1+0.7=0.8 0.8*10=8 所以轉換成整數後還是8?錯!因為0.1+0.7=0.8是浮點數,0.8*10在數學計算中是正整數8,可是在計算機中它仍然是浮點數8,什麼叫浮點數8?每一個看起來像整數的浮點數,其實都不是整數,比如這個8,它其實只是

7.9999循環,無限接近於8,轉換成整數會舍棄小數部分,就是7嘍。

題目九:

<?php

ini_set('display_errors',0);

$arr = array(1=>1,3=>3);

$i = 2;

$a = 'test' . isset($arr[$i]) ?

$arr[$i] : $i;

請問$a的值是什麼?

A、test B、NULL C、2 D、test2

?>

答案:B。

考查:優先順序因「."的優先順序高於三元運算符"?:"。所以程序其實報錯了。會說$arr的索引2不存在。

題目十:

<?php

$a = 3;

$b = 5;

if($a = 5 || $b = 7) {

$a++;

$b++;

}

echo $a . " " . $b;

?>

A、6 8 B、6 6 C、2 6 D、1 6 E、4 6

答案:D。

考查:優先順序,基礎概念,++。因「="的優先順序低於「||」,所以先邏輯判斷再賦值。也就是($a = (5 || $b = 7))。所以,最後其實給a賦值了,$a等於1.

Ⅱ 微創筆試,一面,二面全過程

微創筆試,一面,二面全過程 (2006)

先介紹一下自己,我是交大計算機系應屆本科畢業生,主ID是php,因為比較喜歡本專業吧,找工作的目標就是純技術類的。這次微創投的是軟體開發工程師。

筆試:時間記不清楚了,黃浦區圖書館

兩道HTML選擇題目,sigh我居然全錯了,打擊得不得了,簡歷上面也不敢寫精通B/S了…

兩道編程題目,第一道忘了,用到函數遞歸調用就能解決了。第二道用到回溯法。雖然演算法不難,但是在短時間寫出來也不太容易,而且試卷上的空餘地方很少,最好不要寫錯。我就是用聯想宣講會發的那隻又黑又粗的綠筆,寫成了一團。

然後又一道SQL的題目T-SQL我不太會寫,就用PL/SQL寫了,反正功能是實現了,以至於後來面面試我的時候還特意確認了這一點。

接下來就是英語了,幾道選擇填空,難度和高中英語差不多,然後一道問你有什麼職業規劃。

就這些差不多了,過的時間久了記不太清楚了。

第一次面試:12月15日,外灘中心21樓
外灘中心還要掛牌才能進,微創裡面和微軟裡面的布局基本完全一樣,包括牆面的色調,桌子大小什麼的……電梯挺氣派的.,真是見世面了,上面好像還有DTT和HP,恩,MM一定不少的…

第一輪在一個大房間裡面,好多個組在面試,面我的有兩個人,具體無非是自我介紹,做過項目什麼的。我的簡歷上面提及了很多Web方面的東西,估計比較對他的胃口,問了一些細節和大體的實現,我就講了講什麼B/S中的兩層三層各自的特點,以及對比PHP說說ASP.net的優勢雲雲。介紹一下開發的PHP Open Source項目…最後他拿出一張紙,讓我寫個程序:int a[10]隨機放入0-9的數字(可以重復),編程序按順序挑出5個使組成的5位數最大,注意順序不能變的。我寫好了給他講一遍,沒什麼問題,第一輪就這樣OK了,讓我在外面等。

等了十多分鍾,第二輪。在正對門的會議室裡面。這次是一個人了,還是那套項目經歷等等。期間好像有個經典的SQL Server問題就是如何實現分段Select,回答出來了讓他很滿意。還問了問DWORD是什麼東西,最後又是拿出一張紙…說60000個數,每個都介於1和65535之間不重復,需要編一個函數用最小時間復雜度取得一個同樣介於1和65535,但是不在那60000個數中的數。在最小時間復雜度的情況下還要最小空間復雜度。答案我就不詳細說了,不過最小空間復雜度部分還是有點難度的,用到移位的操作什麼的,反正寫了整整一張A4,又講了半天。還好也寫得不錯,然後他也點點頭說當天的面試就完了,讓我回來等。

總之前面兩輪偏於技術。且兩個程序都要寫出具體C代碼,不許用已有的類庫。

第二次面試:12月22日,就是今天,外灘中心21樓
第一輪,大概是一個PM類型的人了,還是問了一下做過的項目…然後對我說剛剛看過我簡歷上的個人網站,說非常好…寒啊,我說那更新日期都是2002年的了,而且上面都是無聊的YY……居然被誇獎…(其實心裡也很得意的)。又問了一下做過這么多項目中最困難的是什麼,我說技術上沒什麼困難,困難的就是時間控制等等軟體工程方面的。這一輪的技術方面偏於籠統架構,概念,很快也就結束了。被告之等晚上六點下一輪副總面試。

出去南京路逛了一會商場,發現MM真多啊,大飽眼福一番,而後吃了大娘水餃5點多就回去了。這一等就是等到快七點,到了副總辦公室,這位副總先生還是非常kind的,感覺非常平易近人,進來先熱情的和我握手,並且自我介紹一番。好感動啊,不象某些XX公司,地方不大架子還不小。進入正題,其實就是隨便聊聊。問我有沒有做過動網論壇之類的東西,sigh,動網論壇那幾個開發者都是我好朋友的…非常熟悉,又把我那個PHP Open Source BBS吹了一番。他好像很驚訝的,又問了下我簡歷上面寫了在CSDN當過XXXX,XXXX板板主……頭一次有人在乎我這個,還有MCSE,CCNA之類的…也是頭一次有人在乎…感覺受寵若驚阿。後來他說我表現還好,說比較喜歡我這種直爽的人,還說搞技術的就應該這樣。又問了我今後的職業規劃,我就隨便說說。這一輪也就結束了,確認完
我什麼時候能來實習,又起身熱情的和我握手,這位副總真的要贊一下的!給人感覺非常好!

總之後兩輪偏於籠統的架構理解以及個人性格。

回到寢室開始寫這個,終於寫完了,希望對明後天去面試的兄弟們有點幫助。其中表達多有不通(大學語文不及格的後果),見笑。

;

Ⅲ 誰能告訴我一些PHP開發常見的面試題呢

1、表單提交get和post有何區別?
答:get的方式是把數據在地址欄中發送,get傳送的數據量較小,不能大於2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
2、用PHP列印出前一天的時間格式是2006-5-1022:21:21

復制代碼代碼示例:
echo date("Y-m-dH:i:s",time()-(3600*24));或echodate("Y-m-d H:i:s",strtotime("-1 day"));

3、php中include和require的區別?
這兩種結構除了在如何處理失敗之外完全一樣。include()產生一個警告而 require() 則導致一個致命錯誤。換句話說,如果你想在遇到丟失文件時停止處理頁面就用 require()。include() 就不是這樣,腳本會繼續運行。

4、echo(),print(),print_r()的區別
echo可以接多個參數,print只能接一個參數,它們都是PHP的語言結構,print_r是遞規列印,用來列印數組或對象

5、能夠使HTML和PHP分離開使用的模板
smarty,phplib,SmartTemplate

6、如何理解MVC模式?
首先說一下框架,框架:就是別人把一些底層,常用操作.比如數據操作(增,刪,改,查)寫好.你來直接用.其它的功能要自己來做。
MVC:設計模式,M模型,V顯示,C控制.現在許多框架都是基於MVC來做的把邏輯和顯示分開.比如你要換頁面,只需要改V裡面的東西並不需要再去變動程序!(詳細的東西可以上網上查一下)

7、如何實現PHP、JSP交互?
PHP提供了支持JAVA的類庫文件,或者通過HTTP協議來交互數據
8、使用哪些工具進行版本控制?
VSS,CVS,SVN
http://www.jbxue.com/php/25446.html

閱讀全文

與php筆試題選擇題及答案相關的資料

熱點內容
表格中的文件夾怎樣設置 瀏覽:474
em78單片機 瀏覽:952
splitjava空格 瀏覽:248
電腦怎麼谷歌伺服器地址 瀏覽:515
nx自定義工具啟動宏命令 瀏覽:101
程序員怎麼解決無法訪問互聯網 瀏覽:303
java訪問本地文件 瀏覽:747
瓦斯琪伺服器怎麼用 瀏覽:22
安卓主題用什麼app 瀏覽:747
修改伺服器pci地址空間 瀏覽:321
程序員將來去哪裡 瀏覽:966
虛幻5創建c無法編譯 瀏覽:189
javaweb項目設計 瀏覽:407
國家反詐app緊急聯系人怎麼填 瀏覽:191
單片機旋轉led 瀏覽:340
杜洋單片機官網 瀏覽:467
法國加密貨幣稅務 瀏覽:28
stringslinux 瀏覽:944
gis伺服器里文件如何處理 瀏覽:829
sec加密數字資產 瀏覽:930