久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當前位置:首頁>職場>php常見面試題及答案(PHP面試經常被問到的知識點匯總)

php常見面試題及答案(PHP面試經常被問到的知識點匯總)

發布時間:2024-01-19閱讀(18)

導讀這些是PHP面試經常被問到的知識點做匯總。僅是針對性指出知識點,相應的還需自己查找相關資料系統學習。我希望各位能不僅僅了解是什么,還要了解為什么,以及背后的....

這些是PHP面試經常被問到的知識點做匯總。僅是針對性指出知識點,相應的還需自己查找相關資料系統學習。我希望各位能不僅僅了解是什么,還要了解為什么,以及背后的原理。

如果你現在處于以下幾種狀態,本資料非常適合你:

  • 準備換工作,不知道從哪開始準備
  • 技術遇到瓶頸,不知道該學什么
  • 準備學 PHP,但不知道領域有多深
基礎篇
  • 了解大部分數組處理函數
  • 字符串處理函數 區別 mb_ 系列函數
  • & 引用,結合案例分析
  • == 與 === 區別
  • isset 與 empty 區別
  • 全部魔術函數理解
  • static、$this、self 區別
  • private、protected、public、final 區別
  • OOP 思想
  • 抽象類、接口 分別使用場景
  • Trait 是什么東西
  • echo、print、print_r 區別(區分出表達式與語句的區別)
  • __construct 與 __destruct 區別
  • static 作用(區分類與函數內)手冊 、SOF
  • __toString() 作用
  • 單引號與雙引號"區別
  • 常見 HTTP 狀態碼,分別代表什么含義
  • 301 什么意思 404 呢?

php常見面試題及答案(PHP面試經常被問到的知識點匯總)(1)

進階篇
  • Autoload、Composer 原理 PSR-4 、原理
  • Session 共享、存活時間
  • 異常處理
  • 如何 foreach 迭代對象
  • 如何數組化操作對象 $obj[key];
  • 如何函數化對象 $obj(123);
  • yield 是什么,說個使用場景 yield
  • PSR 是什么,PSR-1, 2, 4, 7
  • 如何獲取客戶端 IP 和服務端 IP 地址
    • 客戶端 IP
    • 服務端 IP
    • 了解代理透傳 實際IP 的概念
  • 如何開啟 PHP 異常提示
    • php.ini 開啟 display_errors 設置 error_reporting 等級
    • 運行時,使用 ini_set(k, v); 動態設置
  • 如何返回一個301重定向
    • [WARNING] 一定當心設置 301 后腳本會繼續執行,不要認為下面不會執行,必要時使用 die or exit
  • 如何獲取擴展安裝路徑
    • phpinfo(); 頁面查找 extension_dir
    • 命令行 php -i |grep extension_dir
    • 運行時 echo ini_get(extension_dir);
  • 字符串、數字比較大小的原理,注意 0 開頭的8進制、0x 開頭16進制
    • 字符串比較大小,從左(高位)至右,逐個字符 ASCII 比較
  • BOM 頭是什么,怎么除去
    • 0xEF,0xBB,0xBF
    • 檢測、去除
  • 什么是 MVC
  • 依賴注入實現原理
  • 如何異步執行命令
  • 模板引擎是什么,解決什么問題、實現原理(Smarty、Twig、Blade)
  • 如何實現鏈式操作 $obj->w()->m()->d();
  • Xhprof 、Xdebug 性能調試工具使用
  • 索引數組 [1, 2] 與關聯數組 [k1=>1, k2=>2] 有什么區別
  • 緩存的使用方式、場景
實踐篇
  • 給定二維數組,根據某個字段排序
  • 如何判斷上傳文件類型,如:僅允許 jpg 上傳
  • 不使用臨時變量交換兩個變量的值 $a=1; $b=2; => $a=2; $b=1;
  • strtoupper 在轉換中文時存在亂碼,你如何解決?php echo strtoupper(ab你好c);
  • Websocket、Long-Polling、Server-Sent Events(SSE) 區別
  • "Headers already sent" 錯誤是什么意思,如何避免
算法篇
  • 快速排序(手寫)
  • 冒泡排序(手寫)
  • 二分查找(了解)
  • 查找算法 KMP(了解)
  • 深度、廣度優先搜索(了解)
  • LRU 緩存淘汰算法(了解,Memcached 采用該算法)
數據結構篇(了解)
  • 堆、棧特性
  • 隊列
  • 哈希表
  • 鏈表
對比篇
  • Cookie 與 Session 區別
  • GET 與 POST 區別
  • include 與 require 區別
  • include_once 與 require_once 區別
  • Memcached 與 Redis 區別
  • MySQL 各個存儲引擎、及區別(一定會問 MyISAM 與 Innodb 區別)
  • HTTP 與 HTTPS 區別
  • Apache 與 Nginx 區別
  • define() 與 const 區別
  • traits 與 interfaces 區別 及 traits 解決了什么痛點?
  • Git 與 SVN 區別
數據庫篇
  • MySQL
    • 索引、聯合索引(命中條件)
    • 分庫分表(水平分表、垂直分表)
    • 分區
    • 會使用 explain 分析 SQL 性能問題,了解各參數含義
    • Slow Log(有什么用,什么時候需要)
    • 重點理解 type、rows、key
    • CRUD
    • JOIN、LEFT JOIN 、RIGHT JOIN、INNER JOIN
    • UNION
    • GROUP BY COUNT WHERE 組合案例
    • 常用 MySQL 函數,如:now()、md5()、concat()、uuid()等
    • 1:1、1:n、n:n 各自適用場景
    • 了解觸發器是什么,說個使用場景
    • 數據庫優化手段
  • MSSQL(了解)
    • 查詢最新5條數據
  • NOSQL
    • 持久化
    • 支持多種數據類型
    • 可利用 CPU 多核心
    • 內存淘汰機制
    • 集群 Cluster
    • 支持 SQL
    • 性能對比
    • 支持事務
    • 應用場景
    • Redis、Memcached、MongoDB
    • 對比、適用場景(可從以下維度進行對比)
    • 你之前為了解決什么問題使用的什么,為什么選它?
服務器篇
  • 查看 CPU、內存、時間、系統版本等信息
  • find 、grep 查找文件
  • awk 處理文本
  • 查看命令所在目錄
  • 自己編譯過 PHP 嗎?如何打開 readline 功能
  • 如何查看 PHP 進程的內存、CPU 占用
  • 如何給 PHP 增加一個擴展
  • 修改 PHP Session 存儲位置、修改 INI 配置參數
  • 負載均衡有哪幾種,挑一種你熟悉的說明其原理
  • 數據庫主從復制 M-S 是怎么同步的?是推還是拉?會不會不同步?怎么辦
  • 如何保障數據的可用性,即使被刪庫了也能恢復到分鐘級別。你會怎么做。
  • 數據庫連接過多,超過最大值,如何優化架構。從哪些方便處理?
  • 502 大概什么什么原因?如何排查 504呢?
架構篇
  • 偏運維(了解):
    • 負載均衡(Nginx、HAProxy、DNS)
    • 主從復制(MySQL、Redis)
    • 數據冗余、備份(MySQL增量、全量 原理)
    • 監控檢查(分存活、服務可用兩個維度)
    • MySQL、Redis、Memcached Proxy 、Cluster 目的、原理
    • 分片
    • 高可用集群
    • RAID
    • 源代碼編譯、內存調優
  • 緩存
    • 工作中遇到哪里需要緩存,分別簡述為什么
  • 搜索解決方案
  • 性能調優
  • 各維度監控方案
  • 日志收集集中處理方案
  • 國際化
  • 數據庫設計
  • 靜態化方案
  • 畫出常見 PHP 應用架構圖
框架篇
  • ThinkPHP(TP)、CodeIgniter(CI)、Zend(非 OOP 系列)
  • Yaf、Phalcon(C 擴展系)
  • Yii、Laravel、Symfony(純 OOP 系列)
  • Swoole、Workerman (網絡編程框架)
  • 對比框架區別幾個方向點
    • 是否純 OOP
    • 類庫加載方式(自己寫 autoload 對比 composer 標準)
    • 易用性方向(CI 基礎框架,Laravel 這種就是高開發效率框架以及基礎組件多少)
    • 黑盒(相比 C 擴展系)
    • 運行速度(如:Laravel 加載一大堆東西)
    • 內存占用
設計模式
  • 單例模式(重點)
  • 工廠模式(重點)
  • 觀察者模式(重點)
  • 依賴注入(重點)
  • 裝飾器模式
  • 代理模式
  • 組合模式
安全篇
  • SQL 注入
  • XSS 與 CSRF
  • 輸入過濾
  • Cookie 安全
  • 禁用 mysql_ 系函數
  • 數據庫存儲用戶密碼時,應該是怎么做才安全
  • 驗證碼 Session 問題
  • 安全的 Session ID (讓即使攔截后,也無法模擬使用)
  • 目錄權限安全
  • 包含本地與遠程文件
  • 文件上傳 PHP 腳本
  • eval 函數執行腳本
  • disable_functions 關閉高危函數
  • FPM 獨立用戶與組,給每個目錄特定權限
  • 了解 Hash 與 Encrypt 區別
高階篇
  • PHP 數組底層實現 (HashTable Linked list)
  • Copy on write 原理,何時 GC
  • PHP 進程模型,進程通訊方式,進程線程區別
  • yield 核心原理是什么
  • PDO prepare 原理
  • PHP 7 與 PHP 5 有什么區別
  • Swoole 適用場景,協程實現方式
前端篇
  • 原生獲取 DOM 節點,屬性
  • 盒子模型
  • CSS 文件、style 標簽、行內 style 屬性優先級
  • HTML 與 JS 運行順序(頁面 JS 從上到下)
  • JS 數組操作
  • 類型判斷
  • this 作用域
  • .map() 與 this 具體使用場景分析
  • Cookie 讀寫
  • JQuery 操作
  • Ajax 請求(同步、異步區別)隨機數禁止緩存
  • Bootstrap 有什么好處
  • 跨域請求 N 種解決方案
  • 新技術(了解)
    • ES6
    • 模塊化
    • 打包
    • 構建工具
    • vue、react、webpack、
    • 前端 mvc
  • 優化
    • 瀏覽器單域名并發數限制
    • 靜態資源緩存 304 (If-Modified-Since 以及 Etag 原理)
    • 多個小圖標合并使用 position 定位技術 減少請求
    • 靜態資源合為單次請求 并壓縮
    • CDN
    • 靜態資源延遲加載技術、預加載技術
    • keep-alive
    • CSS 在頭部,JS 在尾部的優化(原理)
網絡篇
  • IP 地址轉 INT
  • 192.168.0.1/16 是什么意思
  • DNS 主要作用是什么?
  • IPv4 與 v6 區別
網絡編程篇
  • TCP 三次握手流程
  • TCP、UDP 區別,分別適用場景
  • 有什么辦法能保證 UDP 高可用性(了解)
  • TCP 粘包如何解決?
  • 為什么需要心跳?
  • 什么是長連接?
  • HTTPS 是怎么保證安全的?
  • 流與數據報的區別
  • 進程間通信的幾種方式,最快的是哪種?
  • fork() 會發生什么?
API 篇
  • RESTful 是什么
  • 如何在不支持 DELETE 請求的瀏覽器上兼容 DELETE 請求
  • 常見 API 的 APP_ID APP_SECRET 主要作用是什么?闡述下流程
  • API 請求如何保證數據不被篡改?
  • JSON 和 JSONP 的區別
  • 數據加密和驗簽的區別
  • RSA 是什么
  • API 版本兼容怎么處理
  • 限流(木桶、令牌桶)
  • OAuth 2 主要用在哪些場景下
  • JWT
  • PHP 中 json_encode([key=>123]); 與 return json_encode([]); 區別,會產生什么問題?如何解決

以上是本文的全部內容,希望對你的學習有幫助,也感謝你對PHP自學中心的支持

TAGS標簽:  常見面  見面  試題  答案  面試

歡迎分享轉載→http://www.avcorse.com/read-33044.html

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖