PHP程序員筆試題和面試題答案含答案(一)

思而思學網

入門級php程序員筆試題(總100分/47題)

簡述題(50分)

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

echo date("Y-m-d G:i:s",strtotime("-1 day"));

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

echo()是一個php語句,所以沒有返回值,能打印簡單的數據。

print()是一個函數,有返回值,能打印簡單的數據。

print_r()是一個函數,能打印復雜的(mix)數據。

如:

'wangking','qq'=>'123456');print_r($arr);?>

運行結果:

hello word

the value is 1

Array ( [name] => wangking [qq] => 123456 ) ......

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

smarty模板

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

TortoiseSVN

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

strrev("Hello world!");

7、優(yōu)化mysql數據庫的方法。(4分,多寫多得)

(1).數據庫設計方面,這是DBA和Architect的責任,設計結構良好的數據庫,必要的時候,去正規(guī)化(英文是這個:denormalize,中文翻譯成啥我不知道),允許部分數據冗余,避免JOIN操作,以提高查詢效率

(2).系統架構設計方面,表散列,把海量數據散列到幾個不同的表里面.快慢表,快表只留最新數據,慢表是歷史存檔.集群,主服務器Read & write,從服務器read only,或者N臺服務器,各機器互為Master

(3).(1)和(2)超越PHP Programmer的要求了,會更好,不會沒關系.檢查有沒有少加索引

(4).寫高效的SQL語句,看看有沒有寫低效的SQL語句,比如生成笛卡爾積的全連接啊,大量的Group By和order by,沒有l(wèi)imit等等.必要的時候,把數據庫邏輯封裝到DBMS端的存儲過程里面.緩存查詢結果,explain每一個sql語句

(5).所得皆必須,只從數據庫取必需的數據,比如查詢某篇文章的評論數,select count() ... where article_id = ? 就可以了,不要先select ... where article_id = ?然后msql_num_rows.

只傳送必須的SQL語句,比如修改文章的時候,如果用戶只修改了標題,那就update ... set title = ? where article_id = ?不要set content = ?(大文本)

(6).必要的時候用不同的存儲引擎.比如InnoDB可以減少死鎖.HEAP可以提高一個數量級的查詢速度

8、php的意思(送1分)

Hypertext Preprocessor

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

now() DATE_FORMA T(date, format) .

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

使用mbstring擴展庫的mb_substr()截取就不會出現亂碼了

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

TortoiseSVN

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

smarty模板

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

14、對于大流量的網站,您采用什么樣的方法來解決訪問量問題?(4分)

15、用php寫出顯示客戶端ip與服務器ip的代碼(1分)

打印客戶端IP:echo $_SERVER[‘REMOTE_ADDR’]; 或者: getenv('REMOTE_ADDR');

打印服務器IP:echo gethostbyname("http://www.baidu.com/")

16、語句include和require的區(qū)別是什么?為避免多次包含同一文件,可用(?)語句代替它們? (2分)

熱門推薦

最新文章