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、比如搞人工智能这些赚钱的,本质是做什么?

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

二、内容在总结中

 

php开发面试题---php高级程序员需要掌握的一些知识的更多相关文章

  1. 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题

    ##2017.10.30收集 面试技巧 5.1 面试形式 1)        一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2)        面试官喜欢什么样的人 ü  技术好. ...

  2. J2EE进阶(十四)超详细的Java后台开发面试题之Spring IOC与AOP

    J2EE进阶(十四)超详细的Java后台开发面试题之Spring IOC与AOP 前言   搜狐畅游笔试题中有一道问答题涉及到回答谈谈对Spring IOC与AOP的理解.特将相关内容进行整理.    ...

  3. 前端开发面试题-HTML(转载)

    本文由 本文的原作者markyun 收集总结了一些前端面试题,初学者阅后也要用心钻研其中的原理,重要知识需要系统学习.透彻学习,形成自己的知识链.万不可投机取巧,临时抱佛脚只求面试侥幸混过关是错误的! ...

  4. [转]linux C/C++服务器后台开发面试题总结

    linux C/C++服务器后台开发面试题总结  https://www.cnblogs.com/nancymake/p/6516933.html 一.编程语言 1.根据熟悉的语言,谈谈两种语言的区别 ...

  5. 前端开发面试题-JavaScript(转载)

    本文由 本文的原作者markyun 收集总结. 介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol ...

  6. C/C++嵌入式开发面试题

    C/C++嵌入式开发面试题 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEA ...

  7. java 开发面试题小整理(一)

    本篇文档将持续更新,有基础滴,也有深层次的,谢谢! 1.看下面的程序是否有问题,如果有问题,请指出并说明理由. * byte b1 = 3; * byte b2 = 4; * byte b3 = b1 ...

  8. php开发面试题---攻击网站的常用手段有哪些,及如何预防(整理)

    php开发面试题---攻击网站的常用手段有哪些,及如何预防(整理) 一.总结 一句话总结: 比较记忆:注意比较各种攻击的区别,比如csrf和xss,以及xss和sql,这样才能记住 1.Sql注入是什 ...

  9. php开发面试题---php 对swoole的理解

    php开发面试题---php 对swoole的理解 一.总结 一句话总结: 以战养学,实例驱动 swoole是披着PHP外衣的C程序:其实就是c.java那些语言里面的高阶功能:比如 持久连接.异步通 ...

随机推荐

  1. html生成pdf

    /** * 生成pdf * @param string $html 需要生成的内容 */ function pdf($html='<h1 style="color:red"& ...

  2. BZOJ 3653: 谈笑风生(主席树)

    传送门 解题思路 首先对于一个\(a\)来说,要求\(b\)和\(c\),那么\(a,b,c\)一定在一条链上.把\(b\)分类讨论,如果\(b\)是\(a\)的祖宗,这个方案数就很好统计了,就是\( ...

  3. [CSP-S模拟测试72]题解

    A.简单的序列 遇到括号匹配,先将左右括号转化为1和-1. 那么一个括号序列合法的必要条件:总和为0且所有时刻前缀和$\ge 0$. 用dp预处理出长度为$i$,总和为$j$的括号序列数量.那么如果p ...

  4. 用Node编写RESTful API接口

    前言 本文将通过一个todo list前后端分离的小项目来讲解如何用Node创建符合RESTful风格的API接口. 创建HTTP服务器 我们先来了解下如何用Node创建HTTP服务器(熟悉的读者可以 ...

  5. (转)使用OpenGL显示图像(六)响应触摸事件

    响应触摸事件 编写:jdneo - 原文:http://developer.android.com/training/graphics/opengl/touch.html 让对象根据预设的程序运动(如 ...

  6. dubbo系列学习好文章

    1. dubbo入门学习(一)-----分布式基础理论.架构发展以及rpc.dubbo核心概念 https://www.cnblogs.com/alimayun/p/10982650.html 2. ...

  7. Hive 数据类型转换(转)

    原文连接:https://www.iteblog.com/archives/892.html 在<Hive内置数据类型>文章中,我们提到了Hive内置数据类型由基本数据类型和复杂数据类型组 ...

  8. DCloud-Video:Html5 Video 实现方案

    ylbtech-DCloud-Video:Html5 Video 实现方案 1.返回顶部 1.1. http://ask.dcloud.net.cn/article/569 1.2. 一. Html5 ...

  9. 14. Django MTV及Django模型

    MTV 我们或许都听说过MVC模式.MVC是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码.Django ...

  10. Cocos2d-x之Scene

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. Scene场景也是cocos2dx中必不可少的元素,游戏中通常我们需要构建不同的场景(至少一个),游戏里关卡.版块的切换也就是一个一个场景 ...