<dl id="vorq8"><menu id="vorq8"></menu></dl>

<sup id="vorq8"></sup>
<sup id="vorq8"></sup>
<sup id="vorq8"></sup>

<optgroup id="vorq8"><address id="vorq8"></address></optgroup>

    <sup id="vorq8"><menu id="vorq8"><small id="vorq8"></small></menu></sup>

    <div id="vorq8"><tr id="vorq8"><object id="vorq8"></object></tr></div>

    當前位置:  首頁  >  PHP教程  >  PHP面試題

    PHP中級程序員常見面試題(有參考答案)

    寫一個函數,盡可能高效的,從一個標準url里取出文件的擴展名例如:http://www.test.com.cn/abc/de/fg.php?id=1需要取出php或.php

    寫一個函數,盡可能高效的,從一個標準url里取出文件的擴展名例如: 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

    描述一下大流量高并發量網站的解決方案

    答: 1、確認服務器硬件是否足夠支持當前的流量。

    2、使用memcache緩存技術,將動態數據緩存到內存中,動態網頁直接調用這些文件,而不必在訪問數據庫。

    3、禁止外部的盜鏈。

    4、外部網站的圖片或者文件盜鏈往往會帶來大量的負載壓力,因此應該嚴格限制外部對自身圖片或者文件盜鏈,目前可以簡單的通過refer來控制盜 鏈,apache自己就可以通過配置來禁止盜鏈。

    5、控制大文件的下載。 大文件的下載會占用很大的流量,對于非SCSI硬盤來說會消耗,使得網站響應能力下降。

    6、使用不同的主機分流主要流量

    7、使用流量統計軟件。 在網站上安裝一個流量統計軟件,可以即時知道哪些地方耗費了大量流量,哪些頁面需要再進行優化。

    8、分庫分表。

    9、Sphinx全文索引引擎。

    如何設計或配置Mysql,才能達到高效使用的目的。

    答:

    1、數據庫設計方面,設計結構良好的數據庫,允許部分數據冗余。 選取最適用的字段屬性,盡可能把字段設置為NOTNULL,這樣在查詢的時候,數據庫不用去比較NULL值。

    2、系統架構設計方面,表散列,把海量數據散列到幾個不同的表里面,集群,數據庫查詢和寫入分開。 寫高效sql語句,以提高效率。使用連接(join)來代替子查詢使用聯合(union)來代替手動創建的臨時表所得皆必須,只從數據庫取必須的數據。必 要的時候用不同的存儲引擎,比如Innodb可以減少死鎖,HEAP可以提高一個數量級的查詢速度。

    使用事務使用外鍵使用索引24.如何進行防SQL注 入?

    答:

    1、過濾掉一些常見的數據庫操作關鍵字:select,insert,update,delete,and,等或者通過系統函 數:addslashes(需要被過濾的內容)來進行過濾。

    2、在PHP配置文件中Register_globals=off;設置為關閉狀態 //作用將注冊全局變量關閉。比如:接收POST表單的值使用$_POST['user'],如果將register_globals=on;直接使 用$user可以接收表單的值。

    3、SQL語句書寫的時候盡量不要省略小引號(tab鍵上面那個)和單引號

    4、提高數據庫命名技巧,對于一些重要的字段根據程序的特點命名,取不易被猜到的

    5、對于常用的方法加以封裝,避免直接暴漏SQL語句

    6、開啟PHP安全模式Safe_mode=on;

    7、打開magic_quotes_gpc來防止SQL注入 Magic_quotes_gpc=off;默認是關閉的,它打開后將自動把用戶提交的sql語句的查詢進行轉換,把'轉為\',這對防止sql注入有重 大作用。因此開啟:magic_quotes_gpc=on;

    8、控制錯誤信息關閉錯誤提示信息,將錯誤信息寫到系統日志。

    9、使用mysqli或pdo預處理。

    用PHP寫出一個安全的用戶登錄系統需要注意哪些方面。

    答:

    1、密碼要使用MD5(密碼+字符串)進行加 密。

    2、登錄表單的名稱不要跟數據庫字段一樣,以免暴漏表字段。

    3、用戶表的表名、字段名、密碼盡量用不容易被猜到的。

    4、要使用驗證碼驗證登陸,以防止 暴力破解。

    5、驗證提交的數據是不是來自本網站。

    6、登錄后臺處理代碼數據庫部分使用預處理,做好過濾,防止sql注入。

    使用過哪些PHP框架。試 描述其優劣點。

    答:

    1、BroPHP框架:優點:輕量級學習型框架,配置簡單,操作簡單,容易上手,提供了比較全面的文檔。缺點:

    2、ThinkPHP框 架:優點:功能比較全面,配置相對比較簡單,操作相對比較簡單,有很多使用示例程序。缺點:提供的操作方法太多,新手不知如何選擇,文檔不夠全面。

    用過哪些版本控制工具?

    答:使用過SVN版本控制器。

    輸出為Mozilla/4.0(compatible;MSIE5.01;Window NT 5.0)時,可能的輸出語句是:B

    A.$_SERVER['HTTP_USER_AGENT_TYPE'];

    B. $_SERVER['HTTP_USER_AGENT'];

    C. $_SERVER['USER_AGENT'];

    D. $_SERVER['AGENT'];

    下面功能PHP無法實現的是:D

    A. 服務器端腳本運行

    B. 命令行腳本運行

    C. 客戶端圖形界面(GUI)程序

    D. 瀏覽器端執行DOM操作

    下面說法不正確的是:C

    A. PHP有四種標量類型:布爾型(boolean),整型(integer),浮點型(float),字符串(string)

    B. 浮點型(float)與雙精度型(double)是同一種類型

    C. 符合類型包括:數組(array),對象(object),資源(resource)

    D. 偽類型:混合型(mixed),數字型(number),回調(callback)

    下面不是PHP語法的組成部分的函數是:AD

    A. array B. eval C. each D. list

    執行下面的代碼的結果是什么?A

    A. boolean

    B. boolean0

    C. booleanFALSE

    D. booleanfalse

    SESSION與 COOKIE的區別是什么,請從協議,產生的原因與作用說明?

    答:
    1、http無狀態協議,不能區分用戶是否是從同一個網站上來的,同一個用戶請求不同的 頁面不能看做是同一個用戶。

    2、SESSION保存在服務器端,COOKIE保存在客戶端,SESSION依賴COOKIE進行傳輸,如果COOKIE被 禁用了,SESSION將不能繼續使用。

    HTTP狀態中302、403、 500代碼含義?

    答:

    300重定向、403服務器拒絕訪問、500服務器內部錯誤。

    Linux 下建立壓縮包,解壓縮包的命令。

    答:
    1、壓縮:gzip 、tar cvfz、zip、bzip22、解壓:gunzip、tar zxvf、unzip、bunzip2
    $a=3;$b=4; if($a||$b=5){ ||或和|的區別 echo 'todo'; } $b的值是(a):
    A a. 4; b. 5; c. 3; d. false

    什么是面向對象?主要特征是什么?

    答:
    1、面向對象是程序的一種設計方式,它利于提高程序的重用性,是程序結構更加清晰。
    2、主要特征:封裝、繼承、多態。

    吐了個 "CAO" !
    • 90后的中老年人   2018-04-28 09:40:36
      有個地方看不明白“”執行下面的代碼那題,代碼在哪?“”
    掃碼關注 PHP1 官方微信號
    PHP1.CN | 中國最專業的PHP中文社區 | PHP資訊 | PHP教程 | 數據庫技術 | 服務器技術 | 前端開發技術 | PHP框架 | 開發工具 | PHP問答
    Copyright ? 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社區 版權所有
         
    pc蛋蛋
    <dl id="vorq8"><menu id="vorq8"></menu></dl>

    <sup id="vorq8"></sup>
    <sup id="vorq8"></sup>
    <sup id="vorq8"></sup>

    <optgroup id="vorq8"><address id="vorq8"></address></optgroup>

      <sup id="vorq8"><menu id="vorq8"><small id="vorq8"></small></menu></sup>

      <div id="vorq8"><tr id="vorq8"><object id="vorq8"></object></tr></div>

      <dl id="vorq8"><menu id="vorq8"></menu></dl>

      <sup id="vorq8"></sup>
      <sup id="vorq8"></sup>
      <sup id="vorq8"></sup>

      <optgroup id="vorq8"><address id="vorq8"></address></optgroup>

        <sup id="vorq8"><menu id="vorq8"><small id="vorq8"></small></menu></sup>

        <div id="vorq8"><tr id="vorq8"><object id="vorq8"></object></tr></div>