色色整理的PHP面试题,从基础到高级,想要应聘php工作的朋友可以参考下。招聘单位也参考的

PHP 基础知识部分

1. 求$a的值
代码如下:
$a = "hello";
$b = &$a;
unset($b);
$b = "world";
echo $a;

2. 求$b的值
代码如下:
$a = 1;
$x = &$a;
$b = $a++;
echo $b;

3. 写出一个函数实现 删除指定目录包括其下的所有子目录以及文件

4. 写一个函数,算出两个文件的相对路径,如:
$a = '/a/b/c/d/e.php';
  $b = '/a/b/12/34/c.php';


javascript 基础知识部分

1. 谈谈js实现继承的几种方式,并写出demo

2. 谈谈你熟悉的js框架,并实现下面DOM元素的获取





要求找到drag="true" 并且 index="1" 或 无index属性的div

提示: 如果不能一次写出,请完成下来步骤
1. 找到drag="true" 并且 index="1"

2. 找到drag="true" 并且 无index属性的

3. 将二者联立起来得到


3. 实现一个遮罩层效果,要求要显示的元素在页面上居中显示

4. 闭包知识考察
代码如下:
function step(a){
return function(x){
return x+a++;
}
}

var a = step(10);
var b = step(20);
alert(a(10));
alert(b(20));
var a="123abc";
alert(typeof(a++));
alert(a);


MySQL 知识部分

1. 某内容管理系统中,表message有如下字段
id 文章id
title 文章标题
content 文章内容
category_id 文章分类id
hits 点击量

创建上表,写出MySQL语句

2. 同样上述内容管理系统:表comment记录用户回复内容,字段如下
comment_id 回复id
id 文章id,关联message表中的id
comment_content 回复内容

现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面

文章id 文章标题 点击量 回复数量

用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示为0


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

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

用户输入文章时,通过选择下拉菜单选定文章分类

写出如何实现这个下拉菜单[可使用PHP,JAVASCRIPT,HTML]


Mysql 知识扩展部分

4. 系统需要对分类表进行扩展,使它能支持无限级别分类,请设计这个表结构,并根据你的设计完成下述场景

1. 查找隶属指定分类下的所有文章(包含子分类下的所有文章)
2. 查找指定文章的分类到根分类的层级,比如:
文章"Mysql优化心得" 它对应在 "程序设计/Mysql/运维/" 下
3. 删除分类时要求也能删除其下所有子分类


5. 系统需要对文章增加标签功能,(标签与文章是多对多的关系),用于实现"相关文章"功能.请设计这个表结构,
并根据你的设计完成下述场景.

1. 查找 与指定文章最相近的五篇文章 (相似度的算法 以相同标签的数量作为依据,数量越大说明越相似)


综合知识部分:

1. 谈谈你对Cookie 与 Session 的理解,它们的适用场景是什么,如有可能可阐述下在多种应用下Session如何共享的思路

2. 谈谈你对单点登录的理解,比如原理与实现,以及实现过程中有哪些问题需要注意

3. 谈谈你对MVC的理解,MVC的缺点是什么,如果让你实现一个MVC框架,你想怎样实现?

4. 谈谈你平常工作中使用过的权限管理部分,你是如何理解与实现的?

09-18 09:31