PHP高級(jí)工程師面試問題推薦
1. 工作經(jīng)歷,工作職責(zé),上一家公司的情況(女考官)。
2. 使用PHP多長(zhǎng)時(shí)間?精通哪一塊?
答:一年了。
3. 使用MySQL多長(zhǎng)時(shí)間?精通哪一塊?
答:一年了。
4. 比較MySQL的兩種常用引擎的區(qū)別(MyIsAm和InnoDB)。
5. 從各種角度優(yōu)化以下SQL語句:SELECT * FROM tablename WHERE id IN (13, 15, 18, 19) and age=21
ORDER BY address DESC
6. 是否了解XML?講一下格式規(guī)范。
7. 是否使用PHP解析過XML文件?使用的什么方法?該方法使用的是什么API?(沒有聽懂后面半句是什么意思)
8. 寫一個(gè)正則表達(dá)式
9. 一個(gè)3k+1數(shù)組,k為非負(fù)整數(shù),請(qǐng)問從1乘到7000,結(jié)果的末尾會(huì)包含多少個(gè)0?
PHP面試問題推薦
1. 如何用php的環(huán)境變量得到一個(gè)網(wǎng)頁(yè)地址的內(nèi)容?ip地址又要怎樣得到?
2. 求兩個(gè)日期的差數(shù),例如2007-2-5 ~ 2007-3-6 的日期差數(shù)
3. 請(qǐng)寫一個(gè)函數(shù),實(shí)現(xiàn)以下功能:
字符串“open_door” 轉(zhuǎn)換成 “OpenDoor”、”make_by_id” 轉(zhuǎn)換成 ”MakeById”。
4. 要求寫一段程序,實(shí)現(xiàn)以下數(shù)組$arr1轉(zhuǎn)換成數(shù)組$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. 請(qǐng)簡(jiǎn)述數(shù)據(jù)庫(kù)設(shè)計(jì)的范式及應(yīng)用。
一般第3范式就足以,用于表結(jié)構(gòu)的優(yōu)化,這樣做既可以避免應(yīng)用程序過于復(fù)雜同時(shí)也避免了SQL語句過于龐大所造成系統(tǒng)效率低下。
6.一個(gè)表中的Id有多個(gè)記錄,把所有這個(gè)id的記錄查出來,并顯示共有多少條記錄數(shù),用SQL語句及視圖、存儲(chǔ)過程分別實(shí)現(xiàn)。
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)//