增加标量类型和返回类型的声明。
缺点变成非常了,可以捕获之前的致命导致脚本中断的error,现在可以捕获,可以运行。
AST(Abstract Syntax Tree,抽象语法树)在PHP编译过程作为一个中间件的角色,更换原来直接从阐明器吐出opcode的办法,让阐明器(parser)和编译器(compliler)解耦,可以减少一些Hack代码。同时,让实现更随意马虎理解和可掩护。

Native TLS(Native Thread local storage,原生线程本地存储)。
Int64支持,统一不同平台下的整型长度,字符串和文件上传都支持大于2GB。
foreach表现行为同等。
Zval的改变。
PHP数组的变革(HashTable和Zend Array)。
通过宏定义和内联函数(inline),让编译器提前完成部分事情。
php各个版本的差异PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束 PHP5.2:JSON 支持 PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,Phar PHP5.4:Short Open Tag, 数组简写形式,Traits, 内置 Web 做事器,细节修正 PHP5.5:yield, list() 用于 foreach, 细节修正 PHP5.6: 常量增强,可变函数参数,命名空间增强 php7:变革太多,总结下便是性能提升了很多。
php接口,抽象类的却别对接口的继续利用implements,抽象类利用extends。
接口中不可以声明变量,但可以声明类常量.抽象类中可以声明各种变量。
接口没有布局函数,抽象类可以有。
接口中的方法默认为public,抽象类中的方法可以用public,protected,private润色。
个类可以继续多个接口,但只能继续一个抽象类。
php怎么实现多线程pthread扩展可以支持真正的多线程,但是问题很多不建议利用。 还有一些变向的多线程利用方法: 比如通过fsockopen 启用一个新的要求之类的,这种方法只能搞的一些大略问题,不建议利用。业务繁芜后不好掌握。可以考虑swoole和workerman之类的多进程模型。
怎么提高php的实行效率这是一个可大可小的话题 从客不雅观的角度来说
开启opcache。
利用缓存 主不雅观角度。
完备个人内功问题,对措辞的节制闇练程度,比如一些语法糖。
算法的韶光繁芜度空间繁芜度。
数据库都用过哪些常用的 mysql、sqlite、MongoDB、redis。
mysql引擎都有什么特点和差异紧张说常用的:
MyISAM: 不支持事务、也不支持外键,但其访问(读)速率快,对事务完全性没有哀求。
InnoDB:用于事务处理运用程序,具有浩瀚特性,包括ACID事务支持,供应行级锁。
Memory:说白了全在内存里面干。
MyISAM和InnoDB的差异相对很多,从内部实现到运用处景以及优化,不一一列举。
数据量过大的时候,怎么处理也是一个可大可小的话题,点到为止 从数据库角度: 结合业务进行拆分,分区,分库,分布式数据库,分布式事物问题 从web角度: 负载均衡(7层4层) 缓存。
怎么优化sql实行操持。
理解mysql特性 一种需求可以有多重写法,比如 not in 和not exist ,join 和in。
各种mysql日志的剖析。
索引的类型和利用场景从实现角度 聚簇索引,非聚簇索引。
从类型和功能 唯一索引,非唯一索引(普通索引),联合索引,全文索引,覆盖索引。
利用场景 加速查询,紧张便是为了加快速查询效率,把稳不要过多用索引,否则对表更新的效率有很大的影响,由于在操作表的时候要化大量韶光花在创建索引中 ,比如一个字段在全体表里面就两个值,那么就没必要在这个字段上加索引。
联合索引的优缺陷条件顺序按找索引的顺序。
联合索引可以替代单一索引的场景。
怎么支配分布式,用在什么场景自动化支配,A/B test 灰度发布。
场景。
单台做事器无法承受压力。
高性能,高可用。
分布式存储、分布式事务,分布式锁。
redis和mongoDB的差异和利用场景mongodb是真正的数据库,适宜mysql竞争的;而redis缓存数据库,不同的东西根据不同的特性选择运用。
lnmp的运行事理首先,浏览器发送http request要求到做事器(Nginx),做事器相应并处理web要求,将一些静态资源(CSS,图片,视频等)保存做事器上,然后将php脚本通过接口传输协议(网关协议)PHP-FCGI(fast-cgi)传输给PHP-FPM(进程管理程序),PHP-FPM不做处理,然后PHP-FPM调用PHP解析器进程,PHP解析器解析php脚本信息。PHP解析器进程可以启动多个,进行并发实行。然后将解析后的脚本返回到PHP-FPM,PHP-FPM再通过fast-cgi的形式将脚本信息传送给Nginx.做事器再通过Http response的形式传送给浏览器。浏览器再进行解析与渲染然后进行呈现。
熟习的框架都有什么差异,有哪些上风大点的框架适宜大项目,高内聚低耦合 yii2类的功能足够强大,小框架我称之为工具,ci类的
设计模式都运用到过哪些,详细怎么实现。
单例全局只初始化一次。
工厂固定的工具天生。
装饰着多种产品组合在一起,动态扩展。
代理这个好理解。
适配器本来是两孔插头我通过适配器做成可以插三孔的。
详细说下排序算法的韶光繁芜度和空间繁芜度 插入 冒泡 选择。
韶光O(n2) 空间O(1)快速 O(nlog2n) O(log2n)~O(n)。
堆排序 O(nlog2n) O(1)。
希尔排序,我履历数减少的时候大略的排序算法,大数据的时候 快速排序。
nginx怎么实现的负载均衡?upstream配置、事理就多了,大略的说轮训、权重等等。
描述之前项目中用到过的架构,有什么上风?小项目 ci 大略快速 大项目 yii2 phalcon laravel 构造清晰,解耦程度更高。
给app供应接口,怎么担保稳定性和相应应速率。
稳定性
稳定性话题可大可小 比如高可用,也是提高稳定性。
相应速率 缓存,优化吧 详细问题详细剖析。
说一个自己做过的,以为最有技能含量的项目,运用到哪些技能。这个问题真不好说,写php扩展算吗。实在可以办理实际问题的东西都是好东西,都代表你成功了。 做运用开拓,很难衡量技能含量吧,由于都很低。 上学的时候把编译事理里面的算法用C措辞都写了一遍,我以为这个好比今干的技能含量还高。现在很多时候都是在用,磨练技能含量的该当是怎么创造问题,然后怎么办理问题吧,毕竟我们不是搞科研。
还理解其他的开拓措辞并且做过项目么?java、python、wpf。
redis存储数据的类型有哪些,都运用在什么场景?类型:string set hash list。
场景 :有序凑集、大数据排序、凑集的交集,共同好友
PS:本文摘自夏彬童鞋