962
Php編程
PHPer之Laravel常見麵試題及答案
點擊播放
GIF/37K
由於個人技術水平有限,答案或許會有偏差,歡迎大家指正。
PHP模塊
PHP7 和 PHP5 的區別,具體多了哪些新特性?
性能提升了兩倍
結合比較運算符 ()
標量類型聲明
返回類型聲明
增加多條件判斷,更多 Error 錯誤可以進行異常處理
匿名類,現在支持通過new class 來實例化一個匿名類,這可以用來替代一些“用後即焚”的完整類定義
…… 了解更多文章底部有 PHP7 新特性鏈接
為什麼 PHP7 比 PHP5 性能提升了?
變量存儲字節減小,減少內存占用,提升變量操作速度
改善數組結構,數組元素和 hash 映射表被分配在同一塊內存裏,降低了內存占用、提升了 cpu 緩存命中率
改進了函數的調用機製,通過優化參數傳遞的環節,減少了一些指令,提高執行效率
laravel 模塊
服務提供者是什麼?
服務提供者是所有 Laravel 應用程序引導啟動的中心, Laravel 的核心服務器、注冊服務容器綁定、事件監聽、中間件、路由注冊以及我們的應用程序都是由服務提供者引導啟動的。
IoC 容器是什麼?
IoC(Inversion of Control)譯為 「控製反轉」,也被叫做「依賴注入」(DI)。什麼是「控製反轉」?對象 A 功能依賴於對象 B,但是控製權由對象 A 來控製,控製權被顛倒,所以叫做「控製反轉」,而「依賴注入」是實現 IoC 的方法,就是由 IoC 容器在運行期間,動態地將某種依賴關係注入到對象之中。
其作用簡單來講就是利用依賴關係注入的方式,把複雜的應用程序分解為互相合作的對象,從而降低解決問題的複雜度,實現應用程序代碼的低耦合、高擴展。
Laravel 中的服務容器是用於管理類的依賴和執行依賴注入的工具。
Facades 是什麼?
Facades(一種設計模式,通常翻譯為外觀模式)提供了一個"static"(靜態)接口去訪問注冊到 IoC 容器中的類。提供了簡單、易記的語法,而無需記住必須手動注入或配置的長長的類名。此外,由於對 PHP 動態方法的獨特用法,也使測試起來非常容易。
Contract 是什麼?
Contract(契約)是 laravel 定義框架提供的核心服務的接口。Contract 和 Facades 並沒有本質意義上的區別,其作用就是使接口低耦合、更簡單。
依賴注入的原理?
這個就不解釋了吧,這是理解 IoC 容器的前提。
什麼是 Composer, 工作原理是什麼?
Composer 是 PHP 的一個依賴管理工具。工作原理就是將已開發好的擴展包從 packagist.org composer 倉庫下載到我們的應用程序中,並聲明依賴關係和版本控製。
緩存#
Redis、Memecached 這兩者有什麼區別?
Redis 支持更加豐富的數據存儲類型,String、Hash、List、Set 和 Sorted Set。Memcached 僅支持簡單的 key-value 結構。
Memcached key-value存儲比 Redis 采用 hash 結構來做 key-value 存儲的內存利用率更高。
Redis 提供了事務的功能,可以保證一係列命令的原子性
Redis 支持數據的持久化,可以將內存中的數據保持在磁盤中
Redis 隻使用單核,而 Memcached 可以使用多核,所以平均每一個核上 Redis 在存儲小數據時比 Memcached 性能更高。
Redis 如何實現持久化?
RDB 持久化,將 redis 在內存中的的狀態保存到硬盤中,相當於備份數據庫狀態。
AOF 持久化(Append-Only-File),AOF 持久化是通過保存 Redis 服務器鎖執行的寫狀態來記錄數據庫的。相當於備份數據庫接收到的命令,所有被寫入 AOF 的命令都是以 redis 的協議格式來保存的。
數據庫#
什麼是索引,作用是什麼?常見索引類型有那些?Mysql 建立索引的原則?
索引是一種特殊的文件,它們包含著對數據表裏所有記錄的引用指針,相當於書本的目錄。其作用就是加快數據的檢索效率。常見索引類型有主鍵、唯一索引、複合索引、全文索引。
索引創建的原則
最左前綴原理
選擇區分度高的列作為索引
盡量的擴展索引,不要新建索引
高並發如何處理?
使用緩存
優化數據庫,提升數據庫使用效率
負載均衡
PHP 的設計模式就不多講了,但是 SOLID 設計原則是每一位 PHPer 都必須要掌握的。
其他問題
遺留又補充了一些 PHPer 的常見麵試題留給大神們解答。
分庫分表怎麼設計
如何處理 MySQL 死鎖?
談談你對閉包的理解
PHP 內存回收機製
如何解決 PHP 內存溢出問題
數據庫優化的方法
簡述 Laravel 的運行原理
Laravel 路由實現原理
cookie 和 session 區別,session 保存在服務器的哪裏?服務端是如何獲取客戶端的cookie?
服務器集群搭建、負載均衡、反向代理
服務器常用命令
PS: PHPer 麵試關注的技術實力僅僅隻是一部分,還有一部分會關注你的內驅力、思考力以及表達能力。其實關注最多的是你是否是妹子、還有你的顏值以及你是否單身!!!
答案放在了 GitHub 上,歡迎大家 Stat 和 PR.
傳送門:https://github.com/todayqq/caseInterviewQuestions
碼字不易,留下你的讚唄
最後更新:2017-10-09 00:22:44