PHP 面试知识梳理.docxVIP

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法与数据结构BTree 和 B+tree BTreeB树是为了磁盘或者其他存储设备而设计的一种多叉平衡查找树,相对于二叉 树,B树的每个内节点有多个分支,即多叉。 B+TreeB+树是B树的变体,也是一种多路搜索树。 参考文章:排序算法 快速排序快速排序是十分常用的高效率的算法,其思想是:先选一个标尺,用它把整个 队列过一遍筛选,以保证其左边的元素都不大于它,其右边的元素都不小与它 function quicksort($arr){ //获取数组长度 $length = count($arr); //判断长度是否需要继续二分比拟长/短连接的操作过程 .短连接的操作步骤:建立连接- 数据传输- 关闭连接.长连接的操作步骤:建立连接- 数据传输- (保持连接)- 数据传输- 关闭连接 长/短连接的优缺点.长连接可以省去较多的TCP建立和关闭操作,减少资源浪费,节 省时间,对于比拟频繁的请求资源的客户端比拟适用于长连接 .短连接对于服务器来说管理较为简单,存在的连接都是有用的连 按,不需要额外的控制手段从浏览器输入域名到展示页面都发生了什么 DNS域名解析先找本地hosts文件,检查对应域名ip的关系,有那么想ip地址发送请求,没 有再去找DNS服务器建立TCP连接 拿到服务器IP后,向服务器发送求求,三次握手,建立TCP连接。 简单理解三次握手: ?客户端:您好,在家不,有你快递 服务端:在的,送来吧 .客户端:好滴,来了发送 请求 与服务器建立连接后,就可以向服务器发起请求了。具体请求内容可以在浏览 器中查看。 服务器处理请求服务器收到请求后由web服务器(Apache , Nginx )处理请求,web服务器解 析用户请求,知道了需要调用那些资源文件,再通过相应的这些资源文件处理 用户请求和参数,并调用数据库等,然后将结果通过web服务器返回给浏览 Sh O返回响应结果 在响应结果中都会有一个 状态码,诸如我们熟知的200、404、500 等。 状态码都是由三位数字和原因短语组成,大致为五类: 1XX信息性状态码接收的请求正在处理2XX成功状态码请求正常处理完毕3XX重定向状态码需要附加操作以完成请求 1XX 信息性状态码接收的请求正在处理 2XX 成功状态码请求正常处理完毕 3XX 重定向状态码需要附加操作以完成请求 4XX客户端错误状态码服务器也无法处理的请求 5XX服务器错误状态码服务器请求处理出错关闭TCP连接 为了防止服务器与客户端双方资源占用和消耗,当双方没有请求或者响应传递 时,任意一方都可以发起关闭请求,与创立TCP连接的三次握手类似,关闭 TCP连接需要4次挥手简单比喻为: 客户端:哥们,我这边没有数据要传了,咱们关闭连接吧服务端:好的,我看看我这边还有数据不 服务端:兄弟,我这边也没数据要传给你了,咱们可以关闭连接了客户端:好嘲 浏览器解析HTML浏览器布局渲染 设计模式设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验 的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 单例模式 当需要保证对象只有一个实例的时候,单例模式是非常有用的。他把创立对象 的控制权交给一个单一的点上,任何时候应用程序都只会存在且仅存在一个实 例。单例类不应该能在类的外部进行实例化。 一个单例类应该具备以下几个因素: ?必须拥有一个访问级别为private的构造函数,用于阻止类被随意实例化 .必须拥有一个保存类的实例的静态变量.必须拥有一个访问这个实例的公共静态方法,该方法通常被命名 为 getlnstance()?必须拥有一个私有的空的clone方法,防止实例被克隆复制 简单实例: class Single( public static $_instance; private function _construct() { } private function _clone() public static function getlnstance()if (!self::$_instance) { self::$_instance = new self ();} return self::$_instance; ) public function sayHi() {echo 〃Hi n〃; }) $single = Single::getlnstance();$single-sayHi(); 工厂模式工厂模式解决的是如何不通过new建立实例对象的方法 工厂模式是一种类,它具有为你创立对象的某些方法,你可以使用工厂类创立对象而不使用new。这 样,如果你想要更改所创立的对象类型只需要更改工厂即可,使用该工厂的所有代码会自动更改。 工厂模式往往配合接口一起使用,这样应用程

您可能关注的文档

文档评论(0)

183****5363 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8063051134000031

1亿VIP精品文档

相关文档