php面試題,各大企業常見的php面試題之二

2021-08-05 21:19:07 字數 3295 閱讀 9104

1、用php列印出前一天的時間格式是2006-5-10 22:21:21(2分)

答:$a = date(「y-m-d h:i:s」, strtotime(「-1 day」));

print_r($a);

2、echo(),print(),print_r()的區別(3分)

答:echo 和print不是乙個函式,是乙個語言結構

int print(string $arg), 只有乙個引數

echo arg1,arg2; 可以輸出多個引數,返回void

echo和print只能列印出string,不能列印出結構

print_r能列印出結構

比如$arr = array(「key」=>」value」);

print_r($arr);

3、能夠使html和php分離開使用的模板(1分)

答:smarty,phplib

4、使用哪些工具進行版本控制?(1分)

答:svn,git,cvs

5、如何實現字串翻轉?(3分)

答:英文:

strrev($a)

中文或其他文字:

中文:gb2312, **是使用gb2312編碼

<?php

function reverse($str)

return implode(「」, array_reverse($arr));

}print_r(reverse(「你好」));

6、優化mysql資料庫的方法。(4分,多寫多得)

答:語句方面:

1 使用索引,增加查詢效率

2 優化查詢語句,提高索引命中率

資料庫涉及方面:

1 構造分庫分表,提高資料庫的儲存和擴充套件能力

2 根據需要使用不同的儲存引擎

7、php的意思(送1分)

答:超級文字預處理語言

hypertext preprocessor

8、mysql取得當前時間的函式是?,格式化日期的函式是(2分)

答:current_timestamp()

date_format()

select date_format(「2011-11-21 10:10:10″, 「%y-%m-%d」);

9、實現中文字串擷取無亂碼的方法。(3分)

答:mb_substr($str, 1, 1, 「gb2312″);

10、您是否用過版本控制軟體? 如果有您用的版本控制軟體的名字是?(1分)

答:svn git

11、您是否用過模板引擎? 如果有您用的模板引擎的名字是?(1分)

答:smarty

12、請簡單闡述您最得意的開發之作(4分)

答:這個就不需要答案了吧

13、對於大流量的**,您採用什麼樣的方法來解決訪問量問題?(4分)

答:1 有效使用快取,增加快取命中率

2 使用負載均衡

3 對靜態檔案使用cdn進行儲存和加速

4 想法減少資料庫的使用

5 檢視出現統計的瓶頸在**

14、用php寫出顯示客戶端ip與伺服器ip的**1分)

答:$_server["remote_addr"]

$_server["server_addr"]

15、語句include和require的區別是什麼?為避免多次包含同一檔案,可用(?)語句代替它們? (2分)

答:在失敗的時候:

include產生乙個warning,而require產生直接產生錯誤中斷

require在執行前載入

include在執行時載入

require_once

include_once

16、如何修改session的生存時間(1分).

答:session_set_cookie_params

17、有乙個網頁位址, 比如php研究室主頁: 如何得到它的內容?($1分)

答:file_get_contents

curl

18、在http 1.0中,狀態碼401的含義是(?);如果返回「找不到檔案」的提示,則可用 header 函式,其語句為(?);(2分)

答:未授權

fast cgi中:

header(「status: 404 not found」);

19、在php中,heredoc是一種特殊的字串,它的結束標誌必須?(1分)

答:成對出現

$a = <20、談談asp,php,jsp的優缺點(1分)

答:asp是需要依賴iis,是微軟開發的語言

php和jsp可以依賴apache或者 nginx等其他伺服器

21、談談對mvc的認識(1分)

答:model : 資料結構層

view :展現

control : 接收和判斷處理輸入

22、寫出發貼數最多的十個人名字的sql,利用下表:members(id,username,posts,pass,email)(2分)

答:select top 10 id,username from members order by posts desc

23. 請說明php中傳值與傳引用的區別。什麼時候傳值什麼時候傳引用?(2分)

答:&表示傳引用

函式中引數傳引用會將引數進行改變

一般在輸出引數有多個的時候可以考慮使用引用

24. 在php中error_reporting這個函式有什麼作用? (1分)

答:設定error的展示級別

25. 請寫乙個函式驗證電子郵件的格式是否正確 (2分)

答:$str = 「[email protected]」;

regex=」([a?z0?9\.?]+)@([\da?z\.?]+)\.([a?z\.]2,6)」 ; //正則

return preg_match(regex,str)

26. 簡述如何得到當前執行指令碼路徑,包括所得到引數。(2分)

答:$argc –獲取引數數量

$argv –獲取引數列表

27.如何修改session的生存時間. (1分)

答:session_set_cookie_params

28、js表單彈出對話方塊函式是?獲得輸入焦點函式是? (2分)

答:alert()

confirm()

promopt()

focus()

29、js的轉向函式是?怎麼引入乙個外部js檔案?(2分)

答:window.location.href=」#」

30、foo()和@foo()之間有什麼區別?(1分)

答:@代表所有warning忽略

php面試題,各大企業常見的php面試題之三

1 如何宣告乙個名為 myclass 的沒有方法和屬性的類?1分 答 class myclass 2 如何例項化乙個名為 myclass 的物件?1分 答 myclass new myclass 3 你如何訪問和設定乙個類的屬性?2分 答 class a a new a n a name print...

PHP常見面試題

1.nginx使用哪種網路協議?nginx是應用層 我覺得從下往上的話 傳輸層用的是tcp ip 應用層用的是http fastcgi負責排程程序 可能伺服器上面沒有開啟短標籤short open tag 設定為off,php.ini開啟短標籤控制引數 short open tag on 3.簡述下...

PHP常見演算法面試題

一 求斐波那契數列 斐波那契數,亦稱之為斐波那契數列 義大利語 successione di fibonacci 又稱 分割數列 費波那西數列 費波拿契數 費氏數列,指的是這樣乙個數列 1 1 2 3 5 8 13 21 用文字來說,就是斐波那契數列由 0 和 1 開始,之後的斐波那契數列係數就由之...