首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

一些PHP面试标题

2013-10-08 
一些PHP面试题目前言生活总是要往前看,等待了一天也没有阿里的面试通知,心情是相当灰暗,但是生活总要继续,

一些PHP面试题目
前言生活总是要往前看,等待了一天也没有阿里的面试通知,心情是相当灰暗,但是生活总要继续,还是要向前看,做几道PHP的面试题目,毕竟我的主要开发语言还是PHP
题目1、一个包含中英文的字符串如何获得它的自然长度
需要考虑汉字的字符编码,注意UTF-8中一个汉字占3个字节



所以就算不用框架,自己代码里也可以做到mvc分层

4、问一问framework设计里的url dispatcher他会怎么考虑
还是MVC的问题,可以通过url进行设计:http://example.com/<controler>/<action>/<id>/, 还可以通过nginx的rewrite进行跳转

5、如何访问会话变量(session)?
A.通过$_GET
B.通过$_POST
C.通过$_REQUEST
D.通过全局变量
E.以上都不对
E,解释:session变量只能通过$_SESSION数组获得

6、哪个函数能让服务器输出如下header?
set-Cookie: foo=bar;

解答:setcookie('foo', 'bar', time() + 3600);

7、在忽略浏览器bug的正常情况下,如何用一个与先前设置的域名(domain)不同的新域名来访问某个cookie?
A.通过HTTP_REMOTE_COOKIE访问
B.不可能
C.在调用setcookie()时设置一个不同的域名
D.向浏览器发送额外的请求
E.使用Javascript,把cookie包含在URL中发送
B,解释:cookie不能跨域访问

8、在HTTPS下,URL和查询字串(query string)是如何从浏览器传到Web服务器上的?
A.这两个是明文传输,之后的信息加密传输
B.加密传输
C.URL明文传输,查询字串加密传输
D.URL加密传输,查询字串明文传输
E.为确保加密,查询字串将转换为header,夹在POST信息中传输
B,解释:ssl加密

9、当把一个有两个同名元素的表单提交给PHP脚本时会发生什么?
A.它们组成一个数组,存储在超级全局变量数组中
B.第二个元素的值加上第一个元素的值后,存储在超级全局变量数组中
C.第二个元素将覆盖第一个元素
D.第二个元素将自动被重命名
E.PHP输出一个警告
C
10、如何把数组存储在cookie里?
A.给cookie名添加一对方括号[]
B.使用implode函数
C.不可能,因为有容量限制
D.使用serialize函数
E.给cookie名添加ARRAY关键词
D,解释:序列化,serialize序列化数组即可,采用implode会丢失关联数组的key值

11、以下脚本输出什么?(E)
<?php
ob_start();
for ($i = 0; $i < 10; $i++) {
echo $i;
}
$output = ob_get_contents();
ob_end_clean();
echo $output;
?>
A.12345678910
B.1234567890
C.0123456789
D.什么都没有
E.一个提示
C,解释:ob_start打开输出缓存,将输出字符保存在缓冲区里。通过ob_get_contents()获取输出的字符串

12、默认情况下,PHP把会话(session)数据存储在______里。
A.文件系统
B.数据库
C.虚拟内容
D.共享内存
E.以上都不是
A,解释:默认存在文件系统里,为了分布式,一般都放在Nosql数据库里,例如nginx+fastcgi+php5_fpm,修改fpm的php.ini session.save_path=tcp://redisip:redisport?auth=redispasswd

14、假设浏览器没有重启,那么在最后一次访问后的多久,会话(session)才会过期并被回收?
A.1440秒后
B.在session.gc_maxlifetime设置的时间过了后
C.除非手动删除,否则永不过期
D.除非浏览器重启,否则永不过期
E.以上都不对
B或者E,解释:虽然session有过期机制,默认session.gc_maxlifetime是1440秒,但是必须启动gc机制才行,gc机制的启动是有概率的,session分别使用session.gc_probability和session.gc_divisor来确定session的gc概率

15、哪个函数能把换行转换成HTML标签<br />?
nl2br

16、index.php脚本如何访问表单元素email的值?(双选)
<form action="index.php" method="post">
<input type="text" name="email"/>
</form>
A.$_GET[‘email’]
B.$_POST[‘email’]
C.$_SESSION[‘text’]
D.$_REQUEST[‘email’]
E.$_POST[‘text’]
BD,解释:提交方法为POST,所以只能从$_POST和$_REQUEST两个超级全局变量数组取得值

17、如果不给cookie设置过期时间会怎么样?
A.立刻过期
B.永不过期
C.cookie无法设置
D.在浏览器会话结束时过期
E.只在脚本没有产生服务器端session的情况下过期
D,解释:cookie跟session没有半毛钱关系,唯一的作用可以用cookie保存session的会话id
18、以下脚本将如何影响$s字符串?(双选)
<?php
$s = '<p>Hello</p>';
$ss = htmlentities ($s);
echo $s;
?>
A.尖括号<>会被转换成HTML标记,因此字符串将变长
B.没有变化
C.在浏览器上打印该字符串时,尖括号是可见的
D.在浏览器上打印该字符串时,尖括号及其内容将被识别为HTML标签,因此不可见
E.由于调用了htmlentities(),字符串会被销毁
BD,解释:htmlspecialchars转义$s后赋值给$ss,输出的是$ss








热点排行