编程学习网 > 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高级编程视频教程免费获取