絕知此事須躬行。
為何寫這篇文章。因為搜面試題搜到一篇# PHP高級工程師面試題
。看了看,有的會有的不會。想到自己也或多或少看過一些資料,故整理一下。
以下表中,資料列,列出的就夠了。大都足以回答上面的面試題中的問題。
技能 | 資料 | 思考 |
---|---|---|
php內核篇 | 《PHP7內核剖析》《PHP 7底層設計與源碼實現》《PHP 7底層設計與源碼實現》視頻 | 盡量看細點。php7較之php5怎么節省內存的。比如php7 zvalue中復雜類型的用指針操作,也就是存個指針。php7快在哪里,小到string用了柔性數組,大到ast吧。這些話是我面試后的反思。我當時只是回答結構體設計不同。 |
php框架篇 | 《深入 Laravel 核心 》《BAT資深工程師由淺入深分析Tp5&Tp6底層源碼》 | 自己用啥框架就找啥吧。 |
php安全篇 | 《PHP安全之道》 | |
設計模式篇 | 《大話設計模式》《Head First 設計模式》 | 可以結合框架看,這兩本趣味性讀物。你可以把書中代碼用php寫一遍。 |
mysql篇 | 《mysql實戰45講》 | 當然有的點不一定專欄有。比如問你B+樹幾層高。《MySQL技術內幕:InnoDB存儲引擎》書中有提到過。但不一定準。網上有人做實驗。但肯定不會差多少。不然慢死了。 |
redis篇 | 《Redis 5設計與源碼分析》《Redis深度歷險核心原理與應用實踐》貼近實戰,也給了很多思路 | |
網絡篇 | 《網絡編程實戰》若有時間可把書中的c代碼抄一遍《nginx核心100講》nginx把網絡知識應用淋漓盡致《趣談網絡協議》 | |
數據結構算法篇 | 《玩轉算法系列--玩轉數據結構更適合0算法基礎入門到進階(java版)》可用php碼一遍《算法與數據結構-綜合提升C++版(快速應對面試)》《玩轉算法面試 從真題到思維全面提升算法思維》《數據結構與算法之美》《算法面試通關40講》 | 劉宇波為什么我列三個課。一課認知數據結構。一課為刷題。另一課,跟java有重合內容。但里面的排序講的很好。快排四種寫法:遞歸、單路、雙路、三路。如果還想看關于數據結構的應用。拉勾上有《數據結構精講:從原理到實戰》,這里面有個時間輪的設計,面經里有人提到自己面試被問到。故我說下這個專欄。算法的資料,知識大都會重合。但是有的人講的易理解。比如劉宇波。 |
linux篇 | 《Linux性能優化實戰》 | |
架構篇 | 《從零開始學架構》《高并發系統設計40問》《從0開始學微服務》《Service Mesh實踐指南》《微服務架構核心20講》《后端技術面試38講》《分布式技術原理與算法解析》 | 不多列舉了,設計架構的資料,大都有同質化的東西。 |
golang篇 | 《Go語言學習筆記》有剖析內核的部分《Go并發編程實戰》《Go語言高級編程》《Go語言從入門到實戰》其中四講性能調優可看看 | 不一一列舉了。有的資料,基礎講的好,有的書網絡講的好,有的實戰講的好 |
中間件篇 | 《OpenResty從入門到實戰》《Kafka核心技術與實戰》 | 項目中過啥就看啥, ZooKeeper比如看《ZooKeeper實戰與源碼剖析》 。elasticsearch看過龍果學院《Elasticsearch頂尖高手系列-快速入門篇》覺得還可以,沒看完,當時也只是解決搜索慢的問題。 |
軟技能篇 | 《重構 改善既有代碼的設計》 | 就不列舉了。我不曉得面試會不問。想必有很多資料講敏捷、xx倍工作、DDD。我沒有過多關注過這些。極客專欄里面有些專欄,簡單的部分看過。也是怎么寫好代碼啥的。 |
特別關注 LNMPR學習筆記,好未來的技術合集(有針對swoole、golang、nginx等源碼的剖析)。