PHP的面试题集,附我的答案和分析(一)


Posted in PHP onNovember 19, 2006

面试题1
1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21
2、echo(),print(),print_r()的区别
3、能够使HTML和PHP分离开使用的模板
4、如何实现PHP、JSP交互?
5、使用哪些工具进行版本控制?
6、如何实现字符串翻转?
7、优化MYSQL数据库的方法。
8、谈谈事务处理
9、apache+mysql+php实现最大负载的方法
10、实现中文字串截取无乱码的方法。

答案:

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

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

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

4.题目有点含糊不清,SOAP,XML_RPC,Socket function,CURL都可以实现这些,如果是考PHP和Java的整合,PHP内置了这种机制(如果考PHP和.NET的整合,也可以这么回答),例如$foo = new Java('java.lang.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.高考政治题,把你知道的知识点都写上吧.我的答案:
(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.参见第七题的答案,那个地方搞好了这个问题就迎刃而解了.

10.哈哈哈,我猜出题的人是不是被substr的中文处理问题烦恼很久了,是不是还用了网上流传的用正则匹配中文字符然后截取的函数,其实,有非常简单的解决方法:mb_substr()

面试题2
var $empty = '';
var $null = NULL;
var $bool = FALSE;
var $notSet;
var $array = array();
1.
$a = "hello";
$b = &$a;
unset($b);
$b = "world"; 
what is $a?

2.
$a = 1;
$x = &$a;
$b = $a++; 
what is $b?

3.
$x = empty($array);
what is $x? true or false

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

5.您是否用过模板引擎? 如果有您用的模板引擎的名字是?

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

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

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

答案一次更新blog的时候再写.

PHP 相关文章推荐
PHP中用header图片地址 简单隐藏图片源地址
Apr 09 PHP
PHP 验证码的实现代码
Jul 17 PHP
色色整理的PHP面试题集锦
Mar 08 PHP
php addslashes 利用递归实现使用反斜线引用字符串
Aug 05 PHP
Thinkphp中数据按分类嵌套循环实现方法
Oct 30 PHP
php从数据库查询结果生成树形列表的方法
Apr 17 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
Dec 14 PHP
php脚本守护进程原理与实现方法详解
Jul 20 PHP
php mysql PDO 查询操作的实例详解
Sep 23 PHP
PHP实现的XXTEA加密解密算法示例
Aug 28 PHP
php无限极分类实现方法分析
Jul 04 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
Feb 10 PHP
echo(),print(),print_r()之间的区别?
Nov 19 #PHP
PHP的面试题集
Nov 19 #PHP
php+mysql实现无限级分类 | 树型显示分类关系
Nov 19 #PHP
PHP生成静态页面详解
Nov 19 #PHP
smarty实例教程
Nov 19 #PHP
PHP编程中八种常见的文件操作方式
Nov 19 #PHP
PHP初学入门
Nov 19 #PHP
You might like
一个改进的UBB类
2006/10/09 PHP
PHP提示Notice: Undefined variable的解决办法
2012/11/24 PHP
PHP中如何定义和使用常量
2013/02/28 PHP
配置php网页显示各种语法错误
2013/09/23 PHP
php多文件上传实现代码
2014/02/20 PHP
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
2007/04/12 Javascript
js、css、img等浏览器缓存问题的2种解决方案
2013/10/23 Javascript
JS实现控制表格只显示行边框或者只显示列边框的方法
2015/03/31 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍
2018/03/01 Javascript
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
2018/08/31 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
Python使用defaultdict读取文件各列的方法
2017/05/11 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
python 实现UTC时间加减的方法
2018/12/31 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
基于python计算并显示日间、星期客流高峰
2020/05/07 Python
Python在字符串中处理html和xml的方法
2020/07/31 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
CAT鞋美国官网:CAT Footwear
2017/11/27 全球购物
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
初一学生期末评语
2014/04/24 职场文书
安全宣传标语口号
2014/06/06 职场文书
2015年财务部工作总结
2015/04/10 职场文书
妈妈别哭观后感
2015/06/08 职场文书
电视新闻稿
2015/07/17 职场文书
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android