php北京面试题
1.请写出下列语句的返回结果。
count('www.xin.com'); //1 count(1); //1 count(0); //1 count(); //参数必填 count() expects at least 1 parameter
2.strpos()返回值。
strpos() 函数查找字符串在另一字符串中第一次出现的位置。需要注意的是,此函数是区分大小写的,与php stripos()函数是相反的,stripos()函数是不区分大小写的。
if(strpos('www.xin.com','w') == false){ echo true; }else{ echo false; } //结果是1 if(strpos('www.xin.com','a') !== false){ echo true; }else{ echo false; } //结果是空 echo true //1 echo false //空
3.请列举一些你知道的Linux命令。
4.请用php写出一个安全的用户登录系统需要注意的方面。
5.请判断一个元素在数组中出现的次数?请列举一些php数组函数。
6.请描述session和cookie的区别?禁用cookie后session还能用吗?多台web服务器如何共享session?
7.如果某个接口或者页面访问很慢,请说说你的解决方案。
8.如果用uid进行分库,用uname查询怎么效率更高?
9.如果要开发电商秒杀或者抢购系统,说说你的解决方案。
1.输出昨天的日期
2.已知date('N')可以获取当前为周几,例如今天为周三,则date('N')会返回3,请写一段程序,获取当前月份的1号为周几。
3.$a为数字组成的数组,在不使用系统函数的情况下,获取$a中的最小值。
4.求两个数组的交集
5.在一个数字组成的数组中,如果某两个数字相加为目标的话,返回这两个数字的索引。前提条件:输入的数组只包含一组符合条件的数字,数组内不会有重复的元素。例如 数组:[1,2,3]目标是4 返回值是[0,2]
1.单例模式与工厂模式的区别。
2.请说明php中传值与饮用的区别,什么时候传值什么时候传引用。
3.varchar与char的区别
4.常用的超全局变量
5.表单中get与post提交方式的区别
6.https与http的区别
7.防止sql注入有哪些,优化数据库的方法有哪些?
8.memcache与redis的区别。
9.如何使用jquery实现点击按钮弹出一个对话框。
10.如何在点击一个按钮时使用jquery隐藏一个图片。
11.哪种方式更高效:document.getElementbyId("myId")还是$("#myId")。
12.写几个常用的linux的命令并解释。
13.linux下为php添加curl扩展的方法。
14.curl与wget的区别。
15.请写一个函数验证电子邮件的格式是否正确。
16.如果用命令把mysql里的数据备份出来。
function date($str){ echo "my date {$str}\n"; } echo date("Y-m-d"); //报错,Cannot redeclare date()
$a = count("567")+count(null)+count(false); echo $a;
//结果是2,count('567')和count(false)都是1,count(null)是0。参数为数字和字符串时,结果是1
function inarray($var){ global $array; return array_key_exists($var,$array); } $array = array("a"=>1,"b"=>2,"c"=>3,"d"=>4,"e"=>5); $array1 = array("a",3,"c"=>4,"e"=>"d"); print_r(array_filter($array1,"inarray")); //array_filter:将数组中的元素依次传给处理的函数,处理函数返回结果如果是真,那么将当前元素放入临时数组,如果为假,略过当前元素,最后将临时数组作为array_filter的返回值. //Array ( [0] => a [e] => d )
2.如果限制只有以“192.168”开头的客户端才能链接并打开php页面。
3.不使用第三个变量来交换两个字符串$a和$b的值,请写出程序。
4.简述include require include_once require_once的区别。
5.谈谈你对memcached redis mongodb的区别和联系。
6.对于大流量的网站,你采用什么方法来解决访问量的问题。
1.请写出下列程序运行结果
$arr = array(5=>1,12=>2); $arr[] = 56; $arr["x"] = 42; echo var_dump($arr); //array(4) { [5]=> int(1) [12]=> int(2) [13]=> int(56) ["x"]=> int(42) }
$father = "monther"; $monther = "son"; echo $$father; //"son"
$x = array("aaa","","ccc","ddd",""); $y = array_unique($x); echo count($x).','.count($y)."<br>"; //5,4 print_r($y); //Array ( [0] => aaa [1] => [2] => ccc [3] => ddd )
$x = array("aaa","ttt","www","ttt","yyy","tttt"); //array_count_values() 函数用于统计数组中所有值出现的次数。 $y = array_count_values($x); //Array ( [aaa] => 1 [ttt] => 2 [www] => 1 [yyy] => 1 [tttt] => 1 ) echo $y["ttt"]; // 2
$somevar = 15; function addit(){ GLOBAL $somevar; $somevar++; echo "somevar is $somevar"; } addit();//somevar is 16
2.php中双冒号的作用是什么?
3.描述一下mvc分别是什么,有什么作用?
4.简述php中session与cookie的关系及差异。
5.用date相关函数判断此日期是否合法$date="2015-02-29",并写出昨天的日志。
6.将字符串$a = "hello world,php",反转字符串。
7.写一个冒泡排序算法
8.简述什么是PRC,以及实现逻辑
9.请写一个方法将$a转换成$b
$a = array(1,2,3,4,5,6,7);
$b = array(array(1,2),array(3,4),array(5,6),array(7));
$a = array(1,2,3,4,5,6,7); print_r(array_chunk($a,2)); //Array ( [0] => Array ( [0] => 1 [1] => 2 ) [1] => Array ( [0] => 3 [1] => 4 ) [2] => Array ( [0] => 5 [1] => 6 ) [3] => Array ( [0] => 7 ) )