PHP工程师笔试真题(含详细答案解析)_第1页
PHP工程师笔试真题(含详细答案解析)_第2页
PHP工程师笔试真题(含详细答案解析)_第3页
PHP工程师笔试真题(含详细答案解析)_第4页
PHP工程师笔试真题(含详细答案解析)_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHP工程师笔试真题(含详细答案解析)本次笔试题目为企业招聘通用PHP笔试题型,涵盖PHP基础、核心语法、数组与字符串处理、函数、面向对象、数据库操作、Web安全、常用框架基础、逻辑算法,题型包含选择题、填空题、简答题、编程题,适配初级、中级PHP工程师求职考核。考试时长:90分钟满分:100分一、单项选择题(共15题,每题2分,共30分)1、PHP中以下变量名写法正确的是()A、$1nameB、$name_1C、$name-1D、$name@1答案:B解析:PHP变量以$开头,后续只能跟字母、数字、下划线,不能以数字开头,不能包含特殊符号-、@等。2、以下不属于PHP基本数据类型的是()A、stringB、intC、arrayD、float答案:C解析:PHP基础数据类型包含:字符串、整型、浮点型、布尔型。数组属于复合数据类型。3、PHP中===和==的区别说法正确的是()A、无区别B、===只比较值,==比较值和类型C、==只比较值,===比较值和类型D、以上都不对答案:C解析:==弱比较,只判断数值是否相等,会自动转换类型;===强比较,必须值和数据类型完全一致才返回true。4、以下代码输出结果是()<?phpecho10+"20abc";?>A、1020abcB、30C、10D、报错答案:B解析:PHP运算中,字符串和数字相加会自动截取字符串开头数字部分,"20abc"会被解析为20,10+20=30。5、PHP中获取数组长度的函数是()A、length()B、count()C、size()D、len()答案:B解析:PHP使用count()、sizeof()获取数组长度,主流规范使用count();length、len是其他语言函数,PHP不支持。6、以下超全局变量可以获取表单POST提交数据的是()A、$_GETB、$_POSTC、$_REQUESTD、$_SERVER答案:B解析:$_GET获取get请求参数,$_POST获取post请求参数,$_REQUEST可同时获取get/post/cookie参数,专项获取post数据优先用$_POST。7、PHP中session和cookie的区别,说法错误的是()A、cookie存储在客户端B、session存储在服务端C、session可以永久保存D、cookie可设置过期时间答案:C解析:session默认生命周期跟随浏览器会话,关闭浏览器自动失效,无法永久保存;cookie可通过设置过期时间实现长期存储。8、终止PHP脚本执行的函数是()A、exit()B、breakC、continueD、return答案:A解析:exit()、die()可直接终止整个脚本运行;break终止循环/switch;continue跳过本次循环;return终止函数执行。9、MySQL中,PHP实现预处理语句的主要作用是()A、加快查询速度B、防止SQL注入C、美化代码D、方便书写答案:B解析:PDO、mysqli预处理语句会分离SQL结构和参数,彻底杜绝SQL注入漏洞,是项目开发标准安全写法。10、以下不属于PHP面向对象特性的是()A、封装B、继承C、多态D、重载答案:D解析:PHP面向对象三大核心特性:封装、继承、多态,不支持方法重载。11、PHP中开启错误显示的配置项是()A、error_reportingB、display_errorsC、log_errorsD、track_errors答案:B解析:display_errors控制页面是否展示错误信息;error_reporting控制错误报告级别。12、ThinkPHP框架中,接收URL参数的正确方式是()A、input()B、get()C、param()D、request()答案:A解析:ThinkPHP5/6通用input()方法安全接收请求参数,自带过滤机制,是项目标准用法。13、PHP中删除数组最后一个元素的函数是()A、array_shift()B、array_pop()C、array_unshift()D、array_push()答案:B解析:array_pop()删除数组末尾元素;array_shift()删除数组开头元素;push、unshift为新增元素。14、http状态码404代表()A、服务器错误B、请求成功C、页面不存在D、权限不足答案:C解析:404:请求资源不存在;200:请求成功;500:服务器内部错误;403:权限不足。15、PHP中文件上传的核心配置项是()A、upload_max_filesizeB、max_execution_timeC、memory_limitD、post_max_size答案:A解析:upload_max_filesize限制单文件上传大小,是文件上传核心配置;post_max_size限制整个POST请求大小。二、填空题(共10空,每空2分,共20分)1、PHP脚本的文件后缀是______,PHP代码起始标签是______。答案:php、<?php2、PHP中定义常量的两种方式是______和______。答案:define()、const3、遍历关联数组的常用循环语句是______。答案:foreach4、PHP中______函数可以将数组转为JSON字符串,______函数可以将JSON字符串转为数组。答案:json_encode()、json_decode()5、防止SQL注入最安全的两种方式是______和______。答案:预处理语句、参数绑定6、面向对象中,子类继承父类使用的关键字是______。答案:extends三、简答题(共4题,每题5分,共20分)1、简述GET和POST请求的区别?答案解析:1、参数位置:GET参数拼接在URL地址栏中,POST参数放在请求体中;2、安全性:POST安全性更高,GET参数公开可见,容易泄露、被篡改;3、数据大小:GET有URL长度限制,无法传输大数据;POST无严格大小限制,支持文件上传;4、缓存特性:GET请求会被浏览器缓存,POST默认不缓存;5、使用场景:GET用于查询数据,POST用于提交、修改、新增数据。2、简述Cookie和Session的区别与使用场景?答案解析:区别:1、存储位置:Cookie存储在客户端浏览器,Session存储在服务器端;2、安全性:Session安全性更高,Cookie可被用户查看、修改;3、存储容量:Cookie容量小,Session无限制;4、生命周期:Cookie可手动设置永久过期,Session随浏览器关闭失效。场景:Cookie用于保存用户偏好、记住登录状态;Session用于保存用户登录信息、临时会话数据。3、PHP中include和require的区别?答案解析:1、报错机制:include引入文件失败时,只抛出警告错误,脚本继续执行;require引入失败时,抛出致命错误,脚本终止执行;2、使用场景:常用文件、核心配置文件用require;非必须、辅助性文件用include;3、衍生用法:include_once、require_once可防止文件重复引入。4、简述SQL注入的原理和防范方案?答案解析:原理:用户恶意输入特殊SQL语句,程序未做过滤,直接拼接SQL语句执行,导致数据库数据泄露、篡改、删除。防范方案:1、使用PDO/mysqli预处理语句+参数绑定;2、过滤、转义用户所有输入数据;3、数据库账号最小权限配置,禁止root账号对接项目;4、关闭数据库错误详情展示,避免信息泄露。四、编程题(共3题,共30分)1、编写PHP代码,遍历输出一维数组所有元素(10分)需求:定义数组$arr=['张三','李四','王五','赵六'],使用foreach循环遍历输出每一个值参考答案:PlainText

<?php

$arr=['张三','李四','王五','赵六'];

foreach($arras$val){

echo'姓名:'.$val.'<br/>';

}

?>2、编写PHP代码,实现字符串反转(不使用strrev函数)(10分)参考答案:PlainText

<?php

functionstr_reverse($str){

$len=strlen($str);

$newStr='';

for($i=$len-1;$i>=0;$i--){

$newStr.=$str[$i];

}

return$newStr;

}

echostr_reverse('abcdef');

?>3、编写PHP连接MySQL数据库并查询数据的基础代码(PDO方式)(10分)参考答案:PlainText

<?php

//数据库配置

$db_host='localhost';

$db_user='root';

$db_pwd='root';

$db_name='test';

try{

//连接数据库

$dsn="mysql:host={$db_host};dbname={$db_name};charset=utf8";

$pdo=newPDO($dsn,$db_user,$db_pwd);

$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

//查询数据

$sql="SELECT*FROMuser";

$stmt=$pdo->query($sql);

$data=$stmt->fetchAll(PDO::FETCH_ASSOC);

print_r($data);

}catch(PDOException$e){

echo'数据库连接失败:'.$e->getMessage();

}

?>五、附加面试高频题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论