php面试问题|php面试题目2017

2015-12-23 求职面试

  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操作。

  
看了“2017php面试题目”的人还看了:

1.php面试题及答案

2.php常见面试题及答案

3.2017年java面试题目

4.2017java常见面试题

5.php常见面试题

【php面试问题|php面试题目2017】相关文章:

文员求职面试自我评价(通用8篇) 11-12

详解求职面试成功法宝技巧精选4篇 11-12

文员求职面试自我评价精选八篇 11-06

大学生求职面试与仪表礼仪范文六篇 10-23

大学生求职面试与仪表礼仪锦集六篇 10-23

求职面试的自我介绍汇编4篇 09-12

祝求职面试成功祝福语127条最新 07-14

2023求职面试个人自我介绍范文汇总五篇 07-03

求职面试自我介绍300字实用【汇编三篇】 06-14

2023求职面试个人自我介绍范文五篇 06-14