• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. PHP程序員面試常見問題

        時間:2024-05-14 15:49:43 PHP 我要投稿
        • 相關推薦

        PHP程序員面試常見問題

          PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯后代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。下面yjbys小編為大家分享PHP程序員面試常見問題,希望對大家面試有幫助!

        PHP程序員面試常見問題

          1. Include 與 require的區別,require和require_once的效率哪個高?

          Php在遇到include時就解釋一次,如果頁面中出現10次include,php就解釋10次,而php遇到require時只解釋一次,即使頁面出現多次require也只解釋一次,因此require的執行表率比include高。

          Php使用require包含文件時將被包含的文件當成當前文件的一個組成部分,如果被包含的文件中有語法錯誤或者被包含的文件不存在,則php腳本將不再執行,并提示錯誤。

          Php使用include包含文件時相當于指定了這個文件的路徑,當被包含的文件有語法錯誤或者被包含的文件不存在時給出警告,不影響本身腳本的運行。

          Include在包含文件時可以判斷文件是否包含,而require則不管任何情況都包含進來。

          Require的效率比require_once的效率更高,因為require_once在包含文件時要進行判斷文件是否已經被包含。

          2. Cookie和session的區別,禁止了cookie后session能正常使用嗎?session的缺點是什么?session在服務器端是存在哪里的?是共有的還是私有的?

          COOKIE保存在客戶端,用戶通過手段可以進行修改,不安全,單個cookie允許的最大值是3k。而SESSION保存在服務器端,相對比較安全,大小沒有限制。禁用了cookie之session不能正常使用。

          Session的缺點:保存在服務器端,每次讀取都從服務器進行讀取,對服務器有資源消耗。

          Session保存在服務器端的文件或數據庫中,默認保存在文件中,文件路徑由php配置文件的session.save_path指定。

          Session文件是公有的。

          3. 怎么防止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預處理。

          4. 數據庫索引有幾類,分別是什么?什么時候該用索引

          普通索引、主鍵索引、唯一索引

          并非所有的數據庫都以相同的方式使用索引,作為通用規則,只有當經常查詢列中的數據時才需要在表上創建索引。

          5. 引用傳值和非引用傳值的區別,什么時候該用引用傳值?什么時候該用非引用傳值?

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

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

          按值傳遞時,php必須復制值,如果操作的是大型的對象和字符串,這將是一個代價很大的操作。按引用傳遞不需要復制值,因此對性能的提高有好處。

          當需要在函數內改變源變量的值時用引用傳遞,如果不想改變原變量的值用傳值。

          6. 寫幾個魔術方法并說明作用?

          __call()當調用不存在的方法時會自動調用的方法

          __autoload()在實例化一個尚未被定義的類是會自動調用次方法來加載類文件

          __set()當給未定義的變量賦值時會自動調用的方法

          __get()當獲取未定義變量的值時會自動調用的方法

          __construct()構造方法,實例化類時自動調用的方法

          __destroy()銷毀對象時自動調用的方法

          __unset()當對一個未定義變量調用unset()時自動調用的方法

          __isset()當對一個未定義變量調用isset()方法時自動調用的方法

          __clone()克隆一個對象

          __tostring()當輸出一個對象時自動調用的方法

          7. $_REQUEST、$_POST、$_GET、$_COOKIE、$_SESSION、$_FILE的意思是什么?

          它們都是PHP預定義變量。

          $_REQUEST用來獲取post或get方式提交的值

          $_POST用來獲取post方式提交的值

          $_GET用來獲取get方式提交的值

          $_COOKIE用來獲取cookie存儲的值

          $_SESSION用來獲取session存儲的值

          $_FILE用來獲取上傳文件表單的值

          8. 數組中下標最好是什么類型的,為什么?

          數組的下標最好是數字類型的,數字類型的處理速度快。

          9. ++i和i++哪一個效率高,為什么?

          ++i效率比i++的效率更高,因為++i少了一個返回i的過程。

          10.magic_quotes_gpc()、magic_quotes_runtime()的意思是什么?

          Magic_quotes_gpc()是php配置文件中的,如果設置為on則會自動POST,GET,COOKIE中的字符串進行轉義,在'之前加\

          Magic_quotes_runtime()是php中的函數,如果參數為true則會數據庫中取出來的單引號、雙引號、反斜線自動加上反斜杠進行轉義。

          11.Echo()、print()、print_r()的區別?

          Echo() 是PHP語法,可以輸出多個值,不能輸出數組。

          Print() 是php的語言結構,可以輸出單個簡單類型的變量值。

          Print_r() 是php函數,可以打印出復雜類型變量的值,如數組,對象。

          12.談談你對Mvc的認識

          MVC是一種設計模式,強制使輸入、處理、輸出分開,MVC的三個核心部分:M模型,V視圖,C控制器。

          視圖就是用戶看到并與之交互的界面。

          模型就是程序的數據業務規則。

          控制器接收用戶的數組調用模型和視圖去完成用戶需求。

          使用MVC的優點:低耦合、高重用性、較低的生命周期成本、快速開發部署、可維護性、可擴展性,有利于軟件工程化管理。

          MVC的缺點:沒有明確的定義,完全理解并不容易。小型項目不適合用MVC。

          13.框架中什么是單一入口和多入口,單一入口的優缺點

          多入口就是通過訪問不同的文件來完成用戶請求。

          單一入口只web程序所有的請求都指向一個腳本文件的。

          單一入口更容易控制權限,方便對http請求可以進行安全性檢查。

          缺點:URL看起來不那么美觀,特別是對搜索引擎來說不友好。

          14.打印一個用‘.’鏈接的字符串時候,還可以用什么代替‘.’鏈接效率更高些?

          可以用,代替.,效率更高。

          15.提示類型200、404、502是什么意思?

          200是請求成功,404是文件未找到,502是服務器內部錯誤。

          16.編寫一個自定義函數提取這段路徑的的后綴名。

          “Www/hello/test.php.html?a=3&b=4”

          Function geturltype($url){

          $info=parse_url($url);

          Return end(explode('.',$info['path']));

          }

          17.你對Memcach的理解,優點有哪些?

          Memcache是一種緩存技術,在一定的時間內將動態網頁經過解析之后保存到文件,下次訪問時動態網頁就直接調用這個文件,而不必在重新訪問數據庫。使用memcache做緩存的好處是:提高網站的訪問速度,減輕高并發時服務器的壓力。

          Memcache的優點:穩定、配置簡單、多機分布式存儲、速度快

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【PHP程序員面試常見問題】相關文章:

        關于php面試寶典及PHP面試技巧08-16

        PHP程序員的技術成長規劃范文08-10

        小升初英語面試常見問題08-15

        公司內審面試常見問題05-29

        文秘面試常見問題與答案09-12

        檢驗技師面試常見問題08-10

        精選php面試自我介紹范文14篇08-29

        行政助理面試常見問題11-16

        加拿大高中面試常見問題07-22

        考研英語面試常見問題及回答技巧06-29

        在线咨询
        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 色七七在线免费观看视频 | 亚洲精品欧美日韩 | 亚洲再在线观看中文字幕精品 | 制服丝袜国产一区二区 | 中文字幕日本亚洲欧美不卡 | 亚洲а∨天堂手机版在线观看 |

            PHP程序員面試常見問題

              PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯后代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。下面yjbys小編為大家分享PHP程序員面試常見問題,希望對大家面試有幫助!

            PHP程序員面試常見問題

              1. Include 與 require的區別,require和require_once的效率哪個高?

              Php在遇到include時就解釋一次,如果頁面中出現10次include,php就解釋10次,而php遇到require時只解釋一次,即使頁面出現多次require也只解釋一次,因此require的執行表率比include高。

              Php使用require包含文件時將被包含的文件當成當前文件的一個組成部分,如果被包含的文件中有語法錯誤或者被包含的文件不存在,則php腳本將不再執行,并提示錯誤。

              Php使用include包含文件時相當于指定了這個文件的路徑,當被包含的文件有語法錯誤或者被包含的文件不存在時給出警告,不影響本身腳本的運行。

              Include在包含文件時可以判斷文件是否包含,而require則不管任何情況都包含進來。

              Require的效率比require_once的效率更高,因為require_once在包含文件時要進行判斷文件是否已經被包含。

              2. Cookie和session的區別,禁止了cookie后session能正常使用嗎?session的缺點是什么?session在服務器端是存在哪里的?是共有的還是私有的?

              COOKIE保存在客戶端,用戶通過手段可以進行修改,不安全,單個cookie允許的最大值是3k。而SESSION保存在服務器端,相對比較安全,大小沒有限制。禁用了cookie之session不能正常使用。

              Session的缺點:保存在服務器端,每次讀取都從服務器進行讀取,對服務器有資源消耗。

              Session保存在服務器端的文件或數據庫中,默認保存在文件中,文件路徑由php配置文件的session.save_path指定。

              Session文件是公有的。

              3. 怎么防止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預處理。

              4. 數據庫索引有幾類,分別是什么?什么時候該用索引

              普通索引、主鍵索引、唯一索引

              并非所有的數據庫都以相同的方式使用索引,作為通用規則,只有當經常查詢列中的數據時才需要在表上創建索引。

              5. 引用傳值和非引用傳值的區別,什么時候該用引用傳值?什么時候該用非引用傳值?

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

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

              按值傳遞時,php必須復制值,如果操作的是大型的對象和字符串,這將是一個代價很大的操作。按引用傳遞不需要復制值,因此對性能的提高有好處。

              當需要在函數內改變源變量的值時用引用傳遞,如果不想改變原變量的值用傳值。

              6. 寫幾個魔術方法并說明作用?

              __call()當調用不存在的方法時會自動調用的方法

              __autoload()在實例化一個尚未被定義的類是會自動調用次方法來加載類文件

              __set()當給未定義的變量賦值時會自動調用的方法

              __get()當獲取未定義變量的值時會自動調用的方法

              __construct()構造方法,實例化類時自動調用的方法

              __destroy()銷毀對象時自動調用的方法

              __unset()當對一個未定義變量調用unset()時自動調用的方法

              __isset()當對一個未定義變量調用isset()方法時自動調用的方法

              __clone()克隆一個對象

              __tostring()當輸出一個對象時自動調用的方法

              7. $_REQUEST、$_POST、$_GET、$_COOKIE、$_SESSION、$_FILE的意思是什么?

              它們都是PHP預定義變量。

              $_REQUEST用來獲取post或get方式提交的值

              $_POST用來獲取post方式提交的值

              $_GET用來獲取get方式提交的值

              $_COOKIE用來獲取cookie存儲的值

              $_SESSION用來獲取session存儲的值

              $_FILE用來獲取上傳文件表單的值

              8. 數組中下標最好是什么類型的,為什么?

              數組的下標最好是數字類型的,數字類型的處理速度快。

              9. ++i和i++哪一個效率高,為什么?

              ++i效率比i++的效率更高,因為++i少了一個返回i的過程。

              10.magic_quotes_gpc()、magic_quotes_runtime()的意思是什么?

              Magic_quotes_gpc()是php配置文件中的,如果設置為on則會自動POST,GET,COOKIE中的字符串進行轉義,在'之前加\

              Magic_quotes_runtime()是php中的函數,如果參數為true則會數據庫中取出來的單引號、雙引號、反斜線自動加上反斜杠進行轉義。

              11.Echo()、print()、print_r()的區別?

              Echo() 是PHP語法,可以輸出多個值,不能輸出數組。

              Print() 是php的語言結構,可以輸出單個簡單類型的變量值。

              Print_r() 是php函數,可以打印出復雜類型變量的值,如數組,對象。

              12.談談你對Mvc的認識

              MVC是一種設計模式,強制使輸入、處理、輸出分開,MVC的三個核心部分:M模型,V視圖,C控制器。

              視圖就是用戶看到并與之交互的界面。

              模型就是程序的數據業務規則。

              控制器接收用戶的數組調用模型和視圖去完成用戶需求。

              使用MVC的優點:低耦合、高重用性、較低的生命周期成本、快速開發部署、可維護性、可擴展性,有利于軟件工程化管理。

              MVC的缺點:沒有明確的定義,完全理解并不容易。小型項目不適合用MVC。

              13.框架中什么是單一入口和多入口,單一入口的優缺點

              多入口就是通過訪問不同的文件來完成用戶請求。

              單一入口只web程序所有的請求都指向一個腳本文件的。

              單一入口更容易控制權限,方便對http請求可以進行安全性檢查。

              缺點:URL看起來不那么美觀,特別是對搜索引擎來說不友好。

              14.打印一個用‘.’鏈接的字符串時候,還可以用什么代替‘.’鏈接效率更高些?

              可以用,代替.,效率更高。

              15.提示類型200、404、502是什么意思?

              200是請求成功,404是文件未找到,502是服務器內部錯誤。

              16.編寫一個自定義函數提取這段路徑的的后綴名。

              “Www/hello/test.php.html?a=3&b=4”

              Function geturltype($url){

              $info=parse_url($url);

              Return end(explode('.',$info['path']));

              }

              17.你對Memcach的理解,優點有哪些?

              Memcache是一種緩存技術,在一定的時間內將動態網頁經過解析之后保存到文件,下次訪問時動態網頁就直接調用這個文件,而不必在重新訪問數據庫。使用memcache做緩存的好處是:提高網站的訪問速度,減輕高并發時服務器的壓力。

              Memcache的優點:穩定、配置簡單、多機分布式存儲、速度快