Swoole面试

1.swoole搭建图文直播课和聊天室的业务逻辑

Swoole面试_第1张图片

2.使用swoole遇到了哪些问题

a.进程隔离:

  • 多进程之间会产生进程隔离,global无效,不能共用一个mysql,redis连接,所以每个进程单独开一个数据库连接
  • 如何解决:redis 、swoole_table

b.是否可以共用1个redis或mysql连接

  • 不可以,无法确定返回处理的reactor的id

c. 为什么客户端请求一次数据,服务器接收两条记录

  • icons

d.为什么onReceive收到的数据这么大

  • 客户端发送的多次请求,服务端是可以一次性接收的。并不是客户端发送一次,服务端接收一次
    不可以。

3.如何理解swoole

swoole就是PHP外衣的c程序:其实就是c、java那些语言里面的高阶功能:
比如持久连接、异步通信、websocket,多线程。

4.swoole的工作原理

Swoole结构和流程

5.进程、线程、协程

进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。
线程拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程也由操作系统调度。
协程和线程一样共享堆,不共享栈,协程由程序员在代码里调度。(援引网络博文)

你可能感兴趣的:(面试)