- PHP中級(jí)程序員常見(jiàn)面試題有哪些 推薦度:
- 相關(guān)推薦
常見(jiàn)的PHP中級(jí)程序員面試題
科學(xué)上的許多重大突破,都是一點(diǎn)點(diǎn)細(xì)微的成績(jī)積累起來(lái)的。以下是小編為大家搜索整理的常見(jiàn)的PHP中級(jí)程序員面試題,希望能給大家?guī)?lái)幫助!更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
1.寫(xiě)一個(gè)函數(shù),盡可能高效的,從一個(gè)標(biāo)準(zhǔn)url里取出文件的擴(kuò)展名例如: http://www.test.com.cn/abc/de/fg.php?id=1需要取出php或.php
答: 1、$a="http://www.test.com.cn/abc/de/fg.php?id=1"; 2、$b=parse_url($a); 3、Echosubstr($b['path'],strpos($b['path'],'.')); 或者: 4、Echoend(explode('.',$b['path']));2
2.描述一下大流量高并發(fā)量網(wǎng)站的解決方案
答: 1、確認(rèn)服務(wù)器硬件是否足夠支持當(dāng)前的流量。
2、使用memcache緩存技術(shù),將動(dòng)態(tài)數(shù)據(jù)緩存到內(nèi)存中,動(dòng)態(tài)網(wǎng)頁(yè)直接調(diào)用這些文件,而不必在訪問(wèn)數(shù)據(jù)庫(kù)。
3、禁止外部的盜鏈。
4、外部網(wǎng)站的圖片或者文件盜鏈往往會(huì)帶來(lái)大量的負(fù)載壓力,因此應(yīng)該嚴(yán)格限制外部對(duì)自身圖片或者文件盜鏈,目前可以簡(jiǎn)單的通過(guò)refer來(lái)控制盜 鏈,apache自己就可以通過(guò)配置來(lái)禁止盜鏈。
5、控制大文件的下載。 大文件的下載會(huì)占用很大的流量,對(duì)于非SCSI硬盤(pán)來(lái)說(shuō)會(huì)消耗,使得網(wǎng)站響應(yīng)能力下降。
6、使用不同的主機(jī)分流主要流量
7、使用流量統(tǒng)計(jì)軟件。 在網(wǎng)站上安裝一個(gè)流量統(tǒng)計(jì)軟件,可以即時(shí)知道哪些地方耗費(fèi)了大量流量,哪些頁(yè)面需要再進(jìn)行優(yōu)化。
8、分庫(kù)分表。
9、Sphinx全文索引引擎。
如何設(shè)計(jì)或配置Mysql,才能達(dá)到高效使用的目的。
答:
1、數(shù)據(jù)庫(kù)設(shè)計(jì)方面,設(shè)計(jì)結(jié)構(gòu)良好的數(shù)據(jù)庫(kù),允許部分?jǐn)?shù)據(jù)冗余。 選取最適用的字段屬性,盡可能把字段設(shè)置為NOTNULL,這樣在查詢的時(shí)候,數(shù)據(jù)庫(kù)不用去比較NULL值。
2、系統(tǒng)架構(gòu)設(shè)計(jì)方面,表散列,把海量數(shù)據(jù)散列到幾個(gè)不同的表里面,集群,數(shù)據(jù)庫(kù)查詢和寫(xiě)入分開(kāi)。 寫(xiě)高效sql語(yǔ)句,以提高效率。使用連接(join)來(lái)代替子查詢使用聯(lián)合(union)來(lái)代替手動(dòng)創(chuàng)建的臨時(shí)表所得皆必須,只從數(shù)據(jù)庫(kù)取必須的數(shù)據(jù)。必 要的時(shí)候用不同的存儲(chǔ)引擎,比如Innodb可以減少死鎖,HEAP可以提高一個(gè)數(shù)量級(jí)的查詢速度。
使用事務(wù)使用外鍵使用索引24.如何進(jìn)行防SQL注 入?
答:
1、過(guò)濾掉一些常見(jiàn)的數(shù)據(jù)庫(kù)操作關(guān)鍵字:select,insert,update,delete,and,*等或者通過(guò)系統(tǒng)函 數(shù):addslashes(需要被過(guò)濾的內(nèi)容)來(lái)進(jìn)行過(guò)濾。
2、在PHP配置文件中Register_globals=off;設(shè)置為關(guān)閉狀態(tài) //作用將注冊(cè)全局變量關(guān)閉。比如:接收POST表單的值使用$_POST['user'],如果將register_globals=on;直接使 用$user可以接收表單的值。
3、SQL語(yǔ)句書(shū)寫(xiě)的時(shí)候盡量不要省略小引號(hào)(tab鍵上面那個(gè))和單引號(hào)
4、提高數(shù)據(jù)庫(kù)命名技巧,對(duì)于一些重要的字段根據(jù)程序的特點(diǎn)命名,取不易被猜到的
5、對(duì)于常用的方法加以封裝,避免直接暴漏SQL語(yǔ)句
6、開(kāi)啟PHP安全模式Safe_mode=on;
7、打開(kāi)magic_quotes_gpc來(lái)防止SQL注入 Magic_quotes_gpc=off;默認(rèn)是關(guān)閉的,它打開(kāi)后將自動(dòng)把用戶提交的sql語(yǔ)句的查詢進(jìn)行轉(zhuǎn)換,把'轉(zhuǎn)為\',這對(duì)防止sql注入有重 大作用。因此開(kāi)啟:magic_quotes_gpc=on;
8、控制錯(cuò)誤信息關(guān)閉錯(cuò)誤提示信息,將錯(cuò)誤信息寫(xiě)到系統(tǒng)日志。
9、使用mysqli或pdo預(yù)處理。
用PHP寫(xiě)出一個(gè)安全的用戶登錄系統(tǒng)需要注意哪些方面。
答:
1、密碼要使用MD5(密碼+字符串)進(jìn)行加 密。
2、登錄表單的名稱不要跟數(shù)據(jù)庫(kù)字段一樣,以免暴漏表字段。
3、用戶表的表名、字段名、密碼盡量用不容易被猜到的。
4、要使用驗(yàn)證碼驗(yàn)證登陸,以防止 暴力破解。
5、驗(yàn)證提交的數(shù)據(jù)是不是來(lái)自本網(wǎng)站。
6、登錄后臺(tái)處理代碼數(shù)據(jù)庫(kù)部分使用預(yù)處理,做好過(guò)濾,防止sql注入。
使用過(guò)哪些PHP框架。試 描述其優(yōu)劣點(diǎn)。
答:
1、BroPHP框架:優(yōu)點(diǎn):輕量級(jí)學(xué)習(xí)型框架,配置簡(jiǎn)單,操作簡(jiǎn)單,容易上手,提供了比較全面的文檔。缺點(diǎn):
2、ThinkPHP框 架:優(yōu)點(diǎn):功能比較全面,配置相對(duì)比較簡(jiǎn)單,操作相對(duì)比較簡(jiǎn)單,有很多使用示例程序。缺點(diǎn):提供的操作方法太多,新手不知如何選擇,文檔不夠全面。
用過(guò)哪些版本控制工具?
答:使用過(guò)SVN版本控制器。
輸出為Mozilla/4.0(compatible;MSIE5.01;Window NT 5.0)時(shí),可能的輸出語(yǔ)句是:B
A.$_SERVER['HTTP_USER_AGENT_TYPE'];
B. $_SERVER['HTTP_USER_AGENT'];
C. $_SERVER['USER_AGENT'];
D. $_SERVER['AGENT'];
下面功能PHP無(wú)法實(shí)現(xiàn)的是:D
A. 服務(wù)器端腳本運(yùn)行
B. 命令行腳本運(yùn)行
C. 客戶端圖形界面(GUI)程序
D. 瀏覽器端執(zhí)行DOM操作
下面說(shuō)法不正確的是:C
A. PHP有四種標(biāo)量類(lèi)型:布爾型(boolean),整型(integer),浮點(diǎn)型(float),字符串(string)
B. 浮點(diǎn)型(float)與雙精度型(double)是同一種類(lèi)型
C. 符合類(lèi)型包括:數(shù)組(array),對(duì)象(object),資源(resource)
D. 偽類(lèi)型:混合型(mixed),數(shù)字型(number),回調(diào)(callback)
下面不是PHP語(yǔ)法的組成部分的函數(shù)是:AD
A. array B. eval C. each D. list
執(zhí)行下面的代碼的結(jié)果是什么?A
A. boolean
B. boolean0
C. booleanFALSE
D. booleanfalse
SESSION與 COOKIE的區(qū)別是什么,請(qǐng)從協(xié)議,產(chǎn)生的原因與作用說(shuō)明?
答:
1、http無(wú)狀態(tài)協(xié)議,不能區(qū)分用戶是否是從同一個(gè)網(wǎng)站上來(lái)的,同一個(gè)用戶請(qǐng)求不同的 頁(yè)面不能看做是同一個(gè)用戶。
2、SESSION保存在服務(wù)器端,COOKIE保存在客戶端,SESSION依賴COOKIE進(jìn)行傳輸,如果COOKIE被 禁用了,SESSION將不能繼續(xù)使用。
HTTP狀態(tài)中302、403、 500代碼含義?
答:
300重定向、403服務(wù)器拒絕訪問(wèn)、500服務(wù)器內(nèi)部錯(cuò)誤。
Linux 下建立壓縮包,解壓縮包的命令。
答:
1、壓縮:gzip 、tar -cvfz、zip、bzip22、解壓:gunzip、tar -zxvf、unzip、bunzip2
$a=3;$b=4; if($a||$b=5){ ||或和|的區(qū)別 echo 'todo'; } $b的值是(a):
A a. 4; b. 5; c. 3; d. false
什么是面向?qū)ο?主要特征是什么?
答:
1、面向?qū)ο笫浅绦虻囊环N設(shè)計(jì)方式,它利于提高程序的重用性,是程序結(jié)構(gòu)更加清晰。
2、主要特征:封裝、繼承、多態(tài)。
更多相關(guān)文章推薦:
10.2017年P(guān)HP面試題之HTTP狀態(tài)碼出現(xiàn)問(wèn)題
【常見(jiàn)的PHP中級(jí)程序員面試題】相關(guān)文章:
PHP中級(jí)程序員常見(jiàn)面試題有哪些06-01
php程序員面試題10-13
PHP常見(jiàn)面試題及答案10-09
PHP常見(jiàn)面試題及解析08-14
PHP程序員常見(jiàn)的40個(gè)陋習(xí)08-15
php面試題10-26
最新PHP面試題05-27
精選php面試題及答案06-01
PHP面試題集10-13