百度 PHP 面试

作者: 血之君殇 | 来源:发表于2018-01-12 11:19 被阅读27次
    1. Linux文本操作
    2. IO多路复用、epoll
      I/O多路复用(又被称为“事件驱动”),首先要理解的是,操作系统为你提供了一个功能,当你的某个socket可读或者可写的时候,它可以给你一个通知。这样当配合非阻塞的socket使用时,只有当系统通知我哪个描述符可读了,我才去执行read操作,可以保证每次read都能读到有效数据而不做纯返回-1和EAGAIN的无用功。写操作类似。操作系统的这个功能通过select/poll/epoll/kqueue之类的系统调用函数来使用,这些函数都可以同时监视多个描述符的读写就绪状况,这样,多个描述符的I/O操作都能在一个线程内并发交替地顺序完成,这就叫I/O多路复用,这里的“复用”指的是复用同一个线程
    3. 数据库中间件
      数据库中间件有以下几种:
      • 分布式数据库分表分库
      • 数据增量订阅与消费
      • 数据库同步(全量、增量、跨机房、复制)
      • 跨数据库(数据源)迁移
    4. 负载均衡
      目前主流的软件负载均衡分为四层和七层。LVS属于四层负载均衡,工作在tcp/ip协议栈上,通过修改网络包的ip地址和端口来转发, 由于效率比七层高,一般放在架构的前端.七层的负载均衡有nginx, haproxy, apache等, 工作在应用层,因此可以将HTTP请求等应用数据发送到具体的应用服务器,如将图片请求转发到特定的服务器上,总之可以做到更智能的负载均衡,这些功能在四层负载均衡上不好实现,一般放在架构的后面位置,布置在应用服务器前面
    5. 一台电脑有多少个端口
      65536个,即0-65535,因为IP的端口是双字节的,所以是256*256=65536个,一般0不用在应用层,所以也可以说65535个

    相关文章

      网友评论

        本文标题:百度 PHP 面试

        本文链接:https://www.haomeiwen.com/subject/fzixoxtx.html