php開發面試題---php高級程序員需要掌握的一些知識


php開發面試題---php高級程序員需要掌握的一些知識

一、總結

一句話總結:

還是需要多多接觸架構師的知識,比如這里說的微服務,還有需要php服務端的知識來解決web端的不足,比如Swoole

 

1、php如果web端不能滿足需求,比如性能不夠,比如phpexcel插件導入5000條數據就會造成數據溢出的問題,我們解決問題的考慮方式?

用php服務端:php cli

 

2、Swoole是什么?

PHP 異步網絡通信引擎:Swoole是一個面向生產環境的 PHP 異步網絡通信引擎,使 PHP 開發人員可以編寫高性能的異步並發 TCP、UDP、Unix Socket、HTTP,WebSocket 服務。

Swoole 可以廣泛應用於互聯網、移動通信、企業軟件、雲計算、網絡游戲、物聯網(IOT)、車聯網、智能家居等領域。 使用 PHP + Swoole 作為網絡通信框架,可以使企業 IT 研發團隊的效率大大提升。

 

3、Swoole應用場景?

移動互聯網API服務器
高性能Web服務
游戲服務器
在線聊天系統

 

4、Swoole特性?

事件驅動的異步編程模式
支持並發百萬TCP長連接
異步TCP/UDP/HTTP/WebSocket/HTTP2協議的服務器端/客戶端
支持異步/同步/協程
異步TCP/UDP/HTTP/WebSocket/HTTP2協議的服務器端/客戶端
支持IPv4/IPv6/UnixSocket/TCP/UDP
支持SSL/TLS隧道加密
支持並發百萬TCP長連接
支持毫秒定時器
支持異步/同步/協程
支持CPU親和性設置/守護進程

 

 

5、swoft協程框架是什么?

PHP 協程框架,可以用於構建高性能的Web系統、API、中間件、基礎服務

 

6、天貓商城,比如過年或者雙11,為什么網頁有些功能(比如鞋子)掛了,有些功能(比如電器)還可以正常使用?

因為不同的功能可能是放在不同的服務器上面的

 

7、consul是什么?

分布式架構中的服務治理,和ZooKeeper類似

在分布式架構中,服務治理是一個重要的問題。在沒有服務治理的分布式集群中,各個服務之間通過手工或者配置的方式進行服務關系管理,遇到服務關系變化或者增加服務的時候,人肉配置極其麻煩且容易出錯。之前在一個C/C++項目中,采用ZooKeeper進行服務治理,可以很好的維護服務之間的關系,但是使用起來較為麻煩。現在越來越多新的項目采用consul進行服務治理,各方面的評價都優於ZooKeeper,經過幾天的研究,這里做一個總結。

 

8、比如新聞網站一天1000萬訪問,最好的優化方式是什么?

直接頁面靜態化就好,因為交互少,沒有必要微服務化

 

9、微服務化的適用場景是什么?

動態通訊的功能比較多

 

10、微服務化是什么?

微服務是一種架構風格,這種架構風格具有一些特點:①獨立進程;②輕量級通信機制;③圍繞業務能力進行構建;④由一組小的服務組成

 

 

11、互聯網架構為什么要做微服務化?

高並發訪問

 

12、微服務架構多“微”才合適?

以“子業務系統”粒度作為微服務的單位是比較合適的
粒度粗細的優劣
上文中談到的服務化與微服務,不同粒度的服務化各有什么優劣呢?
總的來說,細粒度拆分的優點有:
(1)服務都能夠獨立部署
(2)擴容和縮容方便,有利於提高資源利用率
(3)拆得越細,耦合相對會減小
(4)拆得越細,容錯相對會更好,一個服務出問題不影響其他服務
(5)擴展性更好

細粒度拆分的不足也很明顯:
(1)拆得越細,系統越復雜
(2)系統之間的依賴關系也更復雜
(3)運維復雜度提升
(4)監控更加復雜
(5)出問題時定位問題更難

 

 

 

13、消息中間件的適用場景?

划分微服務之后,不同的微服務之間需要通過消息中間件進行通信

 

14、分布式和微服務是緊密相連的,這句話如何理解?

分布式和微服務都是將大功能拆分成小功能,從而實現高並發的開發

 

15、如何處理學習php和學習java的關系?

php真正學精通之后,再去學java,學好一門之后,再去學另外一門

 

16、比如搞人工智能這些賺錢的,本質是做什么?

算法,所以算法還是要好好搞

 

 

 

二、內容在總結中

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM