文档库 最新最全的文档下载
当前位置:文档库 › 入门级PHP程序员面试题

入门级PHP程序员面试题

入门级PHP程序员面试题(总100分/47题), 看你能回答多少?

PHP新手面试题总100分

简述题(50分)

1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)

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

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

5、使用哪些工具进行版本控制?(1分)

6、如何实现字符串翻转?(3分)

---------------------------------------------------------------

7、优化MYSQL数据库的方法。(4分,多写多得)

8、PHP的意思(送1分)

9、MYSQL取得当前时间的函数是?,格式化日期的函数是(2分)

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

---------------------------------------------------------------

11、您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?(1分)

12、您是否用过模板引擎? 如果有您用的模板引擎的名字是?(1分)

13、请简单阐述您最得意的开发之作(4分)

14、对于大流量的网站,您采用什么样的方法来解决访问量问题?(4分)

-----------------------------------------------------------------

15、用PHP写出显示客户端IP与服务器IP的代码1分)

16、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们? (2分)

17、如何修改SESSION的生存时间(1分).

18、有一个网页地址, 比如PHP开发资源网主页: https://www.wendangku.net/doc/cd8709508.html,/index.html,如何得到它的内容?($1分)

19、在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用he ader 函数,其语句为(?);(2分)

12、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?(1分)

13、谈谈asp,php,jsp的优缺点(1分)

14、谈谈对mvc的认识(1分)

-------------------------------------------------------------------

15、写出发贴数最多的十个人名字的SQL,利用下表:members(id,username,posts,pass, email)(2分)

16. 请说明php中传值与传引用的区别。什么时候传值什么时候传引用?(2分)

17. 在PHP中error_reporting这个函数有什么作用?(1分)

18. 请写一个函数验证电子邮件的格式是否正确(2分)

19. 简述如何得到当前执行脚本路径,包括所得到参数。(2分)

20.如何修改SESSION的生存时间. (1分)

--------------------------------------------------------------------

21、JS表单弹出对话框函数是?获得输入焦点函数是? (2分)

22、JS的转向函数是?怎么引入一个外部JS文件?(2分)

23、foo()和@foo()之间有什么区别?(1分)

24、如何声明一个名为”myclass”的没有方法和属性的类?(1分)

25、如何实例化一个名为”myclass”的对象?(1分)

26、你如何访问和设置一个类的属性?(2分)

27、mysql_fetch_row() 和mysql_fetch_array之间有什么区别?(1分)

--------------------------------------------------------------------

28、GD库是做什么用的?(1分)

29、指出一些在PHP输入一段HTML代码的办法。(1分)

30、下面哪个函数可以打开一个文件,以对文件进行读和写操作?(1分)

(a) fget() (b) file_open() (c) fopen() (d) open_file()

31、下面哪个选项没有将john 添加到users 数组中?(1分)

(a) $users[] = …john?;

(b) array_add($users,?john?);

(c) array_push($users,…john?);

(d) $users ||= …john?;

32、下面的程序会输入是否?(1分)

$num = 10;

function multiply(){

$num = $num * 10;

}

multiply();

echo $num;

?>

33、使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来(2分) 表名User

Name Tel Content Date

张三133******** 大专毕业2006-10-11

张三136******** 本科毕业2006-10-15

张四021-******** 中专毕业2006-10-15

请根据上面的题目完成代码:

$mysql_db=mysql_connect("local","root","pass");

@mysql_select_db("DB",$mysql_db);

34、如何使用下面的类,并解释下面什么意思?(3)

class test{

function Get_test($num){

$num=md5(md5($num)."En");

return $num;

}

}

----------------------------------------------------------------------------

35、写出SQL语句的格式: 插入,更新,删除(4分)

表名User

Name Tel Content Date

张三133******** 大专毕业2006-10-11

张三136******** 本科毕业2006-10-15

张四021-******** 中专毕业2006-10-15

(a) 有一新记录(小王132******** 高中毕业2007-05-06)请用SQL语句新增至表中

(b) 请用sql语句把张三的时间更新成为当前系统时间

(c) 请写出删除名为张四的全部记录

36、请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别(2分)

37、MySQ自增类型(通常为表ID字段)必需将其设为(?)字段(1分)

38、写出以下程序的输出结果(1分)

$b=201;

$c=40;

$a=$b>$c?4:5;

echo $a;

?>

39、检测一个变量是否有设置的函数是否?是否为空的函数是?(2分)

-----------------------------------------------------------------------------

40、取得查询结果集总数的函数是?(1分)

41、$arr = array('james', 'tom', 'symfony'); 请打印出第一个元素的值(1分)

42、请将41题的数组的值用','号分隔并合并成字串输出(1分)

43、$a = 'abcdef'; 请取出$a的值并打印出第一个字母(1分)

44、PHP可以和sql server/oracle等数据库连接吗?(1分)

45、请写出PHP5权限控制修饰符(3分)

46、请写出php5的构造函数和析构函数(2分)

------------------------------------------------------------------------------

47、以下请用PHPMYADMIN完成

(一)创建新闻发布系统,表名为message有如下字段(3分)

id 文章id

title 文章标题

content 文章内容

category_id 文章分类id

hits 点击量

(二)同样上述新闻发布系统:表comment记录用户回复内容,字段如下(4分)

comment_id 回复id

id 文章id,关联message表中的id

comment_content 回复内容

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

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

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

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

category_id int(4) not null auto_increment;

categroy_name varchar(40) not null;

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

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

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

$yesterday = time() - (24 * 60 * 60);

echo 'today:'.date('Y-m-d H:i:s')."\n";

echo 'yesterday:'. date('Y-m-d H:i:s', $yesterday)."\n";

?>

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

echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print()只能打印出简单类型变量的值(如int,string)

print_r()可以打印出复杂类型变量的值(如数组,对象)

echo 输出一个或者多个字符串

2.echo是语言结构,无返回值;print功能和echo基本相同,不同的是print是函数,有返回值;print_r是递归打印,用于输出数组对象

3.其实PHP本身就是一种模版引擎,我用过的是smarty,常见的还有PHPLib,FastTemplate,Savant这里有个模板引擎列表:https://www.wendangku.net/doc/cd8709508.html,/forums/showthread.php?t=123769

5.CVS和SVN,SVN号称下一代CVS,功能强大,不过CVS是老牌,市占率很高.我一直用SVN,题目是问用什么工具,呃,这个可能需要这么回答:CVS Server on Apache作服务端,WinCVS 作客户端;Subversion on Apache/DAV 做服务端,TortoiseSVN做客户端,或者Subclipse做客户端.

6.用strrev函数呗,不准用PHP内置的就自己写:

function strrev($str)

{

$len=strlen($str);

for($i=$len;$i>=0;$i--)

{

$newstr .= $str{$i};

}

return $newstr;

}

10.mb_sumbstr();

18.file_get_contents($url

1:date(y-m-d),是输出那个指定的时间还是输出一天前的现在时间?后者再减去好像是60*60*24(就是减一天的时间了)

2.无返回值(其实echo还可以输出多个字符变量),有返回值,按照健值对应输出数组

3.只用过smarty

4.没有这题?

5.cvs

6.strrev()(名字记不大的,就是英语string reverse)

7.优化数据库这个问题好大啊,例如多多采用索引,procedure,优化你的sql..,对应不同需求采用不同引擎

8.大概是什么预处理超文本脚本语言,就记得pre什么,h是超文本了,p和asp的一个意思吧

9。好像是current(),date()

10.不好意思,没这方面经验

11.这个和第五题的区别?cvs,没用过,哈哈

12.smarty,知道的还有不少,但是都没用过,就用过smarty

13.目前没有,没有达到我的满意级别,要做到真正的m+v+c+分离真的是不容易,还有整体的cache方案,w3c标准,.....

14.我只知道的就是装个负载平衡服务器,然后多装几个服务器,如果你很nb的话,用grid computing吧

15.这个不查手册真的记不住名字,在$_sever['remote_addr']这个是用户客户的,服务器的也是$_server变量里的吧(可能记错了第一个)

16.区别在出现错误时有一个会继续执行,还有一个停止,好像是include会停止把,后面那个是..._once()

17.php.ini里面有

18.file(),参数是url

19.用户验证信息,404

20.这个序号乱了阿,heredoc就是<<<然后加你自己的开始结束符

21.asp平台限制某些组件要掏钱,jsp很强,组件也得掏钱,php免费,速度不错

22.逻辑操作显示分开,说其实可以说很多,但是好累,不想说了

23.说实话,你这个表我没看懂,帖的表呢?光给我一个member?

24.这个就是a=1;b=a;b=1;如果b=&a,那么修改b,a也变了,两者指向的统一地址

25.error_reporting没用过

26.^[0-9a-zA-z]+[/.0-9a-zA-Z]*@[0-9a-zA-z]+[/.0-9a-zA-Z][/.a-z]{2-4}$

27.$_server里面有八这个脚本执行路径

28.重复

29.alert,focus?

30.window.location=url,后面这个函数名字忘掉了

31.后面那个不返回错误给客户的

32.没有属性和方法,这个还真不知道

33.new 类名()

34.set,get构造器

35.顾名思义,值和键值数组

36.graphic图形库

37.什么意思?输入一段html,不太明白,用文件引入?

38.c

39.push不是返回最后一个吗,这个记得不清楚,d我没用过

40.0,函数参数未付值

41.$sql=SELECT 你要的字段from 表名where https://www.wendangku.net/doc/cd8709508.html,=…阿三?

42.加密加了半天,实例化,然后$object->get_....()

43.is_empty和is_null

44.直接在SQL里就用sum,不过php也有了,名字不记得了,我也可以while($row=fetch_array()),然后再count

45.echo 名字[0]

46.implode($str,“,”)

47.可以阿,说到这,php还有一大特点就是数据库支持多

48.不知道

49.__construst,__同名类__destruct

50.后面几题不做了,累啊,说下思路,选下同名的,做个count,然后按照降序排序,其实显示0这个很有特点,我这里select就算为空也有资源id的,所以fetch_array,然后is_array,没有的话那就是0

1 echo date("Y-m-d H:i:s");

2 echo() 是个语句,没有返回值。

print()和print_r()是函数,有返回值

print()可以显示出字符串等

print_r()可以显示数组

3 smarty

5

6 strrev

7 创建数据缓存

8 php是预处理文件程序

9 date(),format()

10

11 没用过

12 用过,smarty

13 是https://www.wendangku.net/doc/cd8709508.html,/的新版网站,用了smarty模板技术,将HTML和PHP语句分开

14

15 get_client_ip();

16 include的包含如果文件不存在,但没有用到就不会报错,require会报错。include_once()或

require_once()

17

18 信息采集

19

12 是的

13 asp不跨平台,不开源,简单易学 php 跨平台,开源,简单易上手 jsp 跨平台,比较难学

14

15 select username from members where max(posts);

16 传值:原值改变现值不改变,传引用:现值跟随原值变。固定变量时传值,变量不固定时传引用。

17 打开错误报告的级别

18

19

20

21 alert(); form.aa.focus();

22 window.location();

23

24

25 $aa = new myclass();

26

27 前者只取回数组的关联名字,后者取回数组的关联名字和数字下标名。

28 PHP图象处理

29 echo "

HTML语句

";

30 c

31 d

32 10

33 $sql = "select * from user where name='张三'";

$result = mysql_query($sql);

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

echo $row["name"]." ".$row["tel"]." ".$row

["content"]." ".$row["date"];

}

34 $aa = new class;

$aa->get_test(10);

md5加密之后再md5加密

35 (a) insert into user set name = '小王',tel = '132********',content = '高中毕业',date =

'2006-10-15';

(b) update user set date = date() where name = '张三';

(c) drop from user where name = '张四';

36 整型字符型字符型日期时间型文本型

37 主关键整型

38 4

39 is_function();is_null();

40 mysql_num_rows();

41 $arr[1];

42 exprode implode

43 echo substr($a,0);

44 可以

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

echo date('Y-m-d H:i:s', strtotime('-1 day'));

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

echo是语言结构,无返回值;print功能和echo基本相同,不同的是print是函数,有返回值; print_r是递归打印,用于输出数组对象

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

so much,其实PHP本身就是一种模版引擎,我用过的是smarty,常见的还有PHPLib,FastTemplate,Savant

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

题目有点含糊不清,SOAP,XML_RPC,Socket function,CURL都可以实现这些,如果是考PHP和Java的整合,

PHP内置了这种机制(如果考PHP和.NET的整合,也可以这么回答), 例如$foo = new Java('https://www.wendangku.net/doc/cd8709508.html,ng.System');

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

CVS和SVN,SVN号称下一代CVS,功能强大,不过CVS是老牌,市占率很高.我一直用SVN,题目是问用什么工具呃,这个可能需要这么回答:

CVS Server on Apache作服务端,WinCVS作客户端;Subversion on Apache/DAV 做服务端,TortoiseSVN做客户端,或者Subclipse做客户端.

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

用strrev函数呗,不准用PHP内置的就自己写:

function strrev($str)

$len=strlen($str);

$newstr = '';

for($i=$len;$i>=0;$i--)

{

$newstr .= $str{$i};

}

return $newstr;

}

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

高考政治题,把你知道的知识点都写上吧.我的答案:

(1).数据库设计方面,这是DBA和Architect的责任,设计结构良好的数据库,必要的时候,去正规化(英文是这个:denormalize,中文翻译成啥我不知道),

允许部分数据冗余,避免JOIN操作,以提高查询效率

(2).系统架构设计方面,表散列,把海量数据散列到几个不同的表里面.快慢表,快表只留最新数据,慢表是历史存档.集群,

主服务器Read & write,从服务器read only,或者N台服务器,各机器互为Master

(3).(1)和(2)超越PHP Programmer的要求了,会更好,不会没关系.检查有没有少加索引

(4).写高效的SQL语句,看看有没有写低效的SQL语句,比如生成笛卡尔积的全连接啊,大量的Group By和order by,

没有limit等等.必要的时候,把数据库逻辑封装到DBMS端的存储过程里面.缓存查询结果,explain每一个sql语句

(5).所得皆必须,只从数据库取必需的数据,比如查询某篇文章的评论数,select count(*) ... where article_id =

就可以了,不要先select * ... where article_id = 然后msql_num_rows.只传送必须的SQL语句,比如修改文章的时候,如果用户只修改了标题,那就

update ... set title = where article_id = 不要set content = (大文本)

(6).必要的时候用不同的存储引擎.比如InnoDB可以减少死锁.HEAP可以提高一个数量级的查询速度.

8、谈谈事务处理

如同是个编程语言都会有答应Hello World的例子一样,是本数据库的教材都会讲A给B的账户转账50美元的例子,回答这个就好了.

不过据我所知,用MySQL的企业,很少用MySQL来实现事务处理.何况现在Oracle收购了InnoDB的公司.

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

参见第七题的答案,那个地方搞好了这个问题就迎刃而解了.

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

哈哈哈,我猜出题的人是不是被substr的中文处理问题烦恼很久了,是不是还用了网上流传的用正则匹配中文字符然后截取的函数,

其实,有非常简单的解决方法:mb_substr()

简述题(50分)

1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)

Echo date(“Y-m-d H:i:s”, (time()-86400));

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

echo 无返回值打印

print 有返回值的打印

print_r 打印数组

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

Smarty、phplib等

4、使用哪些工具进行版本控制?(1分)

我就使过SVN

5、如何实现字符串翻转?(3分)

strrev函数(临时查的手册)

---------------------------------------------------------------

6、优化MYSQL数据库的方法。(4分,多写多得)

编译时优化

安装后设置合理的运行参数值

数据表优化(设置合理数据表结构、以及表主键、索引、字段类型)

7、PHP的意思(送1分)

Personal Home Page “个人主页”的意思

(临时查的手册)

8、MYSQL取得当前时间的函数是?,格式化日期的函数是(2分)

Now()

DATE_FORMAT(“时间”, “格式”)

9、实现中文字串截取无乱码的方法。(3分)

我发现好多地方都考这道题,我都是找个函数拿来就用,我太懒。

不过可以糊弄一句(使用mb_substr方法)

---------------------------------------------------------------

10、您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?(1分) SVN

11、您是否用过模板引擎? 如果有您用的模板引擎的名字是?(1分) Starty、PHPLib

12、请简单阐述您最得意的开发之作(4分)

…说了大家也不知道

13、对于大流量的网站,您采用什么样的方法来解决访问量问题?(4分)

硬件不说了,我能做到的环节里有:

网页静态化

配置WEB和数据库服务器分离

采用缓存机制

图片、css等可放在其他服务器…

经常使用的数据记录定时统计化

-----------------------------------------------------------------

14、用PHP写出显示客户端IP与服务器IP的代码1分)

$_SERVER['REMOTE_ADDR'];

$_S ERVER[“HTTP_HOST”];

15、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们? (2分)

查的“php的require()性能与include()相类似。不同之处在于,对include()来说,在include()执行时文件每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换了require()语句)。这就意味着如果有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高。另一方面,如果每次执行代码时相读取不同的文件,或者有通过一组文件叠代的循环,就使用include(),因为可以给想要包括的文件名设置一个变量,当参数为include()时使用这个变量”

16、如何修改SESSION的生存时间(1分).

session_cache_expire 是不是这个函数啊?

17、有一个网页地址, 比如PHP开发资源网主页: https://www.wendangku.net/doc/cd8709508.html,/index.html,如何得到它的内容?($1分)

File_get_content(“url”)

相关文档