PHP面试题集锦.docx

上传人:b****4 文档编号:4034669 上传时间:2022-11-27 格式:DOCX 页数:13 大小:23.15KB
下载 相关 举报
PHP面试题集锦.docx_第1页
第1页 / 共13页
PHP面试题集锦.docx_第2页
第2页 / 共13页
PHP面试题集锦.docx_第3页
第3页 / 共13页
PHP面试题集锦.docx_第4页
第4页 / 共13页
PHP面试题集锦.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

PHP面试题集锦.docx

《PHP面试题集锦.docx》由会员分享,可在线阅读,更多相关《PHP面试题集锦.docx(13页珍藏版)》请在冰豆网上搜索。

PHP面试题集锦.docx

PHP面试题集锦

一、基础及程序题(建议使用你擅长的语言:

C/C++、PHP、Java)

1.写一个排序算法,可以是冒泡排序或者是快速排序,假设待排序对象是一个维数组。

(提示:

不能使用系统已有函数,另外请仔细回忆以前学习过的基础知识)

2.实现一个字符串截取的函数,类似于substr,必须能够截取中文这种多字节编码。

假设每个中文也是一个字符,普通的数字、符号、字母也是一个字符。

(提示:

GB编码的中文字符高位范围是0x81-0xFE)

3.写一个遍历指定目录下所有子目录和子文件的函数(提示:

可以使用递归的方法)

4.写出匹配邮箱地址和URL的两个正则表达式。

类似下面的:

邮箱地址:

user_name.first@

URL地址:

(提示:

使用标准的正则表达式,就是PHP中preg_*类的正则处理函数能够解析的正则)

二、数据库技术题

1.写出三种以上MySQL数据库存储引擎的名称(提示:

不区分大小写)

2.说出你所知道的三种以上开源数据库的名称(提示:

想想目前国外流行的开源数据库)

3.MySQL数据库中的字段类型varchar和char的主要区别是什么?

那种字段的查找效率要高,为什么?

4.说出MySQL4.0和MySQL4.1版本的最主要的两个区别。

如果你使用过MySQL5,请说说MySQL5跟MySQL4的主要区别。

(后半题选作)

5.MySQL数据库基本的三个优化法则是什么?

(提示:

从服务配置、应用、开发角度考虑)

三、综合技术题

1.请使用JavaScript写出三种产生一个Image标签的方法(提示:

从方法、对象、HTML角度考虑)

2.请使用CSS样式,描述两种方法在当前列中只显示一个div对象

3.请描述出两点以上XHTML和HTML最显著的区别

4.出五种以上你使用过的PHP的扩展的名称(提示:

常用的PHP扩展)

5.了解MVC模式吗?

请写出三种以上目前PHP流行的MVC框架名称(不区分大小写)

6.写出15个以上你所知道的常用的Linux命令和它的功能

7.使用过Vim编辑器吗?

如果使用过,如何在vim里切分多个可视化窗口,包括横排和纵排。

(本题选作)

8.说说Linux下的find命令和grep命令的区别(本题选作)

9.请描述出七层网络模型的名称,由下到上(可以使用中文描述)

10.说说下面这些这些协议的全称和中文解释(提示:

都是工作在应用层)SMTP、POP3、HTTP、FTP、DNS

11.使用过Memcache缓存吗,如果使用过,能够简单的描述一下它的工作原理吗?

(本题选作)

12.请大致的说说Session的工作原理。

(提示:

与Cookie有相应的关系)

13.说说你所了解的搜索引擎包含那些技术?

(本题选作)

四、项目及设计题

1.一个Web开发团队开发中,大致说说你所了解的所有成员的分工合作情况

2.说说你做过的最得意的项目或者个人开发作品(可以是个人作品,也可以是合作项目)

3.假设给你5台服务器,请大致的描述一下,如何使用你所熟悉的开源软件,搭建一个日PV300万左右的中型网站

面试题1

1、用PHP打印出前一天的时间格式是2006-5-1022:

21:

21

echodate("Y-m-dH:

i:

s",strtotime("-1days"));

2、echo(),print(),print_r()的区别

Echo是语法,无返回值,只能输出简单类型的变量,如数字、字符串;

Print()和print_r()是方法,有返回值。

Print_r可以输出复杂格式的变量,如array。

3、能够使HTML和PHP分离开使用的模板

Smarty

4、如何实现PHP、JSP交互?

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

svncvs

6、如何实现字符串翻转?

strrev

7、优化MYSQL数据库的方法。

8、谈谈事务处理

9、apache+mysql+php实现最大负载的方法

10、实现中文字串截取无乱码的方法。

面试题2

var$empty='';

var$null=NULL;

var$bool=FALSE;

var$notSet;

var$array=array();

1.

$a="hello";

$b=&$a;

unset($b);

$b="world";

whatis$a?

2.

$a=1;

$x=&$a;

$b=$a++;

whatis$b?

3.

$x=empty($array);

whatis$x?

trueorfalse

4.您是否用过版本控制软件?

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

是,SVN。

5.您是否用过模板引擎?

如果有您用的模板引擎的名字是?

是,smarty。

6.请简单阐述您最得意的开发之作。

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

8.用PHP写出显示客户端IP与服务器IP的代码:

/*

得到远程客户端IP

HTTP_X_FORWARDED_FOR是为了避免:

如果客户端使用的是代理服务器,则REMOTE_ADDR返回的是代理服务器的IP。

如果确实得不到,返回unknown

lhaojob

2010-1-12

*/

functiongetIP()

{

if(getenv("HTTP_CLIENT_IP")&&strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown"))

{

$ip=getenv("HTTP_CLIENT_IP");

}

elseif(getenv("HTTP_X_FORWARDED_FOR")&&strcasecmp(getenv("HTTP_X_FORWARDED_FOR"),"unknown"))

{

$ip=getenv("HTTP_X_FORWARDED_FOR");

}

elseif(getenv("REMOTE_ADDR")&&strcasecmp(getenv("REMOTE_ADDR"),"unknown"))

{

$ip=getenv("REMOTE_ADDR");

}

elseif(isset($_SERVER['REMOTE_ADDR'])&&$_SERVER['REMOTE_ADDR']&&strcasecmp($_SERVER['REMOTE_ADDR'],"unknown"))

{

$ip=$_SERVER['REMOTE_ADDR'];

}

else

{

$ip="unknown";

}

return($ip);

}

1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量

(1)中;而链接到当前页面的URL记录在预定义变量

(2)中。

2.执行程序段将输出(3)。

3.在HTTP1.0中,状态码401的含义是(4);如果返回“找不到文件”的提示,则可用header函数,其语句为(5)。

4.数组函数arsort的作用是(6);语句error_reporting(2047)的作用是(7)。

5.PEAR中的数据库连接字符串格式是(8)。

6.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把script标记及其内容都去掉):

(9)。

7.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句(10)动态装载PHP模块,然后再用语句(11)使得Apache把所有扩展名为php的文件都作为PHP脚本处理。

8.语句include和require都能把另外一个文件包含到当前文件中,它们的区别是(12);为了避免多次包含同一文件,可以用语句(13)来代替它们。

9.类的属性可以序列化后保存到session中,从而以后可以恢复整个类,这要用到的函数是(14)。

10.一个函数的参数不能是对变量的引用,除非在php.ini中把(15)设为on.

11.SQL中LEFTJOIN的含义是(16)。

如果tbl_user记录了学生的姓名(name)和学号(ID),tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和考试成绩(score)以及考试科目(subject),要想打印出各个学生姓名及对应的的各科总成绩

,则可以用SQL语句(17)。

12.在PHP中,heredoc是一种特殊的字符串,它的结束标志必须(18)。

13.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。

14.简述论坛中无限分类的实现原理。

15.设计一个网页,使得打开它时弹出一个全屏的窗口,该窗口中有一个文本框和一个按钮。

用户在文本框中输入信息后点击按钮就可以把窗口关闭,而输入的信息却在主网页中显示。

1-给你三个数,写程序求出其最大值。

2-谈谈asp,php,jsp的优缺点

3-谈谈对mvc的认识

4-写出发贴数最多的十个人名字的SQL,利用下表:

members(id,username,posts,pass,email)

面试题8

1-如何通过javascript判断一个窗口是否已经被屏蔽。

2-写出session的运行机制

3-有一数组 $a=array(4,3,8,9,2);请将其重新排序,按从小到大的顺序列出。

4-防止SQL注射漏洞一般用_____函数。

5-查询在线人数,并能处理异常掉线的SQL

....WHERE________

1.请说明php中传值与传引用的区别。

什么时候传值什么时候传引用?

2.在PHP中error_reporting这个函数有什么作用?

3.请写一个函数验证电子邮件的格式是否正确

4.简述如何得到当前执行脚本路径,包括所得到参数。

说明:

例如有一个脚本,传给他的参数有参数1,参数2,参数3….

传递参数的方法有可能是GET有可能是POST,那么现在请写出类似

参数1=值1&参数2=值2.....的结果

5.如何修改SESSION的生存时间.

6..有一个网页地址

7.有一个一维数组,里面存储整形数据,请写一个函数,将他们按从大到小的顺序排列。

要求执行效率高。

并说明如何改善执行效率。

(该函数必须自己实现,不能使用php函数)

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

有一表menu(mainmenu,submenu,url),请用递归法写出一树形菜单,将所有的menu列出来。

面试题1

1、用PHP打印出前一天的时间格式是2006-5-1022:

21:

21

2、echo(),print(),print_r()的区别

3、能够使HTML和PHP分离开使用的模板

4、如何实现PHP、JSP交互?

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

6、如何实现字符串翻转?

7、优化MYSQL数据库的方法。

8、谈谈事务处理

9、apache+mysql+php实现最大负载的方法

10、实现中文字串截取无乱码的方法。

面试题2

var$empty='';

var$null=NULL;

var$bool=FALSE;

var$notSet;

var$array=array();

1.

$a="hello";

$b=&$a;

unset($b);

$b="world";

whatis$a?

2.

$a=1;

$x=&$a;

$b=$a++;

whatis$b?

3.

$x=empty($array);

whatis$x?

trueorfalse

4.您是否用过版本控制软件?

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

5.您是否用过模板引擎?

如果有您用的模板引擎的名字是?

6.请简单阐述您最得意的开发之作.

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

8.用PHP写出显示客户端IP与服务器IP的代码:

面试题3

一、PHP/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_idint(4)notnullauto_increment;

categroy_namevarchar(40)notnull;

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

写出如何实现这个下拉菜单

二、PHP文件操作

1)

上述内容管理系统:

用户提交内容后,系统生成静态HTML页面;写出实现的基本思路

2)简单描述用户修改以发布内容的实现流程和基本思路

三、PHP程序

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

$b=201;

$c=40;

$a=$b>$c?

4:

5;

echo$a;

?

>

2)写出以下程序的输出结果

$str="cd";

$$str="hotdog";

$$str.="ok";

echo$cd;

?

>

面试题4

一.简答题

1.请说明php中传值与传引用的区别。

什么时候传值什么时候传引用?

2.在PHP中error_reporting这个函数有什么作用?

3.请写一个函数验证电子邮件的格式是否正确

4.简述如何得到当前执行脚本路径,包括所得到参数。

说明:

例如有一个脚本,传给他的参数有参数1,参数2,参数3….

传递参数的方法有可能是GET有可能是POST,那么现在请写出类似

参数1=值1&参数2=值2.....的结果

5.如何修改SESSION的生存时间.

6..有一个网页地址

7.有一个一维数组,里面存储整形数据,请写一个函数,将他们按从大到小的顺序排列。

要求执行效率高。

并说明如何改善执行效率。

(该函数必须自己实现,不能使用php函数)

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

二.数据库设计题:

请设计一套图书馆借书管理系统的数据库表结构;可以记录基本的用户信息、图书信息、借还书信息;数据表的个数不超过6个;请画表格描述表结构(需要说明每个字段的字段名、字段类型、字段含义描述);

在数据库设计中应:

1.

保证每个用户的唯一性;

2.

保证每种图书的唯一性;每种图书对应不等本数的多本图书;保证每本图书的唯一性;

3.

借书信息表中,应同时考虑借书行为与还书行为,考虑借书期限;

4.

保证借书信息表与用户表、图书信息表之间的参照完整性;

5.

限制每个用户最大可借书的本数

6.

若有新用户注册或新书入库,保证自动生成其唯一性标识

7.

为以下的一系列报表需求提供支持:

(无特定说明,不需编写实现语句,而需在数据库设计中,保证这些报表可以用最多一条SQL语句实现)

a)日统计报表:

当日借书本数、当日还书本数报表;

b)实时报表:

i.当前每种书的借出本数、可借本数;

ii.当前系统中所有超期图书、用户的列表及其超期天数

iii.当前系统中所有用户借书的本数,分用户列出(包括没有借书行为的用户);请编写实现此需求的SQL语句:

数据库应用:

请撰写一系列的SQL语句,分别描述完整的借书行为与还书行为;并保证这一系列的SQL语句的执行完整性

下题是测验能力之最重要测试,如不能完成我们将无法给出评判结果!

所以请写出详细的回答,并保证答案是可以执行的程序。

在两日内将结果通过电子邮件寄到hr@邮箱

结合第二题中你的设计,用一种数据库实现,要求使用三层结构或者多层结构,要求采用面向对象的思想进行编程,有可能的话,设计一套模板机制来实现之。

功能:

列出当前借出图书的情况,按日期排列

编号

用户姓名

书名

书的编号

借出日期

1.张进

大染坊125765872004-9-1

2.刘兴

西游记321310982004-9-2

……

面试题5

1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量

(1)中;而链接到当前页面的URL记录在预定义变量

(2)中。

2.执行程序段将输出(3)。

3.在HTTP1.0中,状态码401的含义是(4);如果返回“找不到文件”的提示,则可用header函数,其语句为(5)。

4.数组函数arsort的作用是(6);语句error_reporting(2047)的作用是(7)。

5.PEAR中的数据库连接字符串格式是(8)。

6.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把script标记及其内容都去掉):

(9)。

7.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句(10)动态装载PHP模块,然后再用语句(11)使得Apache把所有扩展名为php的文件都作为PHP脚本处理。

8.语句include和require都能把另外一个文件包含到当前文件中,它们的区别是(12);为了避免多次包含同一文件,可以用语句(13)来代替它们。

9.类的属性可以序列化后保存到session中,从而以后可以恢复整个类,这要用到的函数是(14)。

10.一个函数的参数不能是对变量的引用,除非在php.ini中把(15)设为on.

11.SQL中LEFTJOIN的含义是(16)。

如果tbl_user记录了学生的姓名(name)和学号(ID),tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和考试成绩(score)以及考试科目(subject),要想打印出各个学生姓名及对应的的各科总成绩

,则可以用SQL语句(17)。

12.在PHP中,heredoc是一种特殊的字符串,它的结束标志必须(18)。

13.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。

14.简述论坛中无限分类的实现原理。

15.设计一个网页,使得打开它时弹出一个全屏的窗口,该窗口中有一个文本框和一个按钮。

用户在文本框中输入信息后点击按钮就可以把窗口关闭,而输入的信息却在主网页中显示。

面试题6

有一表menu(mainmenu,submenu,url),请用递归法写出一树形菜单,将所有的menu列出来。

面试题7

1-给你三个数,写程序求出其最大值。

2-谈谈asp,php,jsp的优缺点

3-谈谈对mvc的认识

4-写出发贴数最多的十个人名字的SQL,利用下表:

members(id,username,posts,pass,email)

面试题8

1-如何通过javascript判断一个窗口是否已经被屏蔽。

2-写出session的运行机制

3-有一数组 $a=array(4,3,8,9,2);请将其重新排序,按从小到大的顺序列出。

4-防止SQL注射漏洞一般用_____函数。

5-查询在线人数,并能处理异常掉线的SQL

....WHERE________

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1