php面试官常问的问题
PHP程序员参加求职面试中,要学会做好面试准备,了解面试常问的问题很重要,那么面试官常问哪些面试问题呢?下面小编已经为你们整理了php面试官常问的问题,一起来看看吧。
php面试官常问的问题一
1、PHP可以和sql server/oracle等数据库连接吗?
答:可以
2、写出PHP5权限控制修饰符?
答:public(公共),private(私用),protected(继承)
3、请写出php5的构造函数和析构函数?
答: 构造函数:官方称自定义函数
析构函数:垃圾回收函数(__destruct)
4、表单中 get与post提交方法的区别?
答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.
5、session与cookie的区别?
答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放
cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。
两者都可通过时间来设置时间长短
6、用PHP打印出前一天的时间格式是2010-7-3 12:28:21?
答:echo date(‘Y-m-d H:i:s’, strtotime(‘-1 days’));
php面试官常问的问题二
1、e2ho(),print(),print_r()的区别?
答:echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)
print() 只能打印出简单类型变量的值(如int,string)
print_r() 可以打印出复杂类型变量的值(如数组,对象)
echo 输出一个或者多个字符串
2、能够使HTML和PHP分离开使用的模板?
答:Smarty, TinyButStrong,XTemplate, Savant,Template Lite, Dwoo, phemplate
3、哪些工具进行版本控制?
答:cvs,svn,vss;
4、如何实现字符串翻转?
答:echo strrev($a); //strrev — 颠倒字符串
5、优化查询语句?
a.最好在相同字段进行比较操作,在建立好的索引字段上尽量减少函数操作
例子1:
SELECT * FROM order WHERE YEAR(orderDate)<2008;(慢)
SELECT * FROM order WHERE orderDate<"2008-01-01";(快)
例子2:
SELECT * FROM order WHERE addtime/7<24;(慢)
SELECT * FROM order WHERE addtime<24*7;(快)
例子3:
SELECT * FROM order WHERE title like "%good%";
SELECT * FROM order WHERE title>=”good” and name<"good";
6、对于大流量的网站,您采用什么样的方法来解决访问量问题?
答:确认服务器硬件是否足够支持当前的流量,数据库读写分离,优化数据表,
程序功能规则,禁止外部的盗链,控制大文件的下载,使用不同主机分流主要流量
php面试官常问的问题三
1、得查询结果集总数的函数是?
答:mysql_num_rows($result);
2、$arr = array(‘james’, ‘tom’, ‘symfony’); 请打印出第一个元素的值?
答:echo $arr[0];
3、===”是什么?试举一个“==”是真但“===”是假的例子。
“===”是既可以返回布尔值“假”,也可以返回一个不是布尔值但却可以赋与“假”值的函式,strpos() 和 strrpos() 便是其中两个例子。
if (strpos("abc", "a") == true){ // 这部分永不会被执行,因为 "a" 的位置是 0,换算成布尔值“假”}if (strpos("abc", "a") === true){ // 这部份会被执行,因为“===”保证函式 strpos() 的送回值不会换算成布尔值.}
4、以下程序的输出结果
$str=“cd”;
$$str=“hotdog”;
$$str.=“ok”;
echo $cd;
?>
答案:hotdogok
5、给你三个数,写程序求出其最大值。
$var1=1;
$var2=7;
$var3=8;
$max=$var1>$var2?$var1:$var2;
$max=$max>$var3?$max:$var3;
echo $max;
6、将一个选择2号选项的ip为127.0.0.1的用户在当前时间的投票记录到数据库的SQL
答:insert into poll (ip,time,iid) values('127.0.0.1',now(),2);
7、个函数验证电子邮件的格式是否正确 ?
答:function checkEmail($email)
{
$pregEmail = "/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i";
return preg_match($pregEmail,$email);
}
8、表 menu(mainmenu,submenu,url),请用递归法写出一树形菜单,将所有的menu列出来
function GenerateMenu($id=0,$str="")
{
$result=mysql_query("select mainmenu,url,submenu from menu where mainmenu=$id");
while($row=mysql_fetch_array($result))
{
echo $str.$row["url"]."
";
GenerateMenu($row["submenu"],$str."--");
}
mysql_free_result($result);
}
$link=mysql_connect("localhost","root","");
mysql_select_db("phpinterview");
GenerateMenu();
mysql_close($link)
?>
看了“php面试官常问的问题”