編程學習網 > PHP技術 > swoole > swoole面試會問什么?只要get這幾點,成功上岸不是問題
2021
12-11

swoole面試會問什么?只要get這幾點,成功上岸不是問題

面試是求職者以及應聘者雙方通過相互溝通,了解彼此的一個過程。程序員面試也是如此,如何準備面試,并且在短時間內讓面試官了解你的技能和水平也是作為職場人必修的課題,本文小編就從swoole角度帶大家了解一般會問哪些問題。

Swoole主要進程和他們的關系

Master 進程、Reactor 線程、Worker 進程、Task 進程、Manager 進程。他們之間的關系可以理解為Reactor 就是nginx,Worker 就是PHP-FPM。Reactor 線程異步并行地處理網絡請求,然后再轉發給Worker 進程中去處理。Reactor 和Worker 間通過 unixSocket 進行通信。在PHP-FPM 的應用中,經常會將一個任務異步投遞到Redis 等隊列中,并在后臺啟動一些PHP 進程異步地處理這些任務。Swoole 提供的TaskWorker 是一套更完整的方案,將任務的投遞、隊列、PHP 任務處理進程管理合為一體。通過底層提供的API 可以非常簡單地實現異步任務的處理。另外TaskWorker 還可以在任務執行完成后,再返回一個結果反饋到Worker。Swoole 的Reactor、Worker、TaskWorker 之間可以緊密的結合起來,提供更高級的使用方式。一個更通俗的比喻,假設Server 就是一個工廠,那Reactor 就是銷售,接受客戶訂單。而Worker 就是工人,當銷售接到訂單后,Worker 去工作生產出客戶要的東西。而TaskWorker 可以理解為行政人員,可以幫助Worker 干些雜事,讓Worker 專心工作。相關鏈接:Swoole不同進程的區別與聯系

Swoole和Laravel有什么區別

Swoole

是一個用C語言編寫的PHP擴展,是PHP的協程高性能網絡通信引擎。

Laravel

是一個用PHP編寫的Web開發框架,類似的還有ThinkPHP、Yii框架等。相關鏈接:Swoole、Laravel的區別

Swoole為什么性能這么高

  • 常駐內存,避免重復加載帶來的性能損耗,提升海量性能。

  • Reactor基于epoll,輕松支持高并發。

  • 協程異步,提高對 I/O 密集型場景并發處理能力。

  • 支持多種通信協議,方便地開發 Http、WebSocket、TCP、UDP 等應用。

Swoole和OPcache有什么區別

OPcache

通過將 PHP 腳本預編譯的字節碼存儲到共享內存中來提升 PHP 的性能,存儲預編譯字節碼的好處就是省去了每次加載和解析 PHP 腳本的開銷。

Swoole

除了常駐內存以外,還有協程異步I/O等操作,比OPcache對性能的提升更大。相關鏈接:PHP Opcache工作原理 - 王志強的文章 - 知乎

Swoole的協程和Go的協程有什么區別

Swoole

  • Swoole 的協程客戶端必須在協程的上下文環境中使用。

  • Swoole 的協程是基于單線程的,無法利用多核CPU,同一時間只有一個在調度。

Go

  • Go 語言原生層面就支持協層,不需要聲明協程環境。

  • Go 協程是基于多線程的,可以利用多核 CPU,同一時間可能會有多個協程在執行。

以上就是“swoole面試會問什么?只要get這幾點,成功上岸不是問題”的詳細內容,想要了解更多swoole相關面試歡迎持續關注編程學習網

掃碼二維碼 獲取免費視頻學習資料

Python編程學習

查 看2022高級編程視頻教程免費獲取