图集1/1

正文 20527字数 277,105阅读

1. php中字符串可以用哪三种方法定义:
单引号、双引号、定界符

2. 定义常量和静态常量的语法是:
define(‘常量名’,’常量值’) static $var
Run code
Cut to clipboard

    3. 用php打印出昨天的时间,格式是2006-05-10 22:21:21:
    date_default_timezone_set('PRC'); echo date('Y-m-d H:i:s',time()-60*60*24); echo date('Y-m-d H:i:s', strtotime(‘-1 day’));
    Run code
    Cut to clipboard

      4. 开启php错误报告的方法是:
      修改配置文件display_errors = On, 或者ini_set(‘display_errors’, ‘On’);
      Run code
      Cut to clipboard

        5. php中将对象或者数组序列化的函数是:
        serialize()
        Run code
        Cut to clipboard

          6.如何定义类成员的访问控制:
          public private protected
          Run code
          Cut to clipboard

            7.以下代码在浏览器中输出的结果是:
            <?php $x=87; $y=($x%7)*16; $z=$x>$y?1:0; Echo $z; ?>
            Run code
            Cut to clipboard

              结果:1

              8.有一张员工表user[id,name,money],写出sql语句查询表中money的最大值:
              SELECT max(money) FROM user
              Run code
              Cut to clipboard

                写出sql语句查询money最多的前10个人,按照money由大到小排序:
                SELECT * FROM user ORDER BY money DESC LIMIT 0,10
                Run code
                Cut to clipboard

                  9.写出一个函数 求两个日期的差数,例如2007-2-5~2007-3-6的日期差数:
                  function getDays($d1,$d2) { $nd1 = strtotime($d1); $nd2 = strtotime($d2); $days = ceil(abs($nd2-$nd1) / (60*60*24)); echo $days; }
                  Run code
                  Cut to clipboard

                    10.写一个php函数实现从N个整数($a=array(5,10,2,3333,20);)找出最大的一个,注意:不要使用php的max、sort等函数:
                    function getMax($m){ $v = 0; foreach($m as $v1){ if($v1>$v){ $v = $v1; } } return $v; }
                    Run code
                    Cut to clipboard

                      11.有一个100层高的大厦,有一堆材质大小一模一样的石块,从这个大厦的某一层(临界楼层)扔下,石块就会碎,使用哪种算法能最快的得到这个临界楼层?
                        (1). 石子儿无限 二分法.
                        (2). 两个石子儿 分段算法
                          14 27 39 50 60 69 77 84 90 95 99
                      12.下面程序输出是什么?
                      $int_a = 5; function factorial() {   for($int_i=$int_a; $int_i>0; $int_i--) {     $int_a = $int_a * $int_i; } } factorial(); echo $int_a;
                      Run code
                      Cut to clipboard

                        结果: 5

                        13. 写一个函数Check_ip,使用正则表达式检测一个IPV4的IP是否正确,正确返回1,错误返回0,例如 Check_ip(‘127.0.0.1’)。
                        function check_ip($mact){ $a='/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/'; $v=preg_match($a,$mact); if ($v!=0) { return 1; } else { return 0; } }
                        Run code
                        Cut to clipboard

                          14. 请指出以下代码的错误之处(圈出来并加以改正):
                          <? function baz($y $a) { $x = new Array(); $x[sales] = 60; $x[profit] = 20; foreach($x as $key = $value) { echo $key + “ ” + $value + “<br>”;   }     }
                          Run code
                          Cut to clipboard

                            <?php //参考答案 function baz($y,$a){ $x=array(); $x[‘sales’]=60; $x[‘profit’]=20; foreach($x as $key=>$value){ echo $key.””.$value.”<br>”; } } ?>
                            Run code
                            Cut to clipboard

                              15. 有一数组 $a=array(4,3,8,9,2); 写一个排序函数对数组进行排序操作,要求使用快速排序法.快速排序的基本思想是:在待排序记录序列中,任取其中的一个记录(这里取了第一个)并以该记录的关键字作为基准,经过一趟排序后,所有关键字比它小的记录都交换到它的左边,比它大的记录都交换到它的右边.然后再分别对划分到它左,右两部分记录序列重复上述过程,直至每一部分最终划分为一个记录时为止即完成了排序工作.
                              //参考答案 function kuaiSort($arr) { //递归的出口 if (count($arr) <= 1) return $arr; //取出第一个元素 $flag = $arr[0]; //声明两个数组 $left = []; $right = []; //注意这里的索引是从1开始的 for ($i = 1; $i < count($arr); $i++) { if ($arr[$i] > $flag) { $right[] = $arr[$i]; } else { $left[] = $arr[$i]; } } $left = kuaiSort($left); $right = kuaiSort($right); return array_merge($left, [$flag], $right); }
                              Run code
                              Cut to clipboard

                                16. 有一表 menu(id, pid, name),请用递归法打印树形菜单,将所有的menu列出来.
                                /* 参考sql create table menu ( id int auto_increment primary key, pid int, name varchar(255) )engine MyISAM default charset=utf8; insert into menu values (1,0,'服装'),(2,0,'数码'),(3,1,'外套'),(4,3,'男装'),(5,2,'手机'),(6,3,'女装'); */ //函数实现 function getMenu($pid) { $pdo= new PDO('mysql:host=localhost;dbname=lamp;charset=utf8','root',''); //获取pid为 $pid的菜单 $stmt = $pdo->query("select * from menu where pid = $pid"); $menus = $stmt->fetchAll(PDO::FETCH_ASSOC); //判断 if(empty($menus)) { return; } $res = []; foreach ($menus as $key => $value) { $value['submenu'] = getMenu($value['id']); $res[] = $value; }   return $res; } $res = getMenu(0);
                                Run code
                                Cut to clipboard

                                  17. 在开发项目中,需要上传超过8M的文件,请说明在php.ini需要修改的配置项。
                                    post_max_size=2M(默认)   Upload_max_filesize=8M(默认)
                                  Run code
                                  Cut to clipboard

                                    18. 写出session的运行机制,session与cookie的区别。多台WEB服务器如何共享session。
                                      (1)session的运行机制:
                                        用户A访问站点Y,如果站点Y指定了session_start();(以下假设session_start()总是存在)那么会产生一个session_id,这个session_id一般会以COOKIE的形式保存到用户A(我们可以通过在php.ini里设置session.use_only_cookies为1,强制SESSIONID必须以COOKIE专递。)。这时候SESSION ID表现为$_COOKIE[‘PHPSESSID’];(PHPSESSID可用session_name()函数来下修改),用户A接着访问,这个session id($_COOKID[‘PHPSESSID’])就会在A每次访问Y的时候传送到站点Y。在站点Y上,会有这么一个目录,是用来保存SESSION的实际数据的。站点Y接收到session id,然后通过session id,来获得与SESSION数据的关联,并返回SESSION数据

                                      (2)session与cookie的区别:
                                        1. 存储位置
                                        Cookie在客户端存储,消耗客户端资源, session在服务器存储,消耗服务器资源.

                                        2. 安全性
                                        Session相对安全, cookie相对不安全, 因为用户可以看到传递的信息

                                        3. 大小限制
                                        单个cookie的最大长度为4k, session没有大小限制

                                        4. 过期机制
                                        Cookie的过期是实时, 过期时间一到cookie就会失效, 但session的过期是概率性触发, 也就是说即时session过期并不是立即就失效.

                                      (3)多台服务器如何共享SESSION:
                                        session专门存储到一台独立的服务器上,存数据库,memcache,redis都可以, 多台服务器都来这台服务器上操作session即可.

                                    19. SQL中LEFT JOIN 的含义是什么? 如果tbl_user记录了学生的姓名(name)和学号(ID),tbl_score记录了学生(有的学生考试以后被开除了,没有记录)的学号(ID)和考试成绩(score)以及考试科目(subject),要想打印出各个学生姓名及对应的各科总成绩,请写出SQL语句.

                                    问题1:程序执行时,每一次循环结束后变量$data的值是什么?请解释
                                    答:第一次循环时,把下表为0的成员,引用赋值给变量$val,$val与$data[0]内容相同,
                                    要是其中一个改变,另一个也改变,此时,$data原样输出,只是$data[0]变成了引用
                                    输出结果 a b c

                                    第二次循环时,$key的值为1,把$data[1]引用复制给$val.
                                    由于$val与$data[0]也是引用关系,所以这时,$val,$data[0],$data[1]三者值同为’B’
                                    $val不再与$data[0]有关系了,只与$data[1]是引用关系
                                    // b b c

                                    第三次循环时,$key的值为2,把$data[2]引用复制给$val,
                                    由于$data[1]与$val是引用关系,所以都将改变$data[1]、$val、$data[2]三者值一样
                                    //b c c

                                    问题2:程序执行完后,变量$data的值是什么?请解释。(10分)
                                    答:结果为B c c

                                    20. 输出为Mozilla/4.0(compatible;MSIE5.01;Window NT 5.0)时,可能的输出语句是:
                                    A. $_SERVER['HTTP_USER_AGENT_TYPE'];
                                    B. $_SERVER['HTTP_USER_AGENT'];
                                    C. $_SERVER['USER_AGENT'];
                                    D. $_SERVER['AGENT'];

                                    21. 下面功能PHP无法实现的是:
                                    A. 服务器端脚本运行
                                    B. 命令行脚本运行
                                    C. 客户端图形界面(GUI)程序
                                    D. 浏览器端执行DOM操作

                                    22. 下面说法不正确的是:
                                    A. PHP有四种标量类型:布尔型(boolean),整型(integer),浮点型(float),字符串(string)
                                    B. 浮点型(float)与双精度型(double)是同一种类型
                                    C. 复合类型包括:数组(array),对象(object),资源(resource)
                                    D. 伪类型:混合型(mixed),数字型(number),回调(callback)

                                    23. 执行下面的代码后, 得到的输出是:(说明: Echo print array eval list è语言结构)
                                    <?php echo function_exists('print'); ?>
                                    Run code
                                    Cut to clipboard

                                      A. 空
                                      B. true
                                      C. false
                                      D. FALSE

                                      24. 执行下面的代码的结果是什么?
                                      <?php $bool = TRUE; echo gettype($bool); echo is_string($bool); ?>
                                      Run code
                                      Cut to clipboard

                                        A. boolean
                                        B. boolean0
                                        C. booleanFALSE
                                        D. Booleanfalse

                                        25. 写出下面代码执行的结果:
                                        <?php $a = 12; $b = 012 $c = 0x12; echo $a,"\n",$b,"\n",$c; ?>
                                        Run code
                                        Cut to clipboard

                                          结果: 12 10 18 (二,十、八和十六进制之间转换,核心点二进制)

                                          26. 下面代码的执行结果是什么?
                                          <?php echo 1+2+"3+4+5"; ?>
                                          Run code
                                          Cut to clipboard

                                            A. 0 C. 6
                                            B. 3 D. "33+4+5";

                                            27. 下面代码加入下面那个函数后返回TRUE:
                                            return ? == 'A';
                                            Run code
                                            Cut to clipboard

                                              A. ord(65)
                                              B. chr(65)
                                              C. 65+''
                                              D. ''+65

                                              28. 下面代码的输出正确的是:
                                              <?php $a = array(1=>5,5=>8,22,2=>'8',81); echo $a[7]; echo $a[6]; echo $a[3]; ?>
                                              Run code
                                              Cut to clipboard

                                                A. 空2281
                                                B.空8122
                                                C.8122空
                                                D.空空空

                                                29. 下面代码的输出结果:
                                                <?php $a[bar]='hello'; echo $a[bar]; echo $a['bar']; ?>
                                                Run code
                                                Cut to clipboard

                                                  A. hello
                                                  B. 空空
                                                  C.报错
                                                  D.hellohello

                                                  30. 写出下面代码的结果:
                                                  <?php echo 1>>0; //001 ==>1 echo 2>>1; //010 ==> 001=>1 echo 3<<2; //011 <== 01100 =>12 ?>
                                                  Run code
                                                  Cut to clipboard

                                                    A. 012
                                                    B. 106
                                                    C. 1112
                                                    D.123

                                                    31. 下面代码的执行结果:
                                                    <?php for($i=0;i<10;$i++){ print $i; } ?>
                                                    Run code
                                                    Cut to clipboard

                                                      A. 0123456789
                                                      B. 012345678910
                                                      C. 无输出
                                                      D. 死循环

                                                      32. 下面对于echo, print 的描述正确的是:
                                                      A. echo, print 都可以打印多个参数
                                                      B. print 可以打印多个参数,echo 不可以
                                                      C. echo 可以打印多个参数,print不可以
                                                      D. echo, print 都不可以打印多个参数

                                                      33. 对于正面的代码
                                                      <?php $fruits = array('strawberry'=>'red', 'banana'=>'yellow'); ?>
                                                      Run code
                                                      Cut to clipboard

                                                        不能够正确得到结果'yellow'的代码是:
                                                        A. echo "A banana is {$fruits['banana']}";
                                                        B. echo "A banana is $fruits['banana']";
                                                        C. echo "A banana is {$fruits[banana]}";
                                                        D. echo "A banana is $fruits[banana]";

                                                        34. 下面代码执行完成后的结果是什么?
                                                        <?php function change(){ static $i = 0; $i++; return $i; } print change(); print change(); ?>
                                                        Run code
                                                        Cut to clipboard

                                                          结果: 1 2
                                                          35. 下面的语句输出结果 :
                                                          <?php $foo = 'test'; $bar = <<<EOT $foo bar EOT;    echo $bar; ?>
                                                          Run code
                                                          Cut to clipboard

                                                            a. $foo bar;
                                                            b. 'EOT' $foo bar EOT;
                                                            c. test bar;
                                                            d. 'EOT' test bar EOT;
                                                            36.$b的值是:
                                                            $a=3; $b=4; if($a||$b=5){ echo 'tudo'; }
                                                            Run code
                                                            Cut to clipboard

                                                              a. 4;
                                                              b. 5;
                                                              c. 3;
                                                              d. false

                                                              37. 什么事面向对象?主要特征是什么?
                                                                1) 面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加清晰。
                                                                2) 主要特征:封装、继承、多态

                                                              38. HTTP 状态中302、403、 500代码含义?
                                                                302重定向、
                                                                403服务器拒绝访问
                                                                500服务器内部错误

                                                              39. Linux 下建立压缩包,解压缩包的命令。
                                                                压缩 tar czf test.tar.gz test.php
                                                                解压 tar xzf test.tar.gz

                                                              40. 请写出数据类型(int char varchar datetime text)的意思;请问 varchar 和 char有什么区别?
                                                                1)类型介绍:
                                                                int是数字类型,
                                                                char固定长度字符串,
                                                                varchar长度变字符串,
                                                                datetime日期时间型,
                                                                text文本字符串

                                                                2)varchar 和 char的区别:
                                                                1. Char定义的为固定长度, 范围是0~255, varchar定义的为变长长度, 范围为0~65535
                                                                2.char在存储时会自动补空格, varchar不会.
                                                                3.varchar在存储时会多占用1~2个字节记录长度, char不会.

                                                              41. MyISAM 和 InnoDB 的基本区别?
                                                                1. 查询速度 myisam快一些
                                                                2. 事务 innodb支持, myisam不支持
                                                                3. 全文索引 myisam支持, innodb不支持
                                                                4. 锁机制 myisam支持表所, innodb支持行锁
                                                                5. 存储文件 myisam产生三个文件(.frm .myd .myi), innodb产生两个文件(.frm .ibd)

                                                              42. 不使用cookie向客户端发送一个cookie.
                                                                
                                                              header('set-cookie: abc=abc;max-Age=3600;path=/');
                                                              Run code
                                                              Cut to clipboard


                                                                43. isset() 和 empty() 区别,对不同数据的判断结果
                                                                  1)isset()是判断变量是否存在,是否定义
                                                                  2)empty()是判断变量的值是否为空.

                                                                44. 如何在页面之间传递变量(至少两种方式) ?
                                                                  1)get
                                                                  2)post
                                                                  3)ajax
                                                                  4)curl
                                                                  5)cookie
                                                                  6)session

                                                                45. 写出匹配URL的正则表达式.
                                                                  
                                                                http://www.lizhenqiu.com/index.php?id=1&name=user1   (http|ftp):\/\/(www.)?(\S*)(\?\S*\&\S*)?(.*)\/\/(.*)\?(.*)?
                                                                Run code
                                                                Cut to clipboard


                                                                  46. 请写出常见的排序算法,并用PHP实现冒泡排序,将数组$a = array()按照从小到大的方式进行排序
                                                                    快速排序
                                                                    冒泡排序
                                                                    插入排序
                                                                    归并排序
                                                                  <?php Function mysort($arr){ For($i=0; $i<count($arr); $i++){ For($j=0; $j<count($arr)-1; $j++){ If($arr[$j] > $arr[$j+1]){ $tmp=$arr[$j]; $arr[$j]=$arr[$j+1]; $arr[$j+1]=$tmp; } } } Return $arr; } $arr=array(3,2,1); print_r(mysort($arr));
                                                                  Run code
                                                                  Cut to clipboard

                                                                    47. 在数据库test中的一个表student,字段是name,class,score。分别代表姓名、所在班级,分数。
                                                                      1) 算出每个班级中的学生,按照成绩降序排序;
                                                                      
                                                                    select name,class,score from student order by score desc;
                                                                    Run code
                                                                    Cut to clipboard

                                                                        2) 查出每个班的及格人数和不及格人数,格式为:class、及格人数、不及格人数
                                                                        
                                                                      SELECT     sum(case when score >= 60 then 1 else 0 end) jige,     sum(case when score < 60 then 1 else 0 end) bujige,     class   FROM `score`   GROUP BY `class`
                                                                      Run code
                                                                      Cut to clipboard

                                                                          3) 用PHP写入连接数据库("localhost","msuser","mspass")、执行以上SQL、显示结果、判断错误、关闭数据库的过程
                                                                          
                                                                        $conn=mysql_connect(‘localhost’,'msuser’,’mspass′);   Mysql_select_db(‘test’);   $sql="SELECT       sum(case when score >= 60 then 1 else 0 end) jige,       sum(case when score < 60 then 1 else 0 end) bujige,       class      FROM `score`      GROUP BY `class`";   if($result=Mysql_query($sql)){   while($row=mysql_fetch_assoc($result)){   print_r($row);    }   }   Mysql_close($conn);
                                                                        Run code
                                                                        Cut to clipboard

                                                                          48. echo count(“abcd”);输出多少?
                                                                          答案:4
                                                                          答案是1,count是计算arry长度的字符串长度用strlen来计算

                                                                          49. 运行以下代码后$a $b $c 分别是?
                                                                          <?php $a=$b=$c=0; $a=$b && $c;
                                                                          Run code
                                                                          Cut to clipboard

                                                                            答案:false、0、0

                                                                            50. 请用php的heredoc语法格式输出:hello world!
                                                                            <?php $v=”hello world”; $str=<<<EOT $v EOT; echo $str;
                                                                            Run code
                                                                            Cut to clipboard

                                                                              51. $string = "abcdefg",那么$string{4}的值是?
                                                                              答案:e

                                                                              52. 简述echo(),print(),print_r()的区别。
                                                                              答案:echo()可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构,而不是真正的函数,因此不能作为表达式的一部分使用。
                                                                              print()是一个函数,用来打印一个值,如果字符串成功显示则返回true,否则返回false
                                                                              print_r()是一个函数,用来打印一个值,值为字符串或数字进行简单打印,而数组则以括起来的键和值列表形式显示,并以Array开头。
                                                                              拓展:var_dump()是一个函数,用来显示关于一个或多个表达式的结果信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

                                                                              53.用PHP写出显示客户端IP与服务器IP的代码。
                                                                              客户端IP:echo $_SERVER[‘REMOTE_ADDR’]; 或者echo getenv(‘REMOTE_ADDR’); 服务器IP:echo $_SERVER[‘SERVER_ADDR’]; 或者echo getenv(‘SERVER_ADDR’);
                                                                              Run code
                                                                              Cut to clipboard


                                                                                54、用正则表达式判断$a是否是一个以半角逗号分隔的多个手机号码组成的字符串,是输出yes
                                                                                <?php $math=“/((\d){11},)+/”; $str=”12345678901,12345678901”; if(preg_match($match,$str)){   echo ‘yes’;     } ?>
                                                                                Run code
                                                                                Cut to clipboard

                                                                                  55. 请定义一个名为MyClass的类,这个类只有一个静态方法justDoIt。
                                                                                  class MyClass { public static function justDoIt() { } }
                                                                                  Run code
                                                                                  Cut to clipboard

                                                                                    56. 写出你知道的几种设计模式,并用php代码实现其中一种。
                                                                                    答案:单态模式、工厂模式、生成器模式、代理模式、迭代模式 单态模式举例: class test{ private static $obj=null; private function __construct(){ echo ‘第一次连接数据库’;     }     public static function getInstance(){ if(is_null(self::$obj)){ self::$obj=new self(); return self::$obj;   }  } }
                                                                                    Run code
                                                                                    Cut to clipboard

                                                                                      57. 打开php.ini中的Safe_mode,会影响哪些函数?
                                                                                      答案: chown()、chgrp()、chdir()、fopen()、rmdir()、copy()、link()、exec()

                                                                                      58. 请描述如下URL重写规则的用意。
                                                                                      <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteBase / RewriteRule . /index.php [L] </IfModule>
                                                                                      Run code
                                                                                      Cut to clipboard

                                                                                        答案:将URL地址强制解析为./index.php

                                                                                        59. 你会用哪个函数设置当前内容的Content-Type?
                                                                                        header函数 //定义编码 header(“Content-type:text/html;charset=utf-8”); //CSS header(“Content-type:text/css”); //JavaScript header(“Content-type:text/javascript”); //JPEG Image header(“Content-type:image/jpeg”); //GIF Image header(“Content-type:image/gif”); //PNG Image header(“Content-type:image/png”); //JSON header(“Content-type:application/json”); //PDF header(“Content-type:application/pdf”); //XML header(“Content-type:text/xml”); //ok header(“HTTP/1.1 200 OK”); //404头 header(‘HTTP/1.1 404 Not Found’); //设置地址被永久的重定向 header(‘HTTP/1.1 301 Moved Permanently’); //转到一个新地址 header(‘Location:http://www.example.org/’); //文件延迟转向 header(‘Refresh:10;url=http://www.example.org/’); print ‘You will be redirected in 10 seconds’; //纯文本格式 header(‘Content-type:text/plain’);
                                                                                        Run code
                                                                                        Cut to clipboard




                                                                                          60. Warning: Cannot modify header information - headers already sent by (output started at D:\src\init.php:7) in D:\src\init.php on line 10 通常什么情况下php会报该警告信息?
                                                                                          答案:header(‘Content-type:text/html;charset=utf-8’)头之前有任何输出均会出现如下错误。

                                                                                          61. A通过页面输入用户名abc和密码123登录到www.10086.cn,请写出该次请求的HTTP协议报文(包括请求行、消息报头、请求正文)。
                                                                                          答案:
                                                                                          Post /login HTTP/1.1 ============ host: www.10086.cn Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0(Windows;U;Windows NT 5.1;en-US;rv:1.7.6) Content-length: 25 Refer: www.10086.cn ============ Username=abc&password=123
                                                                                          Run code
                                                                                          Cut to clipboard

                                                                                            62. 写一段php代码遍历某个目录下的所有文件和子文件夹。
                                                                                            <?php function scandir($path){   $files = array();    $handle = opendir($path);   if ($filename=@readdir($handle)) { if ($filename==’.’ || $filename==’..’) { continue; } if (is_dir($filename)){ $files[$filename] = scandir($path.’/’.$filename);        } else {       $files[$filename] = $filename;        }       }   return $files;    } ?>
                                                                                            Run code
                                                                                            Cut to clipboard

                                                                                              63. 查看磁盘空间使用率的linux命令是什么?查看有哪些系统进程正在运行命令是什么?监测linux性能(cpu,磁盘io,内存,网络等)都用到哪些命令?
                                                                                              答案:df、ps、top

                                                                                              64. linux下终止一个进程用什么命令?打包压缩和解包用什么命令?建立软连接的命令是?
                                                                                              答案:
                                                                                              pkill -9 进程名或kill 进程号、
                                                                                              tar zcvf和tar zxvf
                                                                                              ln

                                                                                              65. 如果要求每隔5分钟执行一次脚本five.php,如何实现?
                                                                                              答案:
                                                                                              crontab –e */5 * * * * php five.php
                                                                                              Run code
                                                                                              Cut to clipboard

                                                                                                66. mysql中varchar的最大长度是多少?用什么类型的字段存储大文本?date和datetime和timestamp什么区别?怎么看数据库中有哪些sql正在执行?
                                                                                                答案:
                                                                                                65535、
                                                                                                text、

                                                                                                区别:
                                                                                                1. 存储空间不同
                                                                                                a) TIMESTAMP占用4个字节
                                                                                                b) DATETIME占用8个字节

                                                                                                2. 受时区影响
                                                                                                a) TIMESTAMP实际记录的是1970-01-01 00:00:01到现在的数,受时区影响
                                                                                                b) DATETIME不受时区影响

                                                                                                3. 时间范围不同
                                                                                                a) TIMESTAMP的时间范围是:'1970-01-01 00:00:01' UTC ~ '2038-01-19 03:14:07' UTC
                                                                                                b) DATETIME的时间范围是:'1000-01-01 00:00:00' ~ '9999-12-31 23:59:59'

                                                                                                67. 自动更新
                                                                                                TIMESTAMP类型在默认情况下,insert、update 数据时,TIMESTAMP列会自动以当前时间(CURRENT_TIMESTAMP)填充/更新。
                                                                                                show processlist;
                                                                                                Run code
                                                                                                Cut to clipboard

                                                                                                  68. MySQL数据库的一个表:User
                                                                                                  Name Tel Content Date
                                                                                                  张三 13333663366 大专毕业 2006-10-11
                                                                                                  张三 13612312331 本科毕业 2006-10-15
                                                                                                  张四 021-55665566 中专毕业 2006-10-15

                                                                                                  写出如下操作的SQL语句:
                                                                                                  (a) 有一新记录(小王 13254748547 高中毕业 2007-05-06)请用SQL语句新增至表中
                                                                                                  (b) 请用sql语句把张三的时间更新成为当前系统时间
                                                                                                  (c) 请写出删除名为张四的全部记录

                                                                                                  答案:
                                                                                                  (a)inser into User(Name,Tel,Content,Date) values(“小王”,12354748547,”高中毕业”,”2007-05-06”);
                                                                                                  (b)update User set Date=date(now()) where User=”张三”;
                                                                                                  (c)delete from User where User=”张三”;

                                                                                                  69. 下面哪个表达式不能将两个字符串$s1和$s2串联成一个单独的字符串?
                                                                                                  A.$s1+$s2
                                                                                                  B.“{$s1}{$s2}”
                                                                                                  C.$s1.$s2
                                                                                                  D. implode(‘’,array($s1,$s2))

                                                                                                  70.下面的脚本运行以后,$array数组所包含的值是什么?
                                                                                                  $array = array(‘1’,’1’); foreach($array as $k=>$v){ $v = 2; }
                                                                                                  Run code
                                                                                                  Cut to clipboard

                                                                                                    A. array(‘2’,’2’)
                                                                                                    B. array(‘1’,’1’)
                                                                                                    C. array(2,2)
                                                                                                    D. array(Null,Null)
                                                                                                    71. 写出下列代码的输出结果:
                                                                                                    function myfunc($argument){ echo $argument+ 10; } $variable = 10; echo “myfunc($variable)=”.myfunc($variable);
                                                                                                    Run code
                                                                                                    Cut to clipboard

                                                                                                      20myfunc(10)=

                                                                                                      72. 请用尽可能少的语句实现对输出Email地址进行验证的功能
                                                                                                      //用正则表达式匹配 If(preg_match(‘/\w+@\w+\.\w+/’,$str)){ Echo “是邮箱”; }else{ Echo “不是邮箱”; }
                                                                                                      Run code
                                                                                                      Cut to clipboard

                                                                                                        73. 根据你的经验谈谈写php程序需要注意哪些问题
                                                                                                        1)代码一定要书写规范,必须加注释
                                                                                                        2)能用系统函数则用系统函数,尽量不要自定义函数,否则效率会偏低
                                                                                                        3)能用字符串函数解决就不要用正则表达式,效率较低
                                                                                                        4)不要相信用户的输入.做好参数检测
                                                                                                        5)尽量使用预处理,防止sql注入.
                                                                                                        6)静态成员方法的速度要比普通成员方法快.
                                                                                                        7)$row[’id’] 的速度是$row[id]的7倍
                                                                                                        8)echo 比 print 快
                                                                                                        9)注销那些不用的变量尤其是大数组
                                                                                                        10)include文件时尽量使用绝对路径
                                                                                                        11)用@屏蔽错误消息的做法非常低效,极其低效。
                                                                                                        12)foreach效率更高,尽量用foreach代替while和for循环;
                                                                                                        13)用单引号替代双引号引用字符串;

                                                                                                        74. php是否有安全问题,如果有,请列举说明。
                                                                                                        1. 文件上传
                                                                                                        2. sql注入
                                                                                                        3. xss

                                                                                                        75. cron后台常驻程序(daemon)用于:
                                                                                                        A.负责文件在网络中的共享
                                                                                                        B.管理打印子系统Manages theprinting subsystem
                                                                                                        C.跟踪管理系统信息和错误
                                                                                                        D. 管理系统日常任务的调度(scheduing)

                                                                                                        76.怎么了解您在当前目录下还有多大空间? D
                                                                                                        A.Use df
                                                                                                        B. Use du /
                                                                                                        C. Use du
                                                                                                        D. Use df

                                                                                                        77. 有一个备份程序mybackup,需要在周一至周五下午一点和晚上八点各运行次,下面哪一条crontab的项可以完成这项工作?
                                                                                                        A.0 13,20 * * 1,5 mybackup
                                                                                                        B.0 13,20 * * 1,2,3,4,5, mybackup
                                                                                                        C.* 13,20 * *1,2,3,4,5, mybackup
                                                                                                        D.0 13,20 1,5 * *mybackup

                                                                                                        78. 使用命令可以查看Linux的启动信息?
                                                                                                        A.mesg –d
                                                                                                        B.dmesg
                                                                                                        C.cat /etc/mesg
                                                                                                        D.cat /var/mesg

                                                                                                        79. 在vi中退出不保存的命令?
                                                                                                        A.:qt
                                                                                                        B.:r
                                                                                                        C.:wq
                                                                                                        D.:q!

                                                                                                        80.如何判断SQL语句的运行效率?如何优化一个查询SQL?
                                                                                                        查看它的运行时间,如果时间过长则说明sql语句的执行效率很低
                                                                                                        Set profiling = 1;
                                                                                                        .....
                                                                                                        Show profiles;

                                                                                                        优化:
                                                                                                        A) 尽量使用简单查询, 不要使用联表和子查询
                                                                                                        B) 不要使用*, 指定字段.
                                                                                                        C) 模糊查询的时候 % 不能开头
                                                                                                        D) 给条件字段添加索引
                                                                                                        E) 分组时添加group by id order by null

                                                                                                        81 .试写出mysql数据库优化的一些方法
                                                                                                        缓存(读缓存, 写缓存)
                                                                                                        优化SQL语句
                                                                                                        建立索引
                                                                                                        分库分表
                                                                                                        主从复制,读写分离

                                                                                                        82. 简述smarty的工作原理,如何对smarty进行二次开发?
                                                                                                        原理:
                                                                                                        1、 smarty将php源文件,首先编译成中间文件
                                                                                                        2、 如果启用缓存,再根据编译文件生成缓存文件
                                                                                                        3、 之后每次访问都会访问编译文件

                                                                                                        二次开发
                                                                                                        创建一些方便的标签, 方便在模板中使用, 比如 {article}{/article}

                                                                                                        83. ajax技术利用了什么协议?简述ajax的工作机制。

                                                                                                        HTTP协议。

                                                                                                        在页面不刷新的情况下进行以下操作:
                                                                                                        (1)对象初始化
                                                                                                        (2)发送请求
                                                                                                        (3)服务器接收请求并进行处理
                                                                                                        (4)服务器返回响应数据
                                                                                                        (5)客户端接收
                                                                                                        (6)处理服务器返回的数据

                                                                                                        84. 一个人卖苹果,6元/斤的进货价,10元/斤卖出。某一天他卖了1斤苹果,收到了50元假钞,但没有发现,给客户找了40元钱零钱。请问,这人这次卖苹果亏了多少钱?
                                                                                                        46元 6元的进价和40元零钱 全部46元

                                                                                                        85. 2. 一个小猴子边上有100根香蕉,它要走过50米才能到家,每次他最多搬50根香蕉,每走1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。
                                                                                                        16根. 问题简化成走最短的路,背更多的水果.但路和水果之间有限制! 题目已经限制,猴子最多背50,我们计算其消耗仅剩下50根的米处,
                                                                                                        假设猴子第一次背了50根,走了X米,在回来搬第2个50根,就有:
                                                                                                        100-3X .........剩下的香蕉数(先走X,往反2X)
                                                                                                        50-X ............剩下的米处

                                                                                                        问题就明白了: (100-3X)-(50-X)=50-2X ........回到家时的香蕉数
                                                                                                        问题就简化为在条件: (100-3X)<=50的情况下,求 (50-2X)的最大值! 得到: X=17时, 50-2X 最大值 16 方案: 猴子先搬50根,走17米,在回来搬50根走到17米处,回来后再搬剩下的49根走完33米,最后得到16根!

                                                                                                        86. 分金条问题
                                                                                                        你让某些人为你工作了七天,你要用一根金条作为报酬。这根金条要被分成七块。你必须在每天的活干完后交给他们一块。如果你只能将这根金条切割两次,你怎样给这些工人分?
                                                                                                        切割两次,分出三块 1、2、 4。
                                                                                                        第一天 付1
                                                                                                        第二天 收回1,付2
                                                                                                        第三天 付1(1+2)
                                                                                                        第四天 收回1、2 付4
                                                                                                        第五天 付1 (4+1)
                                                                                                        第六天 收回1 付2(4+2)
                                                                                                        第七天 付1 (4+2+1)

                                                                                                        87. 有十箱苹果,里面各放苹果10个,其中9箱装的苹果是50克/只,另一箱装的苹果是60克/只,现给你一地秤,要求只称一次就能准确找到装60克/只的那箱苹果,请问如何做?
                                                                                                        先给十个箱子标上序号,然后从一号箱子拿出苹果一只,二号拿两只,以此类推....十号箱子拿十只。然后称下总重量,减去500克*倍数,余数是十的多少倍就是几号箱子中的。这样就只称了一次。

                                                                                                        88. 不均匀分布的香,每根香烧完的时间是一小时,你能用什么方法来确定一段15分钟的时间?
                                                                                                        一支两端同时点燃烧完一支是30分,另一支只点一端烧了一半,剩下的支持30分钟,在同时点燃两端,得15分

                                                                                                        性格测试
                                                                                                        1.简单说一下,你是一个什么性格的人?
                                                                                                        主要说下团结团队,活泼开朗,和人交往没有障碍
                                                                                                          每次说完最好举个小例子

                                                                                                        2.你认为你自身最大的优点和缺点是什么?
                                                                                                          优点 按照实际的说 比如团结集体 活泼开朗 等
                                                                                                          缺点 把不是缺点的缺点说出来就行

                                                                                                        3.是否愿意在比较大的工作压力下工作?有创业公司的工作经验么?简单说一下你对创业公司的看法。
                                                                                                          可以 压力越大动力越大
                                                                                                          经验 按实际去回答
                                                                                                          看法:必须有明确的目标,坚持下去的精神,良好的管理团队,和团结的集体

                                                                                                        4.你具体是使用什么方法来提供自身的技术(或业务)水平的?
                                                                                                          逛逛技术论坛
                                                                                                          看视频教程...
                                                                                                          聚会

                                                                                                        5.说说你对本公司的了解。简单说说你理想中下面找的工作是一个什么样的工作?简单说一下离开上一个工作的原因是什么?
                                                                                                          面试以前必须看看这个公司的简介 回答出这个公司的业务和特色
                                                                                                          简单谈谈你应聘职业的工作内容,表达出对这份工地的兴趣和爱好
                                                                                                          原因不要抱怨上个公司或者领导不好,回答自身原因多一点

                                                                                                        整理自http://www.cnblogs.com/AngryBigCat/p/7277648.html