PHP开发工程师面试题 php面试宝典
A. $user[] = 'john';
B. array_add($user, 'john');
C. array_push($user, 'john');
D. $user ||= 'john';
2. 比较sort(), asort(), ksort()三个函数的用法以及使用环境。
答:
sort -- 将数组的值由a-z重排,并自动替换索引从0...结束
asort --- 此函数将数组的元素由a-z重新排列,且保持原先索引值和元素的对应关系,这个函数主要是用于
需要将数组的元素重新排列。这个函数比较常用。
ksort --- 此函数将数组依照索引值由a-z重新排列
例子:
对array('a'=>111, '9'=>"orange",6=>2, "apple");排序。
sort则返回: Array ( [0] => apple [1] =>orange [2] => 2 [3] => 111)值由a-z重排,索引也变了。
asort则返回:Array ( [10] => apple [9] =>orange [6] => 2 [a] => 111)值由a-z重排,保持索引以应
ksort则返回: Array ( [a] => 111 [6] => 2[9] => orange [10] => apple)索引值由a-z重新排列,保持索
引以应
3. 以下代码输出什么内容, 为何。
$num = 10;
function foo(){
$num = $num * 10;
}
foo();
echo $num;
答:
结果为10.因为foo()中的$num是访问不到函数外的变量的。要想访问加上global $num;结果就成100了
。
4. 引用和普通变量的区别。
答:普通变量是开辟了一块新的存储空间,引用是直接指向其他的存储空间。
如:
$num = 10;
function foo($num){
$num = $num * 10;
}
foo($num);
echo $num;
调foo($num);函数时以变量传递,则返回10;
如果改成引用传递,返回100;
$num = 10;
function foo(&$num){
$num = $num * 10;
}
foo($num);
echo $num;
5. 加载类库的方法。
答:
function __autoload($class){
require_once("./lib/".$class.'.php');
}
6. foo()和@foo()的区别。
答:加上@符号会屏蔽报错提示。
如下:
$num = 10;
function foo(&$num){
$num = $num / 0;
}
foo($num);
echo $num;
大家都知道除数不能为0。如果加上@符号后就没有Warning: Division by zero
7. 你平时如何调试PHP代码。
答:用echo打出调试或用exit调试。再加上火狐浏览器调。
8. === 的作用是什么?举一个例子,使用 == 返回true,但是使用 === 返回false。
答:=== 的作用是比较变量的值还比较变量的类型。==只比较值。
如下:
$str = '111';
if($str==111){//如果改成===则返回"失败了";
echo "成功了";
}else{
echo "失败了";
}
9. 声明一个不含方法和属性的类。
答:class Db {}
10. 创建一个对象myclass的实例。
答:$db = new myclass();
11. 从类的内部访问或者设置属性。
答:
class DB{
private $username; //用户名
private $userpwd; //密码
public function test(){
$this->username='root';//给变量赋值
self::test2();//相当于$this->test2();//调用本类test2方法
//parent::test2();这样的话就调用了父类的test2方法
}
public function test2(){
}
}
12. include与include_once的区别和联系,以及include与require的区别和联系。
答:include与include_once区别是:用include_once如果该文件中的代码已经被包含了,则不会再次包含。如同此语句名字暗示的那样,只会包含一次。
include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果想在遇到丢失文件时停止处理页面就用require()。include() 就不是这样,脚本会继续运行。
13. 使用什么函数重定向浏览器请求。
答:header("Location: http://hi.baidu.com/woaidelphi/blog");
14. 打开一个文件供读写。
答:fopen("d:/test.txt","r+");//r+读写方式打开,将文件指针指向文件头。'w+'读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 'a+'读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之
15. mysql_fetch_row和mysql_fetch_array的区别。
答:mysql_fetch_row -- 从结果集中取得一行作为枚举数组
mysql_fetch_array -- 从结果集中取得一行作为关联数组,或数字数组,或二者兼有//MYSQL_ASSOC,MYSQL_NUM 和 MYSQL_BOTH
16. 一个ereg_replace的理解。里面涉及正则捕捉和引用。
答:ereg_replace -- 替换正则表达式
string ereg_replace ( string pattern, string replacement, stringstring )
本函数在 string 中扫描与 pattern 匹配的部分,并将其替换为 replacement。
返回替换后的字符串。
“里面涉及正则捕捉和引用。”这句话不懂。
17. 写一个正则表达式,过滤所有的HTML代码。
如下:
$str ="<html><title>星空男孩</title><b>大家好</b><fontcolor='red'>一起学习。</font>共同进步。</html>";
echopreg_replace("/<[^>]+>/i",'',$str);
18. 比较PHP与Perl的array和hash
答:http://hi.baidu.com/sujun/blog/item/85a4c8131c06432bdd54010b.html上面写的很好。
19. How to get around stateless nature of HTTP using PHP ?(我理解错误)
答:呵呵,不知。
20. GD是用来做什么的。
答:GD库是用来做图的。比如可以做验证码。
21. 用PHP写出几个方法用来输出HTML代码块。
highlight_file('demo.html');
22. Is PHP better than Perl? Discuss.
考官现场提问:
1. 工作经历,工作职责,上一家公司的情况(女考官)。
2. 使用PHP多长时间?精通哪一块?
答:一年了。
3. 使用MySQL多长时间?精通哪一块?
答:一年了。
4. 比较MySQL的两种常用引擎的区别(MyIsAm和InnoDB)。
答:http://hi.baidu.com/woaidelphi/blog/item/5ce2748fcea433f2503d9257.html
5. 从各种角度优化以下SQL语句:SELECT * FROM tablename WHERE id IN (13, 15, 18,19) and age=21
ORDER BY address DESC
6. 是否了解XML?讲一下格式规范。
答:http://hi.baidu.com/woaidelphi/blog/item/191aa6167ee2d04221a4e9cf.html
7. 是否使用PHP解析过XML文件?使用的什么方法?该方法使用的是什么API?(没有听懂后面半句是什么意思)
答:http://hi.baidu.com/woaidelphi/blog/item/85926ed4317c8d09a08bb72f.html
8. 写一个正则表达式
9. 一个3k+1数组,k为非负整数,请问从1乘到7000,结果的末尾会包含多少个0?
更多阅读
2013年7月28日海南公务员面试题工商 公务员选调面试题
2013年7月28日海南公务员面试题(工商)根据陈建军面试工作室同学回忆整理,转载注明出处1、领导安排你负责一项工作,由一位有经验的同志协助你,在工作中你发现大家都愿意听老同志的派遣而不听你的安排,从而影响你的工作,你如何应对?2、某地
土建工程师面试题库 广州鑫康物业
【问题一】:谈谈你自己的优点。【问题二】:再谈谈你的缺点。【问题三】:如何管理协调设计院,具体都有哪些工作。答:一、设计院按照甲方的意思设计图纸,在施工中,施工方发现图纸有问题要先联系甲方,甲方找设计院会同监理和施工单位解决。
陈建军面试团队点评2015年6月28日四川省定招公务员面试题 公务员人际关系面试题
陈建军面试团队点评2015年6月28日四川省定招公务员面试题陈建军团队秋雨老师(转载时请注明出处)2015年上半年四川省公务员面试题及解析15分钟、审题思考5分、有纸笔 材料:多少人努力拼搏,就为了能够在大城市占得一席之地,而在浙江
系统维护工程师面试题 上海9000工资到手多少
填空题1. 数据通信可以有单工,半双工(双工)、双全公(半双工)三种通信方式。同步方式采用了同步和异步两种不同的传输方式。2. 在同一个信道上的同一时刻,能够进行双向数据传送的通信方式是(c )A.单工B.半双工C.全双工D.上述三种均不是3.
php求职宝典 《大学生求职决胜宝典(2013年·高职版)》 第2章 绘制你的职业
系列专题:大学生就业 职业生涯是与个体的现实条件、环境密切关联的发展过程。这种关联表现为“人”与“职”的匹配与适应过程。心理学研究表明,人与人之间的差异主要表现在身体素质、智力和个性特征上,最终又体现在能力与性格