PHP开发工程师笔试题

1、请简述isset、is_null和empty三个函数的区别
isset判断变量是否已经设置,is_null判断变量值是否为NULL,empty判断变量是否为空
2、关于is_bool函数,请写出以下代码的输出结果。
$a = false;
$b = 0;
if (is_bool($a)) {
echo "Yes,a is a boolean";
}
if (is_bool($b)) {
echo "Yes,b is a boolean";
}
输出结果:
Yes,a is a boolean
3、PHP中如何对数组按照键名进行排序?
ksort()升序,krsort()降序
4、请使用正则表达式判断用户输入是否为正确的Email地址。
function is_email($email){
$exp = "/^([a-z0-9_]|-|.)+@([a-z0-9]|-)+.[a-z]{2-6}$/i";
if(strpos($email,'@')!==false && strops($email,'.')!==false){
if(preg_match($exp,$email)){
return true;
} else{
return false;
}
} else{
return false;
}
}
5、简单叙述一下COOKIE和SESSION的区别,已及SESSION的实现机制。
1.COOKIE保存在客户端一般在C盘的temp下,需要客户端开启对cookie的支持,SESSION保存在服务器端;
2.SESSION的实现机制:服务器响应客户端的请求为其创建一个SESSION时,先要检查请求里是否有SESSION标识(sessionid),有的话说明之前已经创建过,直接使用,否则创建它并生成一个与之关联的sessionid返回给客户端。
6、有URL连接http://www.itbeing.com/index.php?id=1,请写一段代码提取该URL的域名信息(www.itbeing.com)以及scheme协议(http)。
$url = 'http://www.itbeing.com/index.php?id=1';
$curl = parse_url($url);
$str = 'host:'.$curl['host'];
$str .= '
';
$str .= 'scheme:'.$curl['scheme'];
echo $str;
7、简要介绍你理解的HTML和XHTML的主要区别是什么?
XHTML是HTML的升级版,要求更严格也就更规范:1.标签必须闭合;2.集合了XML;3.属性要用双引号;4.标签名要用小写字母;元素必须被正确的嵌套如

……

就不对;
8、请简要介绍一下你理解的AJAX是什么?
AJAX并不是一门新的语言,只是几种语言的一个集合有XHTMLCSS,XML,javascript,其核心是XMLHttpRequest,实现异步通信。
9、有如下代码,请从结果中选择正确的结果填入相应的位置。并且请简述Fatal error和Parse error两者的区别?(OOP和PHP内部机制)
class Test{
public static function doTest(){
echo "fortestn";
}
}
$test = new Test();
$test->doTest(); //输出:( A)
Test::doTest(); //输出:( A)
$method = 'doTest';
$test->$method(); //输出:( B)
Test::$method(); //输出:( A)
$class = 'test';
$class->$method(); //输出:( B)
$$class->$method(); //输出:( B)
$class = 'Test';
$class::$method(); //输出:( C)
$$class::$method(); //输出:( C)
A.输出 fortest
B.输出 Fatal error: Call to a member function doTest() on a non-object
C.输出 Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM
10、有一个简单的论坛系统,管理员后台可以管理论坛板块,用户前台可以发表帖子,上传帖子附件,请创建一个简单的数据库表模型并加以简要的说明。
plate 板块表
id int(11) 自动增长 板块编号
pid int(11) 子板块id
name varchar(20) 板块名称
o int(11) 排序ID
article 帖子表
id int(11) 自动增长 帖子编号
title varchar(50) 帖子标题
content text 帖子内容
send_time int(11) 发帖时间戳
file varchar(255) 附件名
pid int(11) 所属板块id
11、JavaScript中如何将字符串转换成整数?
parseInt();
12、请列出常用的Linux编辑器?
vim、gedit等
13、Linux下如何找出文件名为httpd.conf的文件路径?
which httpd.conf
find / -name httpd.conf 这个很耗资源、效率也低,是全盘遍列查找
whereis httpd.conf
locate httpd.conf
14、PHP中实现文件操作的几种方式?
file()读取文件到数组
file_get_contents()读取文件到字符串
fopen()fwritefclose
fgets()从文本指针中读取一行
file_exists()、filesize()
15、简单叙述一下Mysql数据库中Varchar和Char数据类型的区别?
varchar是可变长度,会根据字符串实际长度在有限指定范围内进行伸缩
char是固定长度,你分配多大就占用多大
在性能在char比varchar快,原因varchar可计算长度
16、简述MyISAM存储引擎和InnoDB存储引擎的主要区别?
MyISAM不支持事务,也不支持外键;相反,InnoDB支持事务也支持外键;
所以如果经常进行INSERTUPDATE操作时应该使用InnoDB。
17、简述Apache服务器中.htaccess 文件的作用是什么?
根据自己的需要,针对特定的目录及子目录改变服务器上的配置,可以做到文件扩展名更改、
网址格式化及重定向(这在使用PHP框架统一入口经常用)等
18、请简单描述一个PHP文件缓存的实现机制(如Smarty的缓存机制原理)。
将用户请求的内容存入一个静态文件中,当再次得到请求时直接从静态文件中输出,减少对数据库的访问;
Smarty的缓存机制原理就是这样,开启Cache后,用户第一次请求,服务器响应,PHP文件经过编译后生成HTML静态页保存在相应目录中,有效期内,用户再次请求,直接从静态页输出。
19、选做题:你怎么理解Run-time errors、Run-time warnings、Compile-time parse errors、Compile-time errors?(PHP内部错误机制)
Run-time errors:解释执行错误
Run-time warnings:解释执行警告
Compile-time parse errors:解析错误
Compile-time errors:编译错误

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值