国产精品久久久久影院老司_亚洲福利在线视频_中国女警察一级毛片视频_亚洲一区在线免费视频_久久亚洲第一_狠狠干五月

蜜蜂職場文庫 > 面試試題 >

php初級程序員面試題目_php初級程序員面試題

時間: 小龍 面試試題

  對于PHP初級程序員來說,在面試中做好面試準備,了解面試題目很有必要,那么你了解面試題目了嗎?下面小編已經為你們整理了php初級程序員面試題目,希望可以幫到你。

  php初級程序員面試題目(一)

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

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

  答:用過,smarty

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

  答:信息分類

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

  答:確認服務器硬件是否足夠支持當前的流量,數據庫讀寫分離,優化數據表,

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

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

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

  include->include有返回值,而require沒有(可能因為如此require的速度比include快)

  注意:包含文件不存在或者語法錯誤的時候require是致命的,include不是

  6、foo()和@foo()之間有什么區別?(1分)

  答:@foo()控制錯誤輸出

  7、如何聲明一個名為”myclass”的沒有方法和屬性的類? (1分)

  答:class myclass{ }

  8、如何實例化一個名為”myclass”的對象?(1分)

  答:new myclass()

  9、你如何訪問和設置一個類的屬性? (2分)

  答:$object = new myclass();

  $newstr = $object->test;

  $object->test = "info";

  10、mysql_fetch_row() 和mysql_fetch_array之間有什么區別? (1分)

  答:mysql_fetch_row是從結果集取出1行數組,作為枚舉

  mysql_fetch_array是從結果集取出一行數組作為關聯數組,或數字數組,兩者兼得

  11、GD庫是做什么用的? (1分)

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

  在網站上GD庫通常用來生成縮略圖或者用來對圖片加水印或者對網站數據生成報表。

  php初級程序員面試題目(二)

  1、談談對mvc的認識(1分)

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

  由模型發出要實現的功能到控制器,控制器接收組織功能傳遞給視圖;

  2、寫出發貼數最多的十個人名字的SQL,利用下表:members(id,username,posts,pass,email)(2分)

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

  3、 請說明php中傳值與傳引用的區別。什么時候傳值什么時候傳引用?(2分)

  答:按值傳遞:函數范圍內對值的任何改變在函數外部都會被忽略

  按引用傳遞:函數范圍內對值的任何改變在函數外部也能反映出這些修改

  優缺點:按值傳遞時,php必須復制值。特別是對于大型的字符串和對象來說,這將會是一個代價很大的操作。

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

  4、 在PHP中error_reporting這個函數有什么作用? (1分)

  答:設置錯誤級別與錯誤信息回報

  5、 請寫一個函數驗證電子郵件的格式是否正確 (2分)

  答:function checkEmail($email)

  {

  $pregEmail = "/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_

  ]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i";

  return preg_match($pregEmail,$email);

  }

  6、 簡述如何得到當前執行腳本路徑,包括所得到參數。(2分)

  答:$script_name = basename(__file__); print_r($script_name);

  7、JS表單彈出對話框函數是?獲得輸入焦點函數是? (2分)

  答:彈出對話框: alert(),prompt(),confirm()

  獲得輸入焦點 focus()

  8、JS的轉向函數是?怎么引入一個外部JS文件?(2分)

  答:window.location.href,<script type="text/javascript" src="js/js_function.js"></script>

  php初級程序員面試題目(三)

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

  答:cvs,svn,vss;

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

  答:echo strrev($a);

  3、優化MYSQL數據庫的方法。(4分,多寫多得)

  答:

  1)、選取最適用的字段屬性,盡可能減少定義字段長度,盡量把字段設置NOT NULL,例如'省份,性別',最好設置為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的速度優化:SELECT FROM customerinfo LEFT JOIN orderid customerinfo.customerid=orderinfo.customerid

  WHERE orderinfo.customerid IS NULL

  3)、使用聯合(UNION)來代替手動創建的臨時表

  a.創建臨時表:SELECT name FROM `nametest` UNION SELECT username FROM `nametest2`

  4)、事務處理:

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

  mysql_query("BEGIN");

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

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

  mysql_query("COMMIT");

  5)、鎖定表,優化事務處理:

  a.我們用一個 SELECT 語句取出初始數據,通過一些計算,用 UPDATE 語句將新值更新到表中。

  包含有 WRITE 關鍵字的 LOCK TABLE 語句可以保證在 UNLOCK TABLES 命令被執行之前,

  不會有其它的訪問來對 inventory 進行插入、更新或者刪除的操作

  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");

  6)、使用外鍵,優化鎖定表

  a.把customerinfo里的customerid映射到orderinfo里的customerid,

  任何一條沒有合法的customerid的記錄不會寫到orderinfo里

  CREATE TABLE customerinfo

  (

  customerid INT NOT NULL,

  PRIMARY KEY(customerid)

  )TYPE = INNODB;

  CREATE TABLE orderinfo

  (

  orderid INT NOT NULL,

  customerid INT NOT NULL,

  PRIMARY KEY(customerid,orderid),

  FOREIGN KEY (customerid) REFERENCES customerinfo

  (customerid) ON DELETE CASCADE

  )TYPE = INNODB;

  注意:'ON DELETE CASCADE',該參數保證當customerinfo表中的一條記錄刪除的話同時也會刪除order

  表中的該用戶的所有記錄,注意使用外鍵要定義事務安全類型為INNODB;

  7)、建立索引:

  a.格式:

  (普通索引)->

  創建:CREATE INDEX <索引名> ON tablename (索引字段)

  修改:ALTER TABLE tablename ADD INDEX [索引名] (索引字段)

  創表指定索引:CREATE TABLE tablename([...],INDEX[索引名](索引字段))

  (唯一索引)->

  創建:CREATE UNIQUE <索引名> ON tablename (索引字段)

  修改:ALTER TABLE tablename ADD UNIQUE [索引名] (索引字段)

  創表指定索引:CREATE TABLE tablename([...],UNIQUE[索引名](索引字段))

  (主鍵)->

  它是唯一索引,一般在創建表是建立,格式為:

  CREATA TABLE tablename ([...],PRIMARY KEY[索引字段])

  8)、優化查詢語句

  a.最好在相同字段進行比較操作,在建立好的索引字段上盡量減少函數操作

  例子1:

  SELECT * FROM order WHERE YEAR(orderDate)<2008;(慢)

  SELECT * FROM order WHERE orderDate<"2008-01-01";(快)

  例子2:

  SELECT * FROM order WHERE addtime/7<24;(慢)

  SELECT * FROM order WHERE addtime<24*7;(快)

  例子3:

  SELECT * FROM order WHERE title like "%good%";

  SELECT * FROM order WHERE title>="good" and name<"good";

  4、PHP的意思(送1分)

  答:PHP是一個基于服務端來創建動態網站的腳本語言,您可以用PHP和HTML生成網站主頁

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

  答:now(),date()

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

  答:function GBsubstr($string, $start, $length) {

  if(strlen($str

  ing)>$length){

  $str=null;

  $len=$start+$length;

  for($i=$start;$i<$len;$i++){

  if(ord(substr($string,$i,1))>0xa0){

  $str.=substr($string,$i,2);

  $i++;

  }else{

  $str.=substr($string,$i,1);

  }

  }

  return $str.'...';

  }else{

  return $string;

  }

  }

  
看了“php初級程序員面試題目”

49566 主站蜘蛛池模板: 国产成人高潮免费观看精品 | 黄色影院在线看 | 成人午夜在线免费视频 | 亚洲资源在线 | 91在线色| 午夜久久视频 | 久久亚洲国产精品 | 香蕉国产片 | 久久免费视频7 | 天天色综合6 | 欧美激情在线播放 | 日韩av在线影院 | 精品国产91久久久久久 | 男人天堂免费 | 亚洲码无人客一区二区三区 | 中国av免费观看 | 久草在线视频网 | 国产乱淫av一区二区三区 | 在线a毛片免费视频观看 | 92看片淫黄大片一级 | 精品亚洲一区二区 | 免费日本一区二区 | 在线播放一级片 | 香蕉久久久 | 91麻豆精品国产91久久久无需广告 | 综合国产一区 | 色天使中文字幕 | 影视免费观看 | 亚洲看片网 | chinesexxxx刘婷hd 国产91在线播放九色 | 欧美日韩在线视频一区 | 欧美综合在线观看视频 | 亚洲视屏在线观看 | 青青青在线免费 | 99爱福利视频在线观看 | 1314av | 欧美久久一区 | 黄色片免费在线 | japanese末成年free| 大片毛片| 嗯~啊~弄嗯~啊h高潮视频 |