PHP基礎面試題整理

來源:互聯網
上載者:User
作為一名php工程師在面試的時候必定會接觸一些面試題,本文主要和大家分享一些PHP基礎面試題整理,希望能協助到大家。

  1. 雙引號單引號區別

  • 雙引號解釋變數,單引號不解釋變數

  • 雙引號裡插入單引號,其中單引號裡如果有變數的話,變數解釋

  • 雙引號的變數名後面必須要有一個非數字、字母、底線的特殊字元,或者用{}講變數括起來,否則會將變數名後面的部分當做一個整體,引起語法錯誤

  • 能使單引號字元盡量使用單引號,單引號的效率比雙引號要高

GET和POST提交方式的區別

  • GET產生一個TCP資料包;POST產生兩個TCP資料包;
    對於GET方式的請求,瀏覽器會把http header和data一併發送出去,伺服器響應200(返回資料)
    對於POST,瀏覽器先發送header,伺服器響應100 continue,瀏覽器再發送data,伺服器響應200 ok(返回資料)。

  • GET在瀏覽器回退時是無害的,而POST會再次提交請求

  • GET請求會被瀏覽器主動cache,而POST不會,除非手動設定

  • GET請求參數會被完整保留在瀏覽器記錄裡,而POST中的參數不會被保留

  • GET請求只能進行url編碼,而POST支援多種編碼方式

  • GET比POST更不安全,因為參數直接暴露在URL上,所以不能用來傳遞敏感資訊

如何擷取用戶端的真實ip
$_SERVER['REMOTE_ADDR']或getenv('REMOTE_ADDR')

include和require的區別
require是無條件包含,也就是如果一個流程裡加入require,無論條件成立與否都會先執行require,當檔案不存在或者無法開啟的時候,會提示錯誤,並且會終止程式執行
include有傳回值,而require沒有(可能因為如此require的速度比include快),如果被包含的檔案不存在的化,那麼會提示一個錯誤,但是程式會繼續執行下去

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

AJAX的優勢是什麼
ajax是非同步傳輸技術,可以通過javascript實現,也可以通過JQuery架構實現,實現局部重新整理,減輕了伺服器的壓力,也提高了使用者體驗

在程式的開發中,如何提高程式的運行效率

  • 最佳化SQL語句,查詢語句中盡量不使用select *,用哪個欄位查哪個欄位;

  • 少用子查詢可用表串連代替;

  • 少用模糊查詢;

  • 資料表中建立索引;

  • 對程式中經常用到的資料產生緩衝;

SESSION與COOKIE的區別

  • 儲存位置:session儲存在伺服器,cookie儲存在瀏覽器

  • 安全性:session安全性高於cookie

isset和empty的區別

  • isset()函數 一般用來檢測變數是否設定
    若變數不存在則返回 FALSE
    若變數存在且其值為NULL,也返回 FALSE
    若變數存在且值不為NULL,則返回 TURE

  • empty()函數是檢查變數是否為空白
    若變數不存在則返回 TRUE
    若變數存在且其值為""、0、"0"、NULL、、FALSE、array()、var $var; 以及沒有任何屬性的對象,則返回 TURE
    若變數存在且值不為""、0、"0"、NULL、、FALSE、array()、var $var; 以及沒有任何屬性的對象,則返回 FALSE

資料庫三範式

  • 第一範式:1NF是對屬性的原子性約束,要求屬性具有原子性,不可再分解;

  • 第二範式:2NF是對記錄的惟一性約束,要求記錄有惟一標識,即實體的惟一性;

  • 第三範式:3NF是對欄位冗餘性的約束,即任何欄位不能由其他欄位派生出來,它要求欄位沒有冗餘。

主鍵、外鍵和索引的區別

  • 定義
    主鍵--唯一標識一條記錄,不能有重複的,不允許為空白
    外鍵--表的外鍵是另一表的主鍵, 外鍵可以有重複的, 可以是空值
    索引--該欄位沒有重複值,但可以有一個空值

  • 作用
    主鍵--用來保證資料完整性
    外鍵--用來和其他表建立聯絡用的
    索引--是提高查詢排序的速度

  • 個數
    主鍵--主鍵只能有一個
    外鍵--一個表可以有多個外鍵
    索引--一個表可以有多個唯一索引

堆和棧的區別
棧是編譯期間就分配好的記憶體空間,因此你的代碼中必須就棧的大小有明確的定義;
堆是程式運行期間動態分配的記憶體空間,你可以根據程式的運行情況確定要分配的堆記憶體的大小。

相關推薦:

HTML基礎面試題匯總

php面試題 PHP基礎面試題

幾道php基礎面試題_PHP教程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.