• php开发面试题---php高级程序员需要掌握的一些知识


    php开发面试题---php高级程序员需要掌握的一些知识

    一、总结

    一句话总结:

    还是需要多多接触架构师的知识,比如这里说的微服务,还有需要php服务端的知识来解决web端的不足,比如Swoole

    1、php如果web端不能满足需求,比如性能不够,比如phpexcel插件导入5000条数据就会造成数据溢出的问题,我们解决问题的考虑方式?

    用php服务端:php cli

    2、Swoole是什么?

    PHP 异步网络通信引擎:Swoole是一个面向生产环境的 PHP 异步网络通信引擎,使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。

    Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升。

    3、Swoole应用场景?

    移动互联网API服务器
    高性能Web服务
    游戏服务器
    在线聊天系统

    4、Swoole特性?

    事件驱动的异步编程模式
    支持并发百万TCP长连接
    异步TCP/UDP/HTTP/WebSocket/HTTP2协议的服务器端/客户端
    支持异步/同步/协程
    异步TCP/UDP/HTTP/WebSocket/HTTP2协议的服务器端/客户端
    支持IPv4/IPv6/UnixSocket/TCP/UDP
    支持SSL/TLS隧道加密
    支持并发百万TCP长连接
    支持毫秒定时器
    支持异步/同步/协程
    支持CPU亲和性设置/守护进程

    5、swoft协程框架是什么?

    PHP 协程框架,可以用于构建高性能的Web系统、API、中间件、基础服务

    6、天猫商城,比如过年或者双11,为什么网页有些功能(比如鞋子)挂了,有些功能(比如电器)还可以正常使用?

    因为不同的功能可能是放在不同的服务器上面的

    7、consul是什么?

    分布式架构中的服务治理,和ZooKeeper类似

    在分布式架构中,服务治理是一个重要的问题。在没有服务治理的分布式集群中,各个服务之间通过手工或者配置的方式进行服务关系管理,遇到服务关系变化或者增加服务的时候,人肉配置极其麻烦且容易出错。之前在一个C/C++项目中,采用ZooKeeper进行服务治理,可以很好的维护服务之间的关系,但是使用起来较为麻烦。现在越来越多新的项目采用consul进行服务治理,各方面的评价都优于ZooKeeper,经过几天的研究,这里做一个总结。

    8、比如新闻网站一天1000万访问,最好的优化方式是什么?

    直接页面静态化就好,因为交互少,没有必要微服务化

    9、微服务化的适用场景是什么?

    动态通讯的功能比较多

    10、微服务化是什么?

    微服务是一种架构风格,这种架构风格具有一些特点:①独立进程;②轻量级通信机制;③围绕业务能力进行构建;④由一组小的服务组成

    11、互联网架构为什么要做微服务化?

    高并发访问

    12、微服务架构多“微”才合适?

    以“子业务系统”粒度作为微服务的单位是比较合适的
    粒度粗细的优劣
    上文中谈到的服务化与微服务,不同粒度的服务化各有什么优劣呢?
    总的来说,细粒度拆分的优点有:
    (1)服务都能够独立部署
    (2)扩容和缩容方便,有利于提高资源利用率
    (3)拆得越细,耦合相对会减小
    (4)拆得越细,容错相对会更好,一个服务出问题不影响其他服务
    (5)扩展性更好
    
    细粒度拆分的不足也很明显:
    (1)拆得越细,系统越复杂
    (2)系统之间的依赖关系也更复杂
    (3)运维复杂度提升
    (4)监控更加复杂
    (5)出问题时定位问题更难

    13、消息中间件的适用场景?

    划分微服务之后,不同的微服务之间需要通过消息中间件进行通信

    14、分布式和微服务是紧密相连的,这句话如何理解?

    分布式和微服务都是将大功能拆分成小功能,从而实现高并发的开发

    15、如何处理学习php和学习java的关系?

    php真正学精通之后,再去学java,学好一门之后,再去学另外一门

    16、比如搞人工智能这些赚钱的,本质是做什么?

    算法,所以算法还是要好好搞

    二、内容在总结中

     
  • 相关阅读:
    JS身份证验证 根据身份证计算生日 年龄
    手机号码归属地TXT文档数据写入DB
    页面返回 上一页 下一页
    ASP.NET 出错页面处理
    添加外鍵
    WinForm Read Excel
    Winform 中实现省市联动效果
    微信支付之二维码支付(native)
    C#多线程同步(转)
    HTTP超文本传输协议HTTP/1.1中文版(收藏)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/10952919.html
Copyright © 2020-2023  润新知