- php面试题目 推荐度:
- 相关推荐
php面试题目2017
PHP程序员在求职面试中,要提前了解面试题目,才有机会在面试中展现自我,那么2017年的PHP面试题目你有了解了吗?以下是阳光网小编帮你们整理的2017php面试题目,一起来学习啦。
2017php面试题目(一)
1、对于大流量网站,采用什么方法来解决访问量的问题
确认服务器硬件是否能够支持当前的流量
数据库读写分离,优化数据表
程序功能规则,禁止外部的盗链
控制大文件的下载
使用不同主机分流主要流量
2、语句include和require的区别是什么?为避免多次包含同一文件,可以用(?)语句代替他们
require是无条件包含,也就是如果一个流程里加入require,无论条件成立与否都会先执行require,当文件不存在或者无法打开的时候,会提示错误,并且会终止程序执行
include有返回值,而require没有(可能因为如此require的速度比include快),如果被包含的文件不存在的化,那么会提示一个错误,但是程序会继续执行下去
注意:包含文件不存在或者语法错误的时候require是致命的,而include不是
require_once表示了只包含一次,避免了重复包含
3、谈谈mvc的认识
由模型、视图、控制器完成的应用程序,由模型发出要实现的`功能到控制器,控制器接收组织功能传递给视图
4、 说明php中传值与传引用的区别,并说明传值什么时候传引用?
变量默认总是传值赋值,那也就是说,当将一个表达式的值赋予一个变量时,整个表达式的值被赋值到目标变量,这意味着:当一个变量的赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量
php也提供了另外一种方式给变量赋值:引用赋值。这意味着新的变量简单的__引用__(换言之,成为了其别名或者指向)了原始变量。改动的新的变量将影响到原始变量,反之亦然。使用引用赋值,简单地将一个&符号加到将要赋值的变量前(源变量)
对象默认是传引用
对于较大是的数据,传引用比较好,这样可以节省内存的开销
2017php面试题目(二)
1.mysql_fetch_row() 和 mysql_fetch_array() 有什么分别?
mysql_fetch_row() 把数据库的一列储存在一个以零为基数的阵列中,第一栏在阵列的索引 0,第二栏在索引 1,如此类推。mysql_fetch_assoc() 把数据库的一列储存在一个关联阵列中,阵列的索引就是栏位名称,例如我的数据库查询送回“first_name”、“last_name”、“email”三个栏位,阵列的索引便是“first_name”、“last_name”和“email”。mysql_fetch_array() 可以同时送回 mysql_fetch_row() 和 mysql_fetch_assoc() 的值。
2.下面的代码用来做什么?请解释。
$date='08/26/2003';print ereg_replace("([0-9]+)/([0-9]+)/([0-9]+)","\\2/\\1/\\3",$date);
替换26和8的位置
3.GD 函式库用来做什么?
绘图
4.请举例说明在你的开发过程中用什么方法来加快页面的加载速度
要用到服务器资源时才打开,及时关闭服务器资源,数据库添加索引,页面可生成静态,图片等大文件单独服务器。使用代码优化工具
5.防止SQL注射漏洞一般用__addslashes___函数。
addslashes
6.PHP中传值和传引用、传地址的区别是什么?
传值是把实参的值赋值给行参,那么对行参的修改,不会影响实参的'值
传地址是传值的一种特殊方式,只是他传递的是地址,不是普通的如int ,那么传地址以后,实参和行参都指向同一个对象
7、如何通过javascript判断一个窗口是否已经被屏蔽
获取open()的返回值,如果是null,就是屏蔽了
8.对于大流量的网站,您采用什么样的方法来解决访问量问题
首先,确认服务器硬件是否足够支持当前的流量
其次,优化数据库访问。
第三,禁止外部的盗链。
第四,控制大文件的下载。
第五,使用不同主机分流主要流量
第六,使用流量分析统计软件
2017php面试题目(三)
1、双引号和单引号的区别
双引号解释变量,单引号不解释变量
双引号里插入单引号,其中单引号里如果有变量的话,变量解释
双引号的变量名后面必须要有一个非数字、字母、下划线的特殊字符,或者用{}讲变量括起来,否则会将变量名后面的部分当做一个整体,引起语法错误
双引号解释转义字符,单引号不解释转义字符,但是解释'\和\\能使单引号字符尽量使用单引号,单引号的效率比双引号要高(因为双引号要先遍历一遍,判断里面有没有变量,然后再进行操作,而单引号则不需要判断)
2、常用的超全局变量(8个)
$_GET ----->get传送方式
$POST ----->post传送方式
$REQUEST ----->可以接收到get和post两种方式的值
***
$GLOBALS ----->所有的变量都放在里面
$FILE ----->上传文件使用
$SERVER ----->系统环境变量
* **
$SESSION ----->会话控制的时候会用到
$COOKIE ----->会话控制的时候会用到
3、HTTP中POST、GET、PUT、DELETE方式的`区别
HTTP定义了与服务器交互的不同的方法,最基本的是POST、GET、PUT、DELETE,与其比不可少的URL的全称是资源描述符,我们可以这样理解:url描述了一个网络上资源,而post、get、put、delegate就是对这个资源进行增、删、改、查的操作!
3.1表单中get和post提交方式的区别
get是把参数数据队列加到提交表单的action属性所指的url中,值和表单内各个字段一一对应,从url中可以看到;post是通过HTTPPOST机制,将表单内各个字段与其内容防止在HTML的head中一起传送到action属性所指的url地址,用户看不到这个过程。
对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
get传送的数据量较小,post传送的数据量较大,一般被默认不受限制,但在理论上,IIS4中最大量为80kb,IIS5中为1000k,get安全性非常低,post安全性较高。
3.2
GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。
与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。
POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。
DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作。
【php面试题目】相关文章:
2017php面试题目04-05
php程序员面试题目12-09
计算机php面试题目及答案12-09
php初级程序员面试题目12-09
php高级工程师面试题目12-09
php面试题及答案04-02
php面试问题及答案11-26
php基础面试题11-26
2017常见的php面试题04-05