php 笔试大全 面试题 答案 解析
2009-09-23 13:31
选择题
1、            如何产生带有数字列表符号的列表?(c)
A. <ul>        B. <dl>        C. <ol>        D. <list>
2、            以下哪条javascript语句会产生运行错误:(A)
A. var obj = ();    B. var obj = [];    C. var obj = {};    D. var obj = //;
3、            请选择结果为真的表达式:(c)
A. null instanceof Object                  B. null === undefined
C. null == undefined                        D. NaN == NaN
4、            foo 对象有at属性,那么获取att属性的值,以下哪些做法是可以的:(ACE)--多选
A. foo.att              B. foo(“att”)          C. foo[“att”]
D. foo{“att”}                E. foo[“a”+”t”+”t”]
5、            如何显示没有下划线的超链接?A
A. a {text-decoration:none}                    B. a {text-decoration:no underline}
C. a {underline:none}                      D. a {decoration:no underline}
字符串函数php6、            以下一段XHTML代码片段,它不符合W3C规范,请问出现了几处错误: ( 2)
<div id="newsmore">
<ul>
<li><img src="0967_ohmyrabbit.jpg"></li>
<li>印度总理辛格访华专题</li>
<li>
<ul id="newsmore">
<li>专访辛格:早日解决边界问题是战略目标</li>
<li>辛格称北京奥运将为印度举办赛事提供灵感</li>
<li>印度总理辛格访华参观北京奥运场馆建设</li>
</ul>
</li>
</ul>
</div>
7、          如何将一个数组元素的排列顺序反转过来(例如以下代码反转以后的顺序是: array ('d', 'c', 'b', 'a'))? (选择2个答案) BD
<?php
$array = array ('a', 'b', 'c', 'd');
?>
A. array_flip()
B. array_reverse()
C. sort()
D. rsort()
8、          比较两个字符串大小的最好方法是什么? C
A. srpos      B. ==        C. trcasecmp()          D. strcmp()
9、            哪个选项会匹配下边的这个正则表达式? (/.*\*xyz\d/)C
A. ******xyz            B. *****_xyz1      C. ****** xyz2          D. _*xyz
10、      以下哪个错误无法被标准的错误控制器获取?B
A. E_WARNING  B. E_USER_ERROR          C. E_PARSE D. E_NOTICE
填空题
1.        $val = max('string', array(2, 5, 7), 42);  //$val值为___42____
2.        (^\s*)|(\s*$)这个正则表达式作用是:_____匹配以0个或多个空白符开头或者0个或多个空白符结尾的字符串_____;
3.        @和&的作用____忽略错误,与_____________________;
4.        使用oracle中日期转换函数,把字符串“2007-1-18 21:22:13”转换成日期类型
to_date('$tr_time','YYYY-MM-DD HH24:MI:SS')
5.        定义常量MYPI=3.14______define(“MYPI”,”3.14”)___________________;
6.        linux下,如何查看所有用户______ cat /etc/passwd ___________________;
简答题
1.        简述单引号和双引号的用法
双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符
2. Switch完整语法和注意事项
switch ($shuaige)
{
case 1:
我是帅哥;
break;
case 2:
帅哥是我;
break;
default:
帅哥;
}
使用 Switch 语句可以避免冗长的 if..lse 代码块, case只能处理整数,或者能像整数一样运算的类型,比如char, 使用时case 后用'', 注意 break不能少,default是为了处理一些之前没有包含到的情况,这样更为安全。
3.用PHP编写代码在页面输出当前的北京时间,格式为“2007-01-18 09:22:03”
date_default_timezone_set('PRC');
echo date("Y-m-d H:i:s",time());
4.        以下语句可能存在错误,如果存在错误请指出什么错误(每个语句单独考虑)
l        print_r $val = 333;
print_r($val = 333);
l        $a += ($b = 4) + 5;
l        $foo[bar] = 'enemy';
无,最好bar加上引号
l        function x($a = "1", $b){}
5.列举web开发中的安全性问题
1, sql注入攻击
2, 数据库操作安全,UPDATE、 DELETE、INSERT的操作没有限制用户操作权限,这将是一件很危险的事情。
3, 没有验证用户http请求的方式 POST 或者 GET,GET请求被合法通过!
4, 没有验证表单来源的唯一性,不能识别是合法的表单提交还是黑客伪造的表单提交!
6. 简述GBK、GB2312、BIG5 、GB18030
GB2312支持的汉字较少,GBK是相比GB2312汉字更为丰富,GB18030相比GBK增加了一些少数名族汉字汉字库更为多样,但是常人很难用到,一般简体中文使用GBK。而繁体中文使用BIG5.
7.        isset()和empty()的区别
isset($var); //为false 没有定义没有定义为假
$var = '';
isset($var); //为true 定义了为真
empty($var); //为true 值为空反回真
$var = '111';
empty($var); //为false 不为空返回假
8.如果某段与数据库交互的程序运行较慢你将如何处理?
一是首先提高数据库的查询速度,比如增加索引,优化表的结构.
二是优化程序代码,如果查询比较多,可以尽量用条件查询,减少查询语句,比如能用一条查询语句就不用两条.
三就是提高服务器的速度,优化服务器,把不必要的进程关掉。
9. 简述存储过程的适用情况
sql难以实现的复杂逻辑或计算, 不建议在高并发的系统中使用存储过程.
10.    Linux上的crond服务可对服务器设置计划任务,请问如果我需设置每2分钟执行一次/tmp/test.sh的脚本应如何设置计划任务,请写出操作方法。
1、首先用root用户的权限登录。
2、切换到/etc/init.d/目录下,使用命令:crond start 启动crond服务。
3、切换到/etc/目录下,使用命令: crontab –e /tmp/test.sh。
11.    在很多时候,我们可以通过apache的主配置文件来设置对test目录的访问权限控制,如:IP/test请问如果需设置test下的一个子目录的访问控制权限,是否可以在主配置文件中修改,如果不可以应如何解决。
可以,如果不可以在需要控制的子目录下创建.htaccess文件,写入访问控制
12.    以下代码会产生什么问题,如何解决
<?php
$dir = $_POST['dir'];
include("/usr/local/apache/htdoc/inc/$dir ");
?>
不安全,禁止此种写法。需要用户提供目录,必须对输入进行过滤和安全的防范。
实现题
1.      用html 实现如下表格:三行三列,其中第一行第一列和第二行第一列合并;第二行第二列和第二行第三列合并
<table>
<tr><td colspan=2></td><td><tr>
<tr><td rowspan=2></td><td></td><td></td></tr>
<tr><td></td><td></td></tr
</table>
2.        如何求解字符串”中国2北333京”的字符数(一个中文一个字符),并到第四个字符”北”(PHP)
在配置中打开mb_substr支持
$string ='中国2北333京';
echo mb_substr($string,5,2);
3.        计算某段字符串中某个字符出现的次数(例如: gdfgfdgd59gmkblg中g的次数)(PHP)
$text = 'gdfgfdgd59gmkblg';
echo substr_count ( $text,'g');
4.        如何通过php程序防止外部页面提交表单?编写一段代码
<?
session_start();
if(isset($_POST['name']) && !empty($_POST['name']))
{
if($_POST['check']==$_SESSION['check'])
{
echo '正常访问';
}
else
{
echo '外部访问';
}
}
$token=md5(uniqid(rand(),true));
$_SESSION['check']=$token;
?>
<form method="post" action="">
<input type="text" name="name"><input type="text" name="check" value="<?=$token;?>"><input type="submit">
</form>
5.        编写函数取得上一月的最后一天
function getLastMonthLastday($dateString = ''){
$time = time();
if($dateString != '')
$time = strtotime($dateString);
return date('Y-m-t', strtotime('last month', $time));
}
echo getLastMonthLastday(); //显示当前日期的上月最后一天
6.      如何添加html 元素的事件,有几钟方法,举例
直接在页面html元素中添加;例子:<img onclick=”alert(‘hello’);” src=”hello.jpg”>
调用脚本激发控件的某个事件;例子:object.attachEvent("onclick",alert(‘hello’));
7.        企业产品表有一下字段企业ID(cid)、企业发布产品(product),发布时间(pubtime),要求:查出“企业发布产品”命中关键字“啤酒”的记录,按以下顺序排序:每个企业在最近3日内最新的一条记录,然后是其他所有的记录,不考虑数据库类型。
SELECT *
FROM `mytable`
WHERE `product` LIKE '%啤酒%'
GROUP BY `cid`
ORDER BY `pubtime`

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。