2020最新PHP面试100题(三)
77、写几个魔术方法并说明作用?
点击加入我的企鹅群 78、$ _REQUEST、$ _POST、$ _GET、$ _COOKIE、$ _SESSION、$_FILES的意思是什么? 它们都是PHP预定义变量
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) 什么情况下不宜建立索引?
84、web应用中,数据库的读取频率远高于写入频率,如何优化MySQL而应对此种情景? 使用memcache缓存技术,将动态数据缓存到文件,访问动态页面时直接调用缓存文件,而不必重新访问数据库,这样就减少了查询数据库的次数。 如果网站的访问量很大,可以把数据库读写服务器分开,使用多台服务器去处理数据库查询,使用较少的服务器去处理数据库的写入和修改。 85、include与require的区别?
86、PHP字符串中单引号与双引号的区别? 单引号不能解释变量,而双引号可以解释变量。 单引号不能转义字符,在双引号中可以转义字符。 87、php中,模板引擎的目的是什么? 你用过哪些模板引擎? 使用模板引擎的目的是使程序的逻辑代码和html界面代码分离开,是程序的结构更清晰。 使用过的模板引擎:Smarty、ThinkPHP的ThinkTemplate 88、指出以下代码片段中的SQL注入漏洞以及解决方法(magic_quotes_gpc = off)
注入漏洞主要存在用户提交的数据上,这里的注入漏洞主要是$_GET[catid]和$_GET[keyword] 解决注入漏洞:
89、分别指出php.ini中 magic_quotes_gpc,magic_quotes_runtime两项参数的作用. Magic_quotes_gpc的作用是在POST、GET、COOKIE数据上使用addslashes()自动转义。 Magic_quotes_runtime参数的作用是设置状态,当状态为0时则关闭自动转义,设置为1则自动转义,将数据库中取出来的单引号、双引号、反斜线这些字符加上反斜杠转义。 90、写出以下php代码的运行结果:
91、如何快速下载一个远程http服务器上的图片文件到本地?
92、什么是时间戳? 如何取得当前时间戳? 时间戳是从1970年1月1日 00:00:00到指定日期的秒数。 获取当前时间戳:time() 93、了解XSS攻击吗? 如何防止 ? XSS是跨站脚本攻击,首先是利用跨站脚本漏洞以一个特权模式去执行攻击者构造的脚本,然后利用不安全的Activex控件执行恶意的行为。 使用htmlspecialchars()函数对提交的内容进行过滤,使字符串里面的特殊符号实体化。 94、SQL注入漏洞产生的原因 ? 如何防止? SQL注入产生的原因:程序开发过程中不注意规范书写sql语句和对特殊字符进行过滤,导致客户端可以通过全局变量POST和GET提交一些sql语句正常执行。 防止SQL注入:
95、一个字节占多少bit ? 一个IPv4地址占几个字节? 一个IPv6地址呢? 一个字节占8bit,一个IPV4占用4字节,一个IPV6占用16字节。 96、M ADSL宽带连接,理想情况下,最大下载速度是多少KB/s ? 256KB/s 97、请写出一个正则表达式,用于匹配一个HTML文件中标记中的图片地址
98、Fatal error: Call to undefined method ge_user() in /website/index.php on line 39 调用了未定义的方法ge_user(),检查程序中有没有定义此方法 99、Fatal error: Class ’client’ not found in /website/index.php on line 173 类client没有找到,检查文件中有没有client类,或者有没有包含client类文件
提示文件前面有输出,检查是否有输出,或者编码 100、Warning:session_start(): open(/website/tmp/sess_47e067121facf033785f9a1cb16d243b,O_RDWR) failed: No such file or directory (2) in /website/index.php on line 10 没有找到文件或目录,检查文件是否存在 点关注,不迷路好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。之前说过,PHP方面的技术点很多,也是因为太多了,实在是写不过来,写过来了大家也不会看的太多,所以我这里把它整理成了PDF和文档,如果有需要的可以 点击进入暗号: PHP+「平台」 更多学习内容可以访问【对标大厂】精品PHP架构师教程目录大全,只要你能看完保证薪资上升一个台阶(持续更新) 以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入我的 PHP技术交流群 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |