色色整理的PHP面试题集锦

时间:2022-08-24 12:42:32

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元素的获取 

<div drag="true" index="1"></div> 
<div drag="true" index="2"></div> 
<div drag="true"></div> 

要求找到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. 谈谈你平常工作中使用过的权限管理部分,你是如何理解与实现的?