以下是网学网为您推荐的PHP-php牛逼的面试题分享,希望本篇文章对您学习有所帮助。
1.nginx使用哪种网络协议?
nginx是应用层 我觉得从下往上的话 传输层用的是tcp/ip 应用层用的是http
fastcgi负责调度进程
2. <? echo ''hello tusheng'' ; ?> 没有输出结果, 可能是什么原因, 简述的解决此问题的过程(提示: 语法没有
问题)
可能服务器上面没有开启短标签short_open_tag =设置为Off,,php.ini开启短标签控制参数: short_open_tag = On
3. 简述下面
程序的输出结果, 简要说明为什么, 如何解决这类问题?
<?php
$tmp = 0 == "a"? 1: 2;
echo $tmp;
?>
结果 1 int和string类型强制转换造成的,0==="a"
0 == 0 肯定是true啊
PHP是弱类型。。
$tmp = 0 === "a"? 1: 2;
echo $tmp; 这样就是2
4. 已知一个字符串如下: $str = "1109063 milo 1";
用一行代码将该字符串里面的1109063赋值给$uid, milo赋值给$user, 1赋值给$type
空格如下
list($uid, $user, $type) = explode(" ", $str);
\t如下
list($uid, $user, $type) = explode("\t", $str);
list($uid, $user, $type) = sscanf($str, "%d %s %d");
$n = sscanf($auth, "%d\t%s %s", $id, $first, $last);
5. 分别列出如下类型的有符号和无符号范围 TINYINT SMALLINT MEDIUMINT INT
TINYINT-2^7 - 2^7-10 ~ 2^8-1
SMALLINT-2^15 - 2^15-1 0 ~ 2^16-1
MEDIUMINT-2^23 - 2^23-1 0 ~ 2^24-1
INT-2^31 - 2^31-1 0 ~ 2^32-1
6. 将下面的数组用一行拼装成一个字符串i am milo! day day up!
<?php
$arr = array(
''I'', ''AM'', ''MILO!'', ''DAY'', ''DAY'', ''UP!''
);
?>
$str = strtolower(implode(" ",$arr));
7. 调用如下函数获取函数并获取count的值
<?php
function get_list($cnd = array(), &$count = false)
{
// 伪代码 处理$cnd 并赋值datas
$datas = ''i am call back'';
$count && $count = rand(1, 10000);
return $datas;
}
?>
$count=1;
$data = get_list($cnd,&$count);
echo $count;
8. 几种方式去取代session机制, 简单描述各自的优劣
mysql、memcache、cookie保持一种唯一状态标识码
9. 下列HTTP状态码出现的可能原因, 如何处理
200, 301, 404, 502, 503
200
请求已成功,请求所希望的响应头或数据体将随此响应返回。
301
被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。 新的永久性的 URI 应当在响应的 Location 域中返回。除非这是一个 HEAD 请求,否则响应的实体中应当包含指向新的 URI 的超
链接及简短说明。 如果这不是一个 GET 或者 HEAD 请求,因此浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。 注意:对于某些使用 HTTP/1.0 协议的浏览器,当它们发送的 POST 请求得到了一个301响应的话,接下来的重定向请求将会变成 GET 方式。
404
请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任何可以跳转的地址。404这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。
502
作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
503
由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。如果能够预计延迟时间,那么响应中可以包含一个 Retry-After 头用以标明这个延迟