PHP开发工程师面试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PHP开发工程师面试题
1、cookie和session的区别是什么?多台web服务器如何共享session?当用户禁用cookie后,session还可以继续工作吗?为什么?
2、在if的条件判断语句中,0和FALSE有没有区别?若有,是什么区别?若无,怎样写会使两者有区别?
3、UTF-8编码格式的页面和GBK编码格式的页面如何转换?
4、数组和对象的区别是什么?请简要描述数组的数据结构。
5、请优化以下冒泡排序的代码:
$arr=(a,b,c,d); //a,b,c,d均为数值型数据
$num=count($arr);
for($i=0;$i<$num-1;$i++){
for($j=0;$j<$num-$i-1;$i++){
if($arr[$j]>$arr[$j+1]){
$tra=$arr[$j+1];
$arr[$j+1]=$arr[$j];
$arr[$j]=$tra;
}
}
}
var_dump($arr);
6、在数据库表user的创建中,如果只实现登录功能,那么
主键id字段能不能省略?为什么?
7、简述SQL防注入的原理和应对方法,并写出已防注入的SQL查询语句。
8、在项目开发中,需要上传8M以上的大文件,请说明在PHP.ini需要修改的配置项。
9、MyISAM和InnoDB引擎有哪些区别?
10、什么是面向对象的思想?
11、简述购物车模块的功能是如何实现的。如何在不登录状态下将商品加入购物车?
12、有数组
$arr1=[”name”,”user”,”password”,”abc”,”id”,”123”];
$arr2=[”name”=>”user”,”password”=>”abc”,”id”= >”123”];
请写一个算法,将$arr1转换为$arr2。
13、有数组
$arr1=[”1”=>”abc”,”1”=>”bc”,”2”=>”abc”]; $arr2=[”1”=>array(“abc”,“bc”),”2”=>”abc”]; 请写一个算法,将$arr1转换为$arr2。
14、用PHP函数写出明天的日期时间。
15、有字符串abcdefg,如何查找字符“a”和“d”是否在该字符串中?
16、如何查找某一个数据在不在数组中?
17、如何实现字符串翻转?(注意中文和英文)
18、TP和smarty的区别?
19、实现中文截取无乱码的方法有哪些?
20、在utf-8和gbk编码格式下,substr()截取字符有没有区别?
21、PDO是做什么用的?Mysqli和Mysql有什么区别?