PHP笔试题
一般面试技术岗位的时候,部分公司会有笔记题,而且有的公司笔试题目还不少,笔记题多的有几页之多,有的面试者听说有笔试题干脆不去面试了,其实绝大部分应聘者不喜欢做笔记题,因为纸上写代码与电脑上写代码还是有点区别的。
另外,纸上写代码的时候是不太方便上网查资料的,电脑上写代码上网查资料则方便多了。
下面是我在网上收集的一些PHP笔试题,供大家参考。
一、大公司的PHP面试题
1. 禁用COOKIE 后 SEESION 还能用吗?
2. 抓取远程图片到本地,你会用什么函数?
4. 你觉得在pV10W的时候, 同等配置下,LUNIX 比WIN快多少?
5. 简述pOST 和GET传输的最大容量分别是多少?
6. 用最少的代码写一个求3值最大值的函数.
1. 能
2 fsockopen
4 (不做优化的情况下一样)
5 2MB,1024B
6 function($a,$b,$c){
return $a>$b? ($a>$c? $a : $c) : ($b>$c? $b : $c );
}
http://www.yjbys.com/bbs/373648.html
二、新浪PHP面试题
1、cookie、session的联系和区别,多台web服务器如何共享session?
cookie在客户端保存状态,session在服务器端保存状态。但是由于在服务器端保存状态的时候,在客户端也需要一个标识,所以session也可能要借助cookie来实现保存标识位的作用。
cookie包括名字,值,域,路径,过期时间。路径和域构成cookie的作用范围。cookie如果不设置过期时间,则这个cookie在浏览器进程 存在时有效,关闭时销毁。如果设置了过期时间,则cookie存储在本地硬盘上,在各浏览器进程间可以共享。
session存储在服务器端,服务器用一种散列表类型的结构存储信息。当一个连接建立的时候,服务器首先搜索有没有存储的session id,如果没有,则建立一个新的session,将session id返回给客户端,客户端可以选择使用cookie来存储session id。也可以用其他的方法,比如服务器端将session id附在URL上。
区别:
(1).cookie在本地,session在服务器端。
(2).cookie不安全,容易被欺骗,session相对安全。
(3).session在服务器端,访问多了会影响服务器性能。
(4). cookie有大小限制,为3K
多服务器共享session可以尝试将session存储在memcache中。
2、http协议中的post和get有何区别?
GET用于获取信息,不应该用于修改信息,pOST可用于更新修改信息。
GET可传输数据大小和URL有关,而pOST没有限定大小,大小和服务器配置有关。
GET放在URL中,因此不安全,而pOST传输数据对于用户来说是不可见的,所以相对安全。
在ajax: post不被缓存,get被缓存所以一般在请求结尾加Math.random();
SERVER端接受:因为在submit提交的时候是按不同方式进行编码的,所以服务端在接受的时候会按照不同的方式进行接受!
编码方式:如果传递数据是非-ASCII,那么GET一般是不适应的,所以在传递的时候会做编码处理!
3、reqiure的include都可包含文件,二者的区别何在?
require在包含文件出错之后返回致命错误,跳出运行,而include 在包含文件出错之后返回警告信息,继续运行。
4、php中web上传文件的原理是什么,如何限制上传文件的大小?
pHp上传文件默认大小为2M,设置上传大小的配置项是upload_max_filesize,post_max_size设置一次pOST中pHp能接收的最大数据量,应该比upload_max_filesize大。
5、写一个函数,可以遍历文件夹下的所有文件和文件夹。
不知道我的理解是不是不对,如果是简单的列出文件和文件夹的话,下面两个应该可以。本人水平菜,没发现什么陷阱..考虑了一下,会不会题目是要 求做一个遍历,把子文件夹下的文件都要显示出来,这样的话需要使用递归对文件夹进行显示。对每次scandir出来的条目进行is_dir判断,是dir 的话递归进行下一轮的scandir。
http://www.yjbys.com/bbs/373635.html
三、PHP笔试题汇总
1、抓取远程图片到本地,你会用什么函数?
fsockopen, A
2、用最少的代码写一个求3值最大值的函数.
function($a,$b,$c){
* W0 z* u6 k+ e. L a: }5 } return $a>$b? ($a>$c? $a : $c) : ($b>$c? $b : $c );
5 O: F6 v1 W# U}
3、用PHP打印出前一天的时间,打印格式是2007年5月10日22:21:21
Echo date(‘Y-m-d H:i:s’,strtotime(‘-1 day’));
4、javascript能否定义二维数组,如果不能你如何解决?
javascript不支持二维数组定义,可以用arr[0] = new array()来解决
5、假设a.html和b.html在同一个文件夹下面,用javascript实现当打开a.html五秒钟后,自动跳转到b.html。
function go2b(){
window.location = “b.html”;
window.close();
}
setTimeout( “go2b()”,5000 ); //5秒钟后自动执行go2b()
6、//正在浏览当前页面用户的 IP 地址:127.0.0.1
echo $_SERVER["REMOTE_ADDR"].”
”;
//查询(query)的字符串(URL 中第一个问号 ? 之后的内容):id=1&bi=2
echo $_SERVER["QUERY_STRING"].”
”;
//当前运行脚本所在的文档根目录:d:inetpubwwwroot
echo $_SERVER["DOCUMENT_ROOT"].”
”;
7、在HTTP 1.0中,状态码 401 的含义是未授权____;如果返回“找不到文件”的提示,则可用 header 函数,其语句为header(“HTTP/1.0 404 Not Found”);
答:401表示未授权;header(“HTTP/1.0 404 Not Found”);
8、写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。
<?php
function my_scandir($dir)
{
$files=array();
if(is_dir($dir))
{
if($handle=opendir($dir))
{
while(($file=readdir($handle))!==false)
{
if($file!=”.” && $file!=”..”)
{
if(is_dir($dir.”/”.$file))
{
$files[$file]=my_scandir($dir.”/”.$file);
}
else
{
$files[]=$dir.”/”.$file;
}
}
}
closedir($handle);
return $files;
}
}
}
print_r(my_scandir(“D:Program FilesInternet ExplorerMUI”));
?>
9、把 John 新增到 users 阵列?
$users[] = ‘john’; array_push($users,‘john’);
10、在PHP中error_reporting这个函数有什么作用?
答:error_reporting() 设置 PHP 的报错级别并返回当前级别。
延伸阅读:
http://www.baidu.com/s?wd=php笔试题
http://www.sogou.com/web?query=php笔试题
https://www.so.com/s?q=php笔试题
最全最详细的PHP面试题(带有答案), http://wenku.baidu.com/view/4747df4af7ec4afe04a1df8f.html
PHP笔试题汇总, http://www.jobui.com/mianshiti/it/php/4276/
PHP笔试题, http://www.cnblogs.com/linzhenjie/archive/2013/05/13/3076601.html11个提问频率最高的PHP面试题, http://www.codeceo.com/article/11-php-interview-question.html