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小时内删除。
发表评论