无码人妻一区二区三区免费不卡_日韩AV无码综合久久五月_国产成人aⅴ片在线观看_欧美成人片高清在线观看

蜜蜂職場(chǎng)文庫(kù) > 面試技巧 >

php面試題目_php面試題及答案

時(shí)間: 小龍 面試技巧

  PHP程序員在求職面試中,提前做好面試準(zhǔn)備很有必要,那么你了解面試題目了嗎?下面小編已經(jīng)為你們整理了php面試題目,一起來看看吧。

  php面試題目一

  1.表單中 get與post提交方法的區(qū)別?

  答:get是發(fā)送請(qǐng)求HTTP協(xié)議通過url參數(shù)傳遞進(jìn)行接收,而post是實(shí)體數(shù)據(jù),可以通過表單提交大量信息.

  2.session與cookie的區(qū)別?

  答:session:儲(chǔ)存用戶訪問的全局唯一變量,存儲(chǔ)在服務(wù)器上的PHP指定的目錄中的(session_dir)的位置進(jìn)行的存放

  cookie:用來存儲(chǔ)連續(xù)訪問一個(gè)頁(yè)面時(shí)所使用,是存儲(chǔ)在客戶端,對(duì)于Cookie來說是存儲(chǔ)在用戶WIN的Temp目錄中的。

  兩者都可通過時(shí)間來設(shè)置時(shí)間長(zhǎng)短

  3.數(shù)據(jù)庫(kù)中的事務(wù)是什么?

  答:事務(wù)(transaction)是作為一個(gè)單元的一組有序的數(shù)據(jù)庫(kù)操作。如果組中的所有操作都成功,則認(rèn)為事務(wù)成功,即使只有一個(gè)操作失敗,事務(wù)也不成功。如果所有操作完成,

  事務(wù)則提交,其修改將作用于所有其他數(shù)據(jù)庫(kù)進(jìn)程。如果一個(gè)操作失敗,則事務(wù)將回滾,該事務(wù)所有操作的影響都將取消。

  4、談?wù)剬?duì)mvc的認(rèn)識(shí)

  答:由模型(model),視圖(view),控制器(controller)完成的應(yīng)用程序

  由模型發(fā)出要實(shí)現(xiàn)的功能到控制器,控制器接收組織功能傳遞給視圖;

  5、寫出發(fā)貼數(shù)最多的十個(gè)人名字的SQL,利用下表:members(id,username,posts,pass,email)

  答:SELECT * FROM `members` ORDER BY posts DESC limit 0,10;

  6. 請(qǐng)說明php中傳值與傳引用的區(qū)別。什么時(shí)候傳值什么時(shí)候傳引用?

  答:按值傳遞:函數(shù)范圍內(nèi)對(duì)值的任何改變?cè)诤瘮?shù)外部都會(huì)被忽略

  按引用傳遞:函數(shù)范圍內(nèi)對(duì)值的任何改變?cè)诤瘮?shù)外部也能反映出這些修改

  優(yōu)缺點(diǎn):按值傳遞時(shí),php必須復(fù)制值。特別是對(duì)于大型的字符串和對(duì)象來說,這將會(huì)是一個(gè)代價(jià)很大的操作。

  按引用傳遞則不需要復(fù)制值,對(duì)于性能提高很有好處。

  7. 在PHP中error_reporting這個(gè)函數(shù)有什么作用?

  答:設(shè)置錯(cuò)誤級(jí)別與錯(cuò)誤信息回報(bào)

  php面試題目二

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

  答:用過,smarty

  2、請(qǐng)簡(jiǎn)單闡述您最得意的開發(fā)之作

  答:信息分類

  3、對(duì)于大流量的網(wǎng)站,您采用什么樣的方法來解決訪問量問題?

  答:確認(rèn)服務(wù)器硬件是否足夠支持當(dāng)前的流量,數(shù)據(jù)庫(kù)讀寫分離,優(yōu)化數(shù)據(jù)表,

  程序功能規(guī)則,禁止外部的盜鏈,控制大文件的下載,使用不同主機(jī)分流主要流量

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

  答:require->require是無條件包含也就是如果一個(gè)流程里加入require,無論條件成立與否都會(huì)先執(zhí)行require

  include->include有返回值,而require沒有(可能因?yàn)槿绱藃equire的速度比include快)

  注意:包含文件不存在或者語(yǔ)法錯(cuò)誤的時(shí)候require是致命的,include不是

  5、如何聲明一個(gè)名為”myclass”的沒有方法和屬性的類?

  答:class myclass{ }

  6、如何實(shí)例化一個(gè)名為”myclass”的對(duì)象?

  答:new myclass()

  7、你如何訪問和設(shè)置一個(gè)類的屬性?

  答:$object = new myclass();

  $newstr = $object->test;

  $object->test = "info";

  8、mysql_fetch_row() 和mysql_fetch_array之間有什么區(qū)別?

  答:mysql_fetch_row是從結(jié)果集取出1行數(shù)組,作為枚舉

  mysql_fetch_array是從結(jié)果集取出一行數(shù)組作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,兩者兼得

  9、GD庫(kù)是做什么用的?

  答:gd庫(kù)提供了一系列用來處理圖片的API,使用GD庫(kù)可以處理圖片,或者生成圖片。

  在網(wǎng)站上GD庫(kù)通常用來生成縮略圖或者用來對(duì)圖片加水印或者對(duì)網(wǎng)站數(shù)據(jù)生成報(bào)表。

  php面試題目三

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

  答:echo date('Y-m-d H:i:s', strtotime('-1 days'));

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

  答:echo是PHP語(yǔ)句, print和print_r是函數(shù),語(yǔ)句沒有返回值,函數(shù)可以有返回值(即便沒有用)

  print() 只能打印出簡(jiǎn)單類型變量的值(如int,string)

  print_r() 可以打印出復(fù)雜類型變量的值(如數(shù)組,對(duì)象)

  echo 輸出一個(gè)或者多個(gè)字符串

  3、能夠使HTML和PHP分離開使用的模板

  答:Smarty,Dwoo,TinyButStrong,Template Lite,Savant,phemplate,XTemplate

  4、使用哪些工具進(jìn)行版本控制?

  答:cvs,svn,vss;

  5、如何實(shí)現(xiàn)字符串翻轉(zhuǎn)?

  答:echo strrev($a);

  6、優(yōu)化MySQL數(shù)據(jù)庫(kù)的方法。

  答:

  1、選取最適用的字段屬性,盡可能減少定義字段長(zhǎng)度,盡量把字段設(shè)置NOT NULL,例如'省份,性別',最好設(shè)置為ENUM

  2、使用連接(JOIN)來代替子查詢:

  a.刪除沒有任何訂單客戶:DELETE FROM customerinfo WHERE customerid NOT in(SELECT customerid FROM orderinfo)

  b.提取所有沒有訂單客戶:SELECT FROM customerinfo WHERE customerid NOT in(SELECT customerid FROM orderinfo)

  c.提高b的速度優(yōu)化:SELECT FROM customerinfo LEFT JOIN orderid customerinfo.customerid=orderinfo.customerid

  WHERE orderinfo.customerid IS NULL

  3、使用聯(lián)合(UNION)來代替手動(dòng)創(chuàng)建的臨時(shí)表

  a.創(chuàng)建臨時(shí)表:SELECT name FROM `nametest` UNION SELECT username FROM `nametest2`

  4、事務(wù)處理:

  a.保證數(shù)據(jù)完整性,例如添加和修改同時(shí),兩者成立則都執(zhí)行,一者失敗都失敗

  mysql_query("BEGIN");

  mysql_query("INSERT INTO customerinfo (name) VALUES ('$name1')";

  mysql_query("SELECT * FROM `orderinfo` where customerid=".$id");

  mysql_query("COMMIT");

  5、鎖定表,優(yōu)化事務(wù)處理:

  a.我們用一個(gè) SELECT 語(yǔ)句取出初始數(shù)據(jù),通過一些計(jì)算,用 UPDATE 語(yǔ)句將新值更新到表中。

  包含有 WRITE 關(guān)鍵字的 LOCK TABLE 語(yǔ)句可以保證在 UNLOCK TABLES 命令被執(zhí)行之前,

  不會(huì)有其它的訪問來對(duì) inventory 進(jìn)行插入、更新或者刪除的操作

  mysql_query("LOCK TABLE customerinfo READ, orderinfo WRITE");

  mysql_query("SELECT customerid FROM `customerinfo` where id=".$id);

  mysql_query("UPDATE `orderinfo` SET ordertitle='$title' where customerid=".$id);

  mysql_query("UNLOCK TABLES");

  
看了“php面試題目”

51278