2020最新PHP面试100题(三)

77、写几个魔术方法并说明作用?

  • __call()当调用不存在的方法时会自动调用的方法

  • __autoload()在实例化一个尚未被定义的类是会自动调用次方法来加载类文件

  • __set()当给未定义的变量赋值时会自动调用的方法

  • __get()当获取未定义变量的值时会自动调用的方法

  • __construct()构造方法,实例化类时自动调用的方法

  • __destroy()销毁对象时自动调用的方法

  • __unset()当对一个未定义变量调用unset()时自动调用的方法

  • __isset()当对一个未定义变量调用isset()方法时自动调用的方法

  • __clone()克隆一个对象

  • __tostring()当输出一个对象时自动调用的方法

点击加入我的企鹅群

78、$ _REQUEST、$ _POST、$ _GET、$ _COOKIE、$ _SESSION、$_FILES的意思是什么?

它们都是PHP预定义变量

  • $_REQUEST用来获取post或get方式提交的值

  • $_POST用来获取post方式提交的值

  • $_GET用来获取get方式提交的值

  • $_COOKIE用来获取cookie存储的值

  • $_SESSION用来获取session存储的值

  • $_FILES用来获取上传文件表单的值

79、数组中下标最好是什么类型的,为什么?

数组的下标最好是数字类型的,数字类型的处理速度快。

80、++i和i++哪一个效率高,为什么?

++i效率比i++的效率更高,因为++i少了一个返回i的过程。

81、magic_quotes_gpc()、magic_quotes_runtime()的意思是什么?

Magic_quotes_gpc()是php配置文件中的,如果设置为on则会自动POST,GET,COOKIE中的字符串进行转义,在‘之前加\

Magic_quotes_runtime()是php中的函数,如果参数为true则会数据库中取出来的单引号、双引号、反斜线自动加上反斜杠进行转义。

82、框架中什么是单一入口和多入口,单一入口的优缺点?

(1)多入口就是通过访问不同的文件来完成用户请求。

单一入口指web程序所有的请求都指向一个脚本文件的。

(2)单一入口更容易控制权限,方便对http请求可以进行安全性检查。

缺点:URL看起来不那么美观,特别是对搜索引擎来说不友好。

83、你对Memcach的理解,优点有哪些?

Memcache是一种缓存技术,在一定的时间内将动态网页经过解析之后保存到文件,下次访问时动态网页就直接调用这个文件,而不必在重新访问数据库。使用memcache做缓存的好处是:提高网站的访问速度,减轻高并发时服务器的压力。

Memcache的优点:稳定、配置简单、多机分布式存储、速度快。

84、对关系型数据库而言,索引是相当重要的概念,请回答有关索引几个问题:

a) 索引的目的是什么?

  • 快速访问数据表中的特定信息,提高检索速度

  • 创建唯一性索引,保证数据库表中每一行数据的唯一性

  • 加速表和表之间的连接

  • 使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间

b) 索引对数据库系统的负面影响是什么?

负面影响:创建索引和维护索引需要耗费时间,这个时间随着数据量的增加而增加;索引需要占用物理空间,不光是表需要占用数据空间,每个索引也需要占用物理空间;当对表进行增、删、改的时候索引也要动态维护,这样就降低了数据的维护速度。

c) 为数据表建立索引的原则有哪些?

  • 在最频繁使用的、用以缩小查询范围的字段上建立索引

  • 在平频繁使用的、需要排序的字段上建立索引

d) 什么情况下不宜建立索引?

  • 对于查询中很少涉及的列或者重复值比较多的列,不宜建立索引

  • 对于一些特殊的数据类型,不宜建立索引,比如文本字段(text),值范围较少的知道等。

84、web应用中,数据库的读取频率远高于写入频率, 如何优化MySQL而应对此种情景?

使用memcache缓存技术,将动态数据缓存到文件,访问动态页面时直接调用缓存文件,而不必重新访问数据库,这样就减少了查询数据库的次数。

如果网站的访问量很大,可以把数据库读写服务器分开,使用多台服务器去处理数据库查询,使用较少的服务器去处理数据库的写入和修改。

85、include与require的区别?

  • include()在执行文件时每次都要进行读取和评估

  • require()文件只处理一次(实际上文件内容替换了require()语句)

  • require()通常放在PHP脚

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值