php基礎(chǔ)面試題
PHP技術(shù)人員在求職應(yīng)聘中,了解面試基礎(chǔ)題很有必要,那么你是否做好面試準(zhǔn)備呢?下面小編已經(jīng)為你們整理了php基礎(chǔ)面試題,一起來看看吧。
php基礎(chǔ)面試題一
1、談?wù)刟sp,php,jsp的優(yōu)缺點(diǎn)?
答:ASP全名Active Server Pages,是一個(gè)WEB服務(wù)器端的開發(fā)環(huán)境, 利用它可以產(chǎn)生和運(yùn)行動(dòng)態(tài)的、交互的、高性能的WEB服務(wù)應(yīng)用程序。ASP采用腳本語言VB Script(Java script)作為自己的開發(fā)語言。
PHP是一種跨平臺(tái)的服務(wù)器端的嵌入式腳本語言. 它大量地借用C,Java和Perl語言的語法, 并耦合PHP自己的特性,使WEB開發(fā)者能夠快速地寫出動(dòng)態(tài)生成頁(yè)面.它支持目前絕大多數(shù)數(shù)據(jù)庫(kù)。還有一點(diǎn),PHP是完全免費(fèi)的,不用花錢,你可以從PHP官方站點(diǎn)自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進(jìn)你自己需要的特色。
JSP 是Sun公司推出的新一代站點(diǎn)開發(fā)語言,他完全解決了目前ASP,PHP的一個(gè)通病--腳本級(jí)執(zhí)行(據(jù)說PHP4 也已經(jīng)在Zend 的支持下,實(shí)現(xiàn)編譯運(yùn)行).Sun 公司借助自己在Java 上的不凡造詣,將Java 從Java 應(yīng)用程序 和 Java Applet 之外,又有新的碩果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能強(qiáng)大的站點(diǎn)程序。
三者都提供在 HTML 代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼的能力。但JSP代碼被編譯成 Servlet 并由 Java 虛擬機(jī)解釋執(zhí)行,這種編譯操作僅在對(duì) JSP 頁(yè)面的第一次請(qǐng)求時(shí)發(fā)生。在 ASP 、PHP、JSP 環(huán)境下,HTML 代碼主要負(fù)責(zé)描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的 HTML 頁(yè)面只依賴于 Web 服務(wù)器,而 ASP 、PHP、JSP 頁(yè)面需要附加的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結(jié)果被重新嵌入到 HTML 代碼中,然后一起發(fā)送給瀏覽器。 ASP 、PHP、 JSP三者都是面向 Web 服務(wù)器的技術(shù),客戶端瀏覽器不需要任何附加的軟件支持。
2、 優(yōu)化MYSQL數(shù)據(jù)庫(kù)的方法
(1).選取最適用的字段屬性,應(yīng)該盡量把字段設(shè)置為NOT NULL,這樣在將來執(zhí)行查詢的時(shí)候,數(shù)據(jù)庫(kù)不用去比較NULL值。
(2).使用連接(JOIN)來代替子查詢(Sub-Queries)
(3).盡量少使用 LIKE 關(guān)鍵字和通配符
php基礎(chǔ)面試題二
1、表單提交get和post的區(qū)別?
答:get的方式是把數(shù)據(jù)在地址欄中發(fā)送,get傳送的數(shù)據(jù)量較小不能大于2KB。post傳送的數(shù)據(jù)量比較大,一般默認(rèn)為不受限制。
2、用PHP大于出前一天的時(shí)間格式2006-5-10 22:21:21
echo date("Y-m-d H:i:s",time-(3600*24)) 或者是 echo date("Y-m-d H:i:s",strtotime("-1 day"))
3、php中include和require的區(qū)別?
這兩種結(jié)構(gòu)除了在如何處理失敗之外完全一樣。include() 產(chǎn)生一個(gè)警告而 require() 則導(dǎo)致一個(gè)致命錯(cuò)誤。換句話說,如果你想在遇到丟失文件時(shí)停止處理頁(yè)面就用 require()。include() 就不是這樣,腳本會(huì)繼續(xù)運(yùn)行。
4、echo(),print(),print_r()的區(qū)別
echo可以接多個(gè)參數(shù),print只能接一個(gè)參數(shù),它們都是PHP的語言結(jié)構(gòu),print_r是遞規(guī)打印,用來打印數(shù)組或?qū)ο?/p>
5、能夠使HTML和PHP分離開使用的模板
smarty,phplib,SmartTemplate
6、你如何理解MVC模式?
首先說一下框架,框架:就是別人把一些底層,常用操作.比如數(shù)據(jù)操作(增,刪,改,查)寫好.你來直接用.其它的功能要自己來做。MVC:設(shè)計(jì)模式,M模型,V顯示,C控制.現(xiàn)在許多框架都是基于MVC來做的把邏輯和顯示分開.比如你要換頁(yè)面,只需要改V里面的東西并不需要再去變動(dòng)程序!(詳細(xì)的東西可以上網(wǎng)上查一下)
php基礎(chǔ)面試題三
1、sort()、asort()、和 ksort() 有什么分別?它們分別在什么情況下使用?
sort()
根據(jù)陣列中元素的值,以英文字母順序排序,索引鍵會(huì)由 0 到 n-1 重新編號(hào)。主要是當(dāng)陣列索引鍵的值無關(guān)疼癢時(shí)用來把陣列排序。
asort()
與 sort() 一樣把陣列的元素按英文字母順序來排列,不同的是所有索引鍵都獲得保留,特別適合替聯(lián)想陣列排序。
ksort()
根據(jù)陣列中索引鍵的值,以英文字母順序排序,特別適合用于希望把索引鍵排序的聯(lián)想陣列。
2、用PHP寫出顯示客戶端IP與服務(wù)器IP的代碼?
答:打印客戶端IP:echo $_SERVER[‘REMOTE_ADDR’]; 或者: getenv('REMOTE_ADDR');//getenv取得開發(fā)環(huán)境變量
打印服務(wù)器IP:echo gethostbyname("www.XXX.com") // gethostbyname取得IP地址函數(shù)
3、語句include和require的區(qū)別是什么?為避免多次包含同一文件,可用(?)語句代替它們?
答:require->require是無條件包含也就是如果一個(gè)流程里加入require,無論條件成立與否都會(huì)先執(zhí)行require
include->include有返回值,而require沒有(可能因?yàn)槿绱藃equire的速度比include快)
注意:包含文件不存在或者語法錯(cuò)誤的時(shí)候require是致命的,include不是
4、PHP的意思?
答:PHP是一個(gè)基于服務(wù)端來創(chuàng)建動(dòng)態(tài)網(wǎng)站的腳本語言,您可以用PHP和HTML生成網(wǎng)站主頁(yè)
看了“php基礎(chǔ)面試題”