首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 面試題精選:從基礎語法到架構設計的 21 題完整解析

     編輯:PHP 綜合知識

前言

這份題庫涵蓋 PHP 核心語法、MySQL 優化、模板引擎、版本控制、高併發架構等面向,適合求職者查漏補缺,也可供面試官參考出題。建議「理解原理」而非「背誦答案」,實戰經驗才是核心競爭力。

基礎語法與核心函數(第 1-5 題)

  1. 印出前一天日期時間(格式 2006-5-10 22:21:21)
    echo date('Y-m-d H:i:s', strtotime('-1 day')); 或 date('Y-m-d H:i:s', time() - 86400);
  2. echo / print / print_r 差異
    • echo:語言結構,無返回值,可接多參數 echo 'a', 'b';,速度最快。
    • print:語言結構,固定返回 1,只能接單一參數。
    • print_r:函數,專為陣列/物件結構化輸出,第二參數 true 可返回字串而非直接輸出。
  3. HTML 與 PHP 分離的模板引擎
    Smarty、Blade (Laravel)、Twig、Plates、Volt 等。
  4. 版本控制工具
    Git(主流)、SVN、Mercurial。
  5. 字串反轉
    strrev($str);多位元組字串用 mb_strrev 或自寫 implode('', array_reverse(mb_str_split($str)))(PHP 7.4+)。

資料庫與效能優化(第 6-9 題)

  1. MySQL 優化方向(多寫多得)
    • 索引:覆蓋索引、避免 SELECT *、最左前綴原則。
    • 查詢:EXPLAIN 分析、避免檔案排序、善用 LIMIT。
    • 架構:讀寫分離、分庫分表、緩存(Redis/Memcached)、慢查詢日誌分析。
    • 設定:innodb_buffer_pool_size、query_cache(5.7 後移除)、連接池。
  2. PHP 全名
    PHP: Hypertext Preprocessor(遞迴縮寫)。
  3. MySQL 當前時間與格式化
    NOW() / CURRENT_TIMESTAMP 取得;DATE_FORMAT(date, '%Y-%m-%d %H:%i:%s') 格式化。
  4. 中文截取無亂碼
    mb_substr($str, 0, 10, 'UTF-8');或 mb_strimwidth 自動補省略號。

實務經驗與開放性題目(第 10-21 題)

  1. 用過哪些版本控制軟體? 答出工具名稱並簡述分支策略(Git Flow / Trunk Based)。
  2. 用過哪些模板引擎? 說明選型理由(語法偏好、框架整合、效能)。
  3. 最得意的開發作品 重點描述:業務複雜度、技術難點、解決方案、量化成果(QPS、延遲、轉換率)。
  4. 大流量網站應對方案
    CDN 靜態資源、Nginx 反向代理/負載均衡、Redis 熱點緩存、資料庫讀寫分離+分庫分表、消息佇列削峰填谷、服務無狀態化水平擴展、熔斷降級(Sentinel/Hystrix)。
  5. 取得 Client/Server IP
    Client:$_SERVER['REMOTE_ADDR'](注意代理下的 HTTP_X_FORWARDED_FOR);Server:$_SERVER['SERVER_ADDR']。
  6. include vs require
    失敗時:include 產生 Warning 繼續;require 產生 Fatal Error 中止。防重複包含用 include_once / require_once。
  7. 修改 Session 生存時間
    ini_set('session.gc_maxlifetime', 3600); 需在 session_start() 前;搭配 session_set_cookie_params() 設 Cookie 同步過期。
  8. 抓取遠端網頁內容
    file_get_contents('https://...')(需 allow_url_fopen=On);或 cURL 更靈活控制 Header/Timeout/POST。
  9. HTTP 1.0 狀態碼 401 與 404 Header
    401 = Unauthorized(需認證);404:header('HTTP/1.0 404 Not Found'); 或 header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');。
  10. Heredoc 結束標記規則
    頂行獨立、無縮進、分號可選、標記名稱需與起始一致(如 EOT)。
  11. ASP / PHP / JSP 優缺點
    ASP:Windows 綁定、生態衰退;PHP:部署簡單、生態豐富、非同步弱;JSP:企業級強、學習曲線陡、資源佔用高。
  12. MVC 認識
    Model(資料/業務邏輯)、View(呈現)、Controller(請求分發/協調)。核心:關注點分離、可測試、可維護。現代常見變體:MVVM、ADR、Clean Architecture。

面試加分建議

  • 遇到不會的題目,誠實說明並描述「如何查找解決」的思路。
  • 準備 1-2 個完整專案案例,能從架構圖講到具體程式碼細節。
  • 關注 PHP 8.x 新特性(JIT、Union Types、Attributes、match 表達式、Constructor Property Promotion)。

整理自經典 PHP 面試題庫,已補充現代最佳實踐與版本更新說明。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved