入門級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語句,所以沒有返回值,能打印簡單的數(shù)據(jù)。
print()是一個函數(shù),有返回值,能打印簡單的數(shù)據(jù)。
print_r()是一個函數(shù),能打印復(fù)雜的(mix)數(shù)據(jù)。
如:
'wangking','qq'=>'123456');print_r($arr);?>
運(yùn)行結(jié)果:
hello word
the value is 1
Array ( [name] => wangking [qq] => 123456 ) ......
3、能夠使html和php分離開使用的模板(1分)
smarty模板
4、使用哪些工具進(jìn)行版本控制?(1分)
TortoiseSVN
6、如何實現(xiàn)字符串翻轉(zhuǎn)?(3分)
strrev("Hello world!");
7、優(yōu)化mysql數(shù)據(jù)庫的方法。(4分,多寫多得)
(1).數(shù)據(jù)庫設(shè)計方面,這是DBA和Architect的責(zé)任,設(shè)計結(jié)構(gòu)良好的數(shù)據(jù)庫,必要的時候,去正規(guī)化(英文是這個:denormalize,中文翻譯成啥我不知道),允許部分?jǐn)?shù)據(jù)冗余,避免JOIN操作,以提高查詢效率
(2).系統(tǒng)架構(gòu)設(shè)計方面,表散列,把海量數(shù)據(jù)散列到幾個不同的表里面.快慢表,快表只留最新數(shù)據(jù),慢表是歷史存檔.集群,主服務(wù)器Read & write,從服務(wù)器read only,或者N臺服務(wù)器,各機(jī)器互為Master
(3).(1)和(2)超越PHP Programmer的要求了,會更好,不會沒關(guān)系.檢查有沒有少加索引
(4).寫高效的SQL語句,看看有沒有寫低效的SQL語句,比如生成笛卡爾積的全連接啊,大量的Group By和order by,沒有l(wèi)imit等等.必要的時候,把數(shù)據(jù)庫邏輯封裝到DBMS端的存儲過程里面.緩存查詢結(jié)果,explain每一個sql語句
(5).所得皆必須,只從數(shù)據(jù)庫取必需的數(shù)據(jù),比如查詢某篇文章的評論數(shù),select count(*) ... where article_id = ? 就可以了,不要先select * ... where article_id = ?然后msql_num_rows.
只傳送必須的SQL語句,比如修改文章的時候,如果用戶只修改了標(biāo)題,那就update ... set title = ? where article_id = ?不要set content = ?(大文本)
(6).必要的時候用不同的存儲引擎.比如InnoDB可以減少死鎖.HEAP可以提高一個數(shù)量級的查詢速度
8、php的意思(送1分)
Hypertext Preprocessor
9、mysql取得當(dāng)前時間的函數(shù)是?,格式化日期的函數(shù)是(2分)
now() DATE_FORMA T(date, format) .
10、實現(xiàn)中文字串截取無亂碼的方法。(3分)
使用mbstring擴(kuò)展庫的mb_substr()截取就不會出現(xiàn)亂碼了
---------------------------------------------------------------
11、您是否用過版本控制軟件? 如果有您用的版本控制軟件的名字是?(1分)
TortoiseSVN
12、您是否用過模板引擎? 如果有您用的模板引擎的名字是?(1分)
smarty模板
13、請簡單闡述您最得意的開發(fā)之作(4分)
14、對于大流量的網(wǎng)站,您采用什么樣的方法來解決訪問量問題?(4分)
15、用php寫出顯示客戶端ip與服務(wù)器ip的代碼(1分)
打印客戶端IP:echo $_SERVER[‘REMOTE_ADDR’]; 或者: getenv('REMOTE_ADDR');
打印服務(wù)器IP:echo gethostbyname("https://www.baidu.com/")
16、語句include和require的區(qū)別是什么?為避免多次包含同一文件,可用(?)語句代替它們? (2分)
require 的使用方法如 require("MyRequireFile.php"); 。這個函數(shù)通常放在 PHP 程序的最前面,PHP 程序在執(zhí)行前,就會先讀入 require 所指定引入的文件,使它變成 PHP 程序網(wǎng)頁的一部份。常用的函數(shù),亦可以這個方法將它引入網(wǎng)頁中。
include 使用方法如 include("MyIncludeFile.php"); 。這個函數(shù)一般是放在流程控制的處理部分中。PHP 程序網(wǎng)頁在讀到 include 的文件時,才將它讀進(jìn)來。這種方式,可以把程序執(zhí)行時的流程簡單化。
為避免多次包含同一文件,可用require_once()/include_once()語句代替它們。
閱讀了本文,本站中國人才網(wǎng)(cnrencai)筆試頻道,還為你提供以下可能你會感興趣的筆試題相關(guān)文章: