大公司的php面試題http://topic.csdn.net/u/20071202/16/e53996de-4725-4dfa-bf14-c197afeed93c.html

PHP題目

1. 如何用php的環境變量得到一個網頁地址的內容?ip地址又要怎樣得到?

2. 求兩個日期的差數,例如2007-2-5 ~ 2007-3-6 的日期差數

3. 請寫一個函數,實現以下功能:
字符串“open_door” 轉換成 “OpenDoor”、”make_by_id” 轉換成 ”MakeById”。

4. 要求寫一段程序,實現以下數組$arr1轉換成數組$arr2:
$arr1 = array (
'0' => array ('fid' => 1, 'tid' => 1, 'name' =>'Name1' ),
'1' => array ('fid' => 1, 'tid' => 2 , 'name' =>'Name2' ),
'2' => array ('fid' => 1, 'tid' => 5 , 'name' =>'Name3' ),
'3' => array ('fid' => 1, 'tid' => 7 , 'name' =>'Name4' ),
'4' => array ('fid' => 3, 'tid' => 9, 'name' =>'Name5' )
);
$arr2 = array (
'0' => array (
'0' => array ( 'tid' => 1, 'name' => 'Name1'),
'1' => array ( 'tid' => 2, 'name' => 'Name2'),
'2' => array ( 'tid' => 5, 'name' => 'Name3'),
'3' => array ( 'tid' => 7, 'name' => 'Name4')
),
'1' => array (
'0' => array ( 'tid' => 9, 'name' => 'Name5' )
)
);

5. 請簡述數據庫設計的範式及應用。
一般第3範式就足以,用於表結構的優化,這樣做既可以避免應用程序過於複雜同時也避免了SQL語句過於龐大所造成系統效率低下。


6.一個表中的Id有多個記錄,把所有這個id的記錄查出來,並顯示共有多少條記錄數,用SQL語句及視圖、存儲過程分別實現。
DELIMITER //
CREATE PROCEDURE ProcGet
(
IN ID_a  INT(11)
)

BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN END;
SELECT COUNT(*) AS Sum  FROM  News  Where  ID = ID_a;
END;//

CALL ProcGet(88)//


7 表中有A B C三列,用SQL語句實現:當A列大於B列時選擇A列否則選擇B列,當B列大於C列時選擇B列否則選擇C列。
DELIMITER //
CREATE PROCEDURE ProcOut()
BEGIN
DECLARE  EXIT HANDLER  FOR  SQLEXCEPTION  BEGIN  END;
DECLARE  Sum_a  INT(11);
DECLARE  Sum_b  INT(11);
DECLARE  Sum_c  INT(11);

-- 獲取A列中的總值 <--
DECLARE  cur_1  CURSOR  FOR  SELECT  SUM(A)  FROM  table_name;
OPEN  cur_1;
FETCH  cur_ 1  INTO  Sum_a;
CLOSE  cur_1;

-- 獲取B列中的總值 <--
DECLARE  cur_2  CURSOR  FOR  SELECT  SUM(B)  FROM  table_name;
OPEN  cur_2;
FETCH  cur_ 2  INTO  Sum_b;
CLOSE  cur_2;

-- 獲取C列中的總值 <--
DECLARE  cur_3  CURSOR  FOR  SELECT  SUM(C)  FROM  table_name;
OPEN  cur_3;
FETCH  cur_ 3  INTO  Sum_c;
CLOSE  cur_3;

IF  Sum_a > Sum_b  THEN
SELECT  A FROM  table_name;

ELSEIF  Sum_b > Sum_c THEN
SELECT  B  FROM  table_name;

ELSE
SELECT  C  FROM  table_name;
END IF;;
END;//

CALL ProcOut()//


8請簡述項目中優化sql語句執行效率的方法,從哪些方面,sql語句性能如何分析?
9 如果模板是用smarty模板。怎樣用section語句來顯示一個名爲$data的數組。比如:
$data = array(
[0] => array( [id]=8  [name]='name1')
[1] => array( [id]=10 [name]='name2')
[2] => array( [id]=15 [name]='name3')
......
)
寫出在模板頁的代碼? 若用foreach語句又要怎樣顯示呢?


10 寫一個函數,能夠遍歷一個文件夾下的所有文件和子文件夾。(目錄操作)

11 兩張表 city表和province表。分別爲城市與省份的關係表。
city:
id City Provinceid
1 廣州 1
2 深圳 1
3 惠州 1
4 長沙 2
5 武漢 3
………. 廣州
province:
id Province
1 廣東
2 湖南
3 湖北
……….
(1) 寫一條sql語句關係兩個表,實現:顯示城市的基本信息。?
(2) 顯示字段:城市id ,城市名, 所屬省份 。
如:
Id(城市id) Cityname(城市名) Privence(所屬省份)
。。。。。。。。。
。。。。。。。。。



(2)如果要統計每個省份有多少個城市,請用group by 查詢出來。?
顯示字段:省份id ,省份名,包含多少個城市。


12. 按照你的經驗請簡述軟件工程進行軟件開發的步驟。以下工具Rational Rose、PowerDesigner、Project、VSS或CVS、TestDirector使用過那種,有缺點是什麼?
13. 請簡述操作系統的線程與進程的區別。列舉LINUX下面你使用過的軟件?
14. 請使用僞語言結合數據結構冒泡排序法對以下一組數據進行排序 10 2 36 14 10 25 23 85 99 45。

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