PHP面试题收集整理(7套带答案)

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 179 收藏 0 点赞 0 评论 0

PHP的面试题集收集整理

面试题1
1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21

date_default_timezone_set(‘Asia/Shanghai’);

    $times = time()-86400;

    echo date(‘Y-m-d H:i:s’,$times);
2、echo(),print(),print_r()的区别

echo 只能打印字符串

print 可以打印字符串和数组中指定的值

print_r 打印数组中所有的值,不能打印字符串
3、能够使HTML和PHP分离开使用的模板
4、如何实现PHP、JSP交互?

JSP = JavaServerPage
5、使用哪些工具进行版本控制?

使用过svn
6、如何实现字符串翻转?

Strrev($str)
7、优化MYSQL数据库的方法。

根据事务处理机制,采用innDB表或myIsam表。

优化sql语句,优化表字段结构。
8、谈谈事务处理

是指把若干个字操作组成一个完整的操作,保证这个完整的操作要么全部成功,要么全部失败。而不会部分成功,部分失败。一次银行转账有两个操作,从A账户扣钱,给B账户加钱。这是两个自操作,但整个操作必须是一个事务的,以保证不会出错。一般提到事务,多半指数据库事务,在开始一个事务前,调用 trans begin,全部搞定后 trans commit。当中出问题了自动回滚,也可以需要的时候手动rollback。但基本就是: begin,commit,rollback。
9、apache+mysql+php实现最大负载的方法

采用缓存机制:静态缓存,memcache等。根据事务处理机制,采用innDB表或myIsam表。

优化sql语句,优化表字段结构。
10、实现中文字串截取无乱码的方法。

从指定位置开始截取1位,判断ass码范围(ord函数),根据不同情况截取1,2,3位长度。存入数组。下一次截取响应往后1,2,3位。依次类推。最后合并数组为字符串,打印字符串。
面试题2
var $empty = ”;
var $null = NULL;
var $bool = FALSE;
var $notSet;
var $array = array();
1.
$a = “hello”;
$b = &$a;
unset($b);
$b = “world”;
what is $a? hellow

2.
$a = 1;
$x = &$a;
$b = $a++;
what is $b? 1


3.
$x = empty($array);
what is $x? true or false true

4.您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?

使用过svn
5.您是否用过模板引擎? 如果有您用的模板引擎的名字是?

用过康盛dz的模版机制
6.请简单阐述您最得意的开发之作.
7.对于大流量的网站,您采用什么样的方法来解决访问量问题?

缓存机制
8.用PHP写出显示客户端IP与服务器IP的代码:
echo $_SERVER[‘SERVER_ADDR’];

echo $_SERVER[‘REMOTE_ADDR’];
面试题3
一、PHP/MySQL编程
1) 某内容管理系统中,表message有如下字段
id 文章id
title 文章标题
content 文章内容
category_id 文章分类id
hits 点击量

创建上表,写出MySQL语句

create table message(id int(32) primary key autoincrement ,title varchar(255),content text,category_id tinyint(1),hits smallint(8))
2)同样上述内容管理系统:表comment记录用户回复内容,字段如下
comment_id 回复id
id 文章id,关联message表中的id
comment_content 回复内容

现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面
文章id 文章标题
点击量
回复数量
用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示为0

select message.id,message.hits,comment.count
SELECT t.id, t.title, t.hits, COUNT( c.comment_id )
FROM message t
LEFT JOIN COMMENT c ON t.id
= c.id
GROUP BY t.id, t.title, t.hits
ORDER BY COUNT( c.comment_id )
LIMIT 0 , 30

3) 上述内容管理系统,表category保存分类信息,字段如下

category_id int(4) not null auto_increment;
categroy_name varchar(40) not null;

用户输入文章时,通过选择下拉菜单选定文章分类
写出如何实现这个下拉菜单

$link = mysql_connect(……);

Mysql_select_db(….,$link);

$sql = ‘select category_id, categroy_name from category’;

$result = mysql_query($sql,$link);

Echo “<select name=’st’>”;

While($row = mysql_fetch_array($result)){

    Echo “<option value='”.$row[‘category_id’].”‘>”.$row[‘categroy_name’].”</option>”

}

Echo “</select>”;

二、PHP文件操作
1)
上述内容管理系统:用户提交内容后,系统生成静态HTML页面;写出实现的基本思路

将用户提交的内容写入数据库。再从数据库取出这些数据,生成缓存字符串cache,加载模版html静态页面,解析缓存cache,将数据导入静态页面。保存为缓存文件,存放入指定目录。
2) 简单描述用户修改以发布内容的实现流程和基本思路

从数据库读取信息,显示在修改页面。用户修改,最后提交。写入数据库。更新缓存文件。

三、PHP程序
1) 写出以下程序的输出结果

评论列表
文章目录