设为首页 加入收藏

TOP

PHP程序员面试题参考手册2(一)
2014-11-24 00:10:23 来源: 作者: 【 】 浏览:9
Tags:PHP 程序员 试题 参考 手册

101.echo(),print(),print_r()的区别?


答:


Echo() PHP语法,可以输出多个值,不能输出数组。


Print() PHP函数,可以输出单个简单类型的变量值。


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



102.什么是模板技术、能够使HTMLPHP分离开使用的模板?


答:


模板技术就是使程序的逻辑代码和界面分开的技术。


能够使HTMLPHP分开的模板有:SmartyTemplatePHPlib TemplateFastTemplate



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


答:


优化程序,优化数据库,如果程序和数据库已经最优化,使用以下解决方法:


1、确定当前服务器设备是否满足流量需求。


2、使用Memcache缓存技术,把动态内容缓存到文件中,动态网页直接调用这些文件,而不必再访问数据库。


3、禁止外部盗链,图片和文件外部盗链会给服务器带来大量的负载压力,可以通过refer来禁止外部盗链,或者使用apache来配置禁止盗链。


4、控制大文件的下载,大文件的下载对于非SCSI硬盘来说会占用大量的资源,导致服务器的响应能力下降。


5、使用不同的主机分流主要流量,使服务器均衡负载。


6、使用流量统计软件统计分析网站流量,可以知道哪些地方耗费了大量的流量,哪些页面需要再进行优化。


104.mysql_fetch_row() mysql_fetch_array之间有什么区别


答:


Mysql_fetch_row()以索引数组的方式取查询的结果集,mysql_fetch_array()以索引数组和关联数组两种方式取查询的结果集。




105.实现中文字串截取无乱码的方法


答:


Mb_substr();



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


答:


获取客户端IPget_env(“REMOTE_ADDR”);


获取服务器端IP$_SERVER["SERVER_ADDR"];



107.有一个网页地址, 比如PHP开发资源网主页: http://www.phpres.com/index.html,如何得到它的内容


答:


获取网页内容:


$url=”http://www.phpres.com/index.html“;


$str=file_get_contents($url);



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


答:


function checkemail($email)


{


echo preg_match(‘/^[\w]+@[\w]+[\.]([\w]+)$/’,$email) ’email格式正确‘:’email格式不正确‘;


}



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


答:


$_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];取得当前页面的完整路径和参数。


取得参数:$_SERVER['QUERY_STRING'];



110.JS表单弹出对话框函数是 获得输入焦点函数是


答:


Alert();


Onfocus();


111.写一个函数,算出两个文件的相对路径


如 $a = ’/a/b/c/d/e.php’;


$b = ’/a/b/12/34/c.php’;   


计算出 $b 相对于 $a 的相对路径应该是 http://www.cnblogs.com/c/d()添上


$a=”http://www.cnblogs.com/a/b/c/d/e.php”;


$b=”http://www.cnblogs.com/a/b/12/34/c.php”;


答:


$ainfo=parse_url($a);


$binfo=parse_url($b);


$apath=ltrim($ainfo['path'],’/');


$bpath=ltrim($binfo['path'],’/');


$arr=explode(‘/’,$apath);


$brr=explode(‘/’,$bpath);



$count=count($arr);


for($i=0;$i<$count;$i++)


{


if($arr[$i]==$brr[$i])


{


$brr[$i]=’..’;


}


else


{


break;


}


}


$cha=implode(‘/’,$brr);


print_r($cha);



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


答:


function show($dirs){


$dir=opendir($dirs);


While($f=readdir($dir))


{


If($f!=’.' && $f!=’..’)


{


$file=$dirs.’/’.$f;


If(is_file($file))


{


Echo ’文件名:‘.$file.’
’;


}


Else


{


Show($file);


}


}


}


}



113.Cookiesession的区别,禁止了cookiesession能正常使用吗?session的缺点是什么?session在服务器端是存在哪里的?是共有的还是私有的?


答:


COOKIE保存在客户端,用户通过手段可以进行修改,不安全,单个cookie允许的最大值是3k


SESSION保存在服务器端,相对比较安全,大小没有限制。


禁用了cookie之后session不能正常使用。


Session的缺点:保存在服务器端,每次读取都从服务器进行读取,对服务器有资源消耗。


Session保存在服务器端的文件或数据库中,默认保存在文件中,文件路径由php配置文件的session.save_path指定。


Session文件是公有的。



114.数据库索引有几类,分别是什么?什么时候该用索引?


答:


普通索引、主键索引、唯一索引


并非所有的数据库都以相同的方式使用索引,作为通用规则,只有当经常查询列中的数据时才需要在表上创建索引。



115.写几个魔术方法并说明作用?


答:


__call()当调用不存在的方法时会自动调用的方法


__autoload()在实例化一个尚未被定义的类是会自动调用次方法来加载类文件


__set()当给未定义的变量赋值时会自动调用的方法


__get()当获取未定义变量的值时会自动调用的方法


__construct()构造方法,实例化类时自动调用的方法


__destroy()销毁对象时自动调用的方法


__unset()当对一个未定义变量调用unset()时自动调用的方法


__isset()当对一个未定义变量调用isset()方法时自动调用的方法


__clone()克隆一个对象


__tostring()当输出一个对象时自动调用的方法







116.$_REQUEST$_POST$_GET$_COOKIE$_SESSION$_FILE的意思是什么


;


它们都是PHP预定义变量。


$_REQUEST用来获取postget方式提交的值。


$_POST用来获取post方式提交的值。


$_GET用来获取get方式提交的值。


$_COOKIE用来获取cookie存储的值,


$_SESSION用来获取session存储的值,


$_FILE用来获取上传文件表单的值



117.数组中下标最好是什么类型的,为什么?


答:


数组的下标最好是数字类型的,数字类型的处理速度快。



118.++ii++哪一个效率高,为什么?


答:


++i效率比i++的效率

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇介绍一下白盒测试中的六种覆盖方.. 下一篇电子通信研究生就业指导(电子 通..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: