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里的数据备份出来。

 
 1.请写出下列程序运行结果
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 ) )

 

posted @ 2018-04-07 21:41  ningxiner1108  阅读(774)  评论(0编辑  收藏  举报