php程序员笔试题+答案

上传人:第*** 文档编号:34409050 上传时间:2018-02-24 格式:DOCX 页数:12 大小:32.50KB
返回 下载 相关 举报
php程序员笔试题+答案_第1页
第1页 / 共12页
php程序员笔试题+答案_第2页
第2页 / 共12页
php程序员笔试题+答案_第3页
第3页 / 共12页
php程序员笔试题+答案_第4页
第4页 / 共12页
php程序员笔试题+答案_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《php程序员笔试题+答案》由会员分享,可在线阅读,更多相关《php程序员笔试题+答案(12页珍藏版)》请在金锄头文库上搜索。

1、【精心整理】PHP 程序员笔试题+答案 入门级 php 程序员面试题 (总 100 分/47 题) 简述题(50 分) 1、用 php 打印出前一天的时间格式是 2006-5-10 22:21:21(2 分) echo date(Y-m-d G:i:s,strtotime(-1 day); 2、echo(),print(),print_r()的区别(3 分) echo()是一个 php 语句,所以没有返回值,能打印简单的数据。print()是一个函数,有返回值,能打印简单的数据。print_r()是一个函数,能打印复杂的(mix)数据。如:;echo the value is $value;$

2、arr = array(name=wangking,qq=123456);print_r($arr);? 运行结果:hello wordthe value is 1Array ( name = wangking qq = 123456 ) . 3、能够使 html 和 php 分离开使用的模板(1 分) smarty 模板4、使用哪些工具进行版本控制?(1 分) TortoiseSVN6、如何实现字符串翻转?(3 分) strrev(Hello world!); 7、优化 mysql 数据库的方法。 (4 分,多写多得) (1).数据库设计方面 ,这是 DBA 和 Architect 的责任,

3、 设计结构良好的数据库,必要的时候,去正规化(英文是这个:denormalize,中文翻译成啥我不知道), 允许部分数据冗余, 避免 JOIN 操作,以提高查询效率(2).系统架构设计方面,表散列,把海量数据散列到几个不同的表里面 .快慢表,快表只留最新数据,慢表是历史存档.集群,主服务器 Read & write,从服务器 read only,或者 N 台服务器,各机器互为 Master(3).(1) 和(2)超越 PHP Programmer 的要求了,会更好, 不会没关系.检查有没有少加索引(4).写高效的 SQL 语句,看看有没有写低效的 SQL 语句,比如生成笛卡尔积的全连接啊,大量

4、的 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_

5、id = ?不要 set content = ?(大文本)(6).必要的时候用不同的存储引擎. 比如 InnoDB 可以减少死锁.HEAP 可以提高一个数量级的查询速度8、php 的意思(送 1 分) Hypertext Preprocessor9、mysql 取得当前时间的函数是?,格式化日期的函数是(2 分) now() DATE_FORMA T(date, format) .10、实现中文字串截取无乱码的方法。(3 分) 使用 mbstring 扩展库的 mb_substr()截取就不会出现乱码了- 11、您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?(1 分) Torto

6、iseSVN12、您是否用过模板引擎? 如果有您用的模板引擎的名字是?(1 分)smarty 模板13、请简单阐述您最得意的开发之作(4 分) 14、对于大流量的网站,您采用什么样的方法来解决访问量问题?(4 分) 15、用 php 写出显示客户端 ip 与服务器 ip 的代码(1 分)打印客户端 IP:echo $_SERVERREMOTE_ADDR; 或者: getenv(REMOTE_ADDR);打印服务器 IP:echo gethostbyname(http:/ include 和 require 的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们? (2 分) requir

7、e 的使用方法如 require(MyRequireFile.php); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。include 使用方法如 include(MyIncludeFile.php); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。为避免多次包含同一文件,可用 require_once()/include_once()语句代替它们。17、

8、如何修改 session 的生存时间(1 分). 、?phpsession_start(); / 保存一天 $lifeTime = 24 * 3600; setcookie(session_name(), session_id(), time() + $lifeTime, /); ?18、有一个网页地址 http:/ 分) $contents = file_get_contents(“http:/ http 1.0 中,状态码 401 的含义是(?) ;如果返回“找不到文件 ”的提示,则可用 header 函数,其语句为(?);(2 分) 401 表示未授权;header(HTTP/1.0 4

9、04 Not Found);见参考手册函数参考HTTP 函数header12、在 php 中,heredoc 是一种特殊的字符串,它的结束标志必须?(1 分) 13、谈谈 asp,php,jsp 的优缺点(1 分) asp:简单而易于维护,很适合小型网站应用,通过 DCOM 和 MTS 技术,ASP 甚至还可以完成小规模的企业应用,但 ASP 的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。PHP:语法简单,非常易学易用,很利于快速开发各种功能不同的定制网站,PHP 因为结构上的缺陷,使的 PHP 在复杂的大型项目上的开发和维护都比较困难。JSP:对于网站开发来讲不像 PHP

10、 和 ASP 那样易学易用,支持 JAVA 的主机也少于支持 PHP的主机,这从一定程度上限制了 Java 技术在网站上的发展,不过在企业软件应用上来讲,MVC 还是拥有相当大的优势的,虽然其配置和部署相对其他脚本语言来说要复杂一些,但对于跨平台的中大型企业应用系统来讲,基于 JAVA 技术的 MVC 架构几乎成为唯一的选择。14、谈谈对 mvc 的认识(1 分) MVC (Model-View-Controller )模式,即模型-试图-控制器模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的 3 个组成部分,具体的功能如下:模型(Model ):业务逻辑层。实现具体的业务逻辑、状

11、态管理的功能。视图(View ):表示层。就是与用户实现交互的页面,通常实现数据的输入和输出功能。控制器(Controller):控制层。起到控制整个业务流程的作用,实现 View 层跟 Model 层的协同工作。15、写出发贴数最多的十个人名字的 sql,利用下表:members(id,username,posts,pass,email)(2 分) SELECT username FROM membersGROUP BY id ORDER BY count(posts) DESC LIMIT 0 , 1016. 请说明 php 中传值与传引用的区别。什么时候传值什么时候传引用?(2 分) 按

12、值传递:函数范围内对值的任何改变在函数外部都会被忽略按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改优缺点:按值传递时,php 必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。按引用传递则不需要复制值,对于性能提高很有好处。17. 在 php 中 error_reporting 这个函数有什么作用? (1 分 ) error_reporting() 设置 PHP 的报错级别并返回当前级别。18. 请写一个函数验证电子邮件的格式是否正确 (2 分) function checkEmail(sText) var reg=/(?:w+.?)*w+(?:w+.

13、?)*w+$/; var email=document.getElementById(sText).value;if(!reg.test(email) alert(电子邮件检测失败 );else alert(电子邮件格式正确); 19. 简述如何得到当前执行脚本路径,包括所得到参数。(2 分) echo $_SERVERSCRIPT_FILENAME.?.$_SERVERQUERY_STRING;20.如何修改 session 的生存时间. (1 分) ?phpsession_start(); / 保存一天 $lifeTime = 24 * 3600; setcookie(session_na

14、me(), session_id(), time() + $lifeTime, /); ?21、js 表单弹出对话框函数是?获得输入焦点函数是? (2 分) alert(),prompt(),confirm()focus()22、js 的转向函数是?怎么引入一个外部 js 文件?(2 分) window.location.href23、foo()和foo()之间有什么区别?(1 分) PHP 支持一个错误控制运算符:。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。注意: 运算符只对表达式有效。对新手来说一个简单的规则就是:如果能从某处得到值,就能在它前面加上

15、运算符。例如,可以把它放在变量,函数和 include()调用,常量,等等之前。不能把它放在函数或类的定义之前,也不能用于条件结构例如 if 和 foreach 等。24、如何声明一个名为”myclass”的没有方法和属性的类? (1 分) class myclass;25、如何实例化一个名为”myclass” 的对象?(1 分) $newmyclass = new myclass();26、你如何访问和设置一个类的属性? (2 分) 通过-$newmyclass = new myclass();$temp=$newmyclass-testvalue;$newmyclass-testvalue=”a”; 27、mysql_fetch_row() 和 mysql_fetch_array 之间有什么区别? (1 分) mysql_fetch_row() 从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。mysql_fetch_array() 是 mysql_fetch_row

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号