background image

PHP 工程师面试题

1、 如何修改

SESSION 的生存时间

 a 

 

、其实 Session 

 

还提供了一个函数 session_set_cookie_params(); 

 

来设置 Session 

 

的生存期的,该函数必须在 session_start() 函数调用之前调用:
<?php 
// 

 

保存一天

$lifeTime = 24 * 3600; 
session_set_cookie_params($lifeTime); 
session_start();
$_SESSION["admin"] = true; 
?>
b 、

2、请简述项目中优化 sql 语句执行效率的方法,从哪些方面,sql 语句性能如何分析?

(1)选择最有效率的表名顺序
(2)WHERE 子句中的连接顺序
(3)SELECT

子句中避免使用 *’

(4)用 Where 子句替换 HAVING 子句
(5)通过内部函数提高 SQL 效率
(6)避免在索引列上使用计算。
(7)提高 GROUP BY 语句的效率, 可以通过将不需要的记录在 GROUP BY 之前过滤掉。

3、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() 的值。

4、请举例说明在你的开发过程中用什么方法来加快页面的加载速度

   答:要用到服务器资源时才打开,及时关闭服务器资源,数据库添加索引,页面可生
成静态,图片等大文件单独服务器。使用代码优化工具啦。

5、防止 SQL 注射漏洞一般用__addslashes___函数。

6、对于大流量的网站,您采用什么样的方法来解决访问量问题

答:首先,确认服务器硬件是否足够支持当前的流量

其次,优化数据库访问。

第三,禁止外部的盗链。
第四,控制大文件的下载。
第五,使用不同主机分流主要流量
第六,使用流量分析统计软件