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

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

1、總結

一句話總結:

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

 

一、php若是web端不能知足需求,好比性能不夠,好比phpexcel插件導入5000條數據就會形成數據溢出的問題,咱們解決問題的考慮方式?

用php服務端:php cli

 

二、Swoole是什麼?

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

Swoole 能夠普遍應用於互聯網、移動通訊、企業軟件、雲計算、網絡遊戲、物聯網(IOT)、車聯網、智能家居等領域。 使用 PHP + Swoole 做爲網絡通訊框架,可使企業 IT 研發團隊的效率大大提高。php

 

三、Swoole應用場景?

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

 

四、Swoole特性?

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

 

 

五、swoft協程框架是什麼?

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

 

六、天貓商城,好比過年或者雙11,爲何網頁有些功能(好比鞋子)掛了,有些功能(好比電器)還能夠正常使用?

由於不一樣的功能多是放在不一樣的服務器上面的

 

七、consul是什麼?

分佈式架構中的服務治理,和ZooKeeper相似

在分佈式架構中,服務治理是一個重要的問題。在沒有服務治理的分佈式集羣中,各個服務之間經過手工或者配置的方式進行服務關係管理,遇到服務關係變化或者增長服務的時候,人肉配置極其麻煩且容易出錯。以前在一個C/C++項目中,採用ZooKeeper進行服務治理,能夠很好的維護服務之間的關係,可是使用起來較爲麻煩。如今愈來愈多新的項目採用consul進行服務治理,各方面的評價都優於ZooKeeper,通過幾天的研究,這裏作一個總結。java

 

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

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

 

九、微服務化的適用場景是什麼?

動態通信的功能比較多

 

十、微服務化是什麼?

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

 

 

十一、互聯網架構爲何要作微服務化?

高併發訪問

 

十二、微服務架構多「微」才合適?

以「子業務系統」粒度做爲微服務的單位是比較合適的
粒度粗細的優劣
上文中談到的服務化與微服務,不一樣粒度的服務化各有什麼優劣呢?
總的來講,細粒度拆分的優勢有:
(1)服務都可以獨立部署
(2)擴容和縮容方便,有利於提升資源利用率
(3)拆得越細,耦合相對會減少
(4)拆得越細,容錯相對會更好,一個服務出問題不影響其餘服務
(5)擴展性更好

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

 

 

 

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

劃分微服務以後,不一樣的微服務之間須要經過消息中間件進行通訊

 

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

分佈式和微服務都是將大功能拆分紅小功能,從而實現高併發的開發

 

1五、如何處理學習php和學習java的關係?

php真正學精通以後,再去學java,學好一門以後,再去學另一門

 

1六、好比搞人工智能這些賺錢的,本質是作什麼?

算法,因此算法仍是要好好搞

 

 

 

2、內容在總結中

相關文章
相關標籤/搜索