PHP开发工程师笔试题。五、八、十三、十五求指教


五、八、十三、十五,请大家指教---


一、写一个方法,获取当前目录以及子目录的所有文件,并将所有文件名输入到一个数组中,输出结果。


二、php 如何从远程服务器获取文件等资源,请提供解决措施,最好提供实例。


三、业务需求实现文件下载,请提供思路或代码。


四、将你所了解的linux命令分享一下吧,并说明下这些命令的常用参数。


五、linux如何分析日志?有哪些分析日志命令呢?假如我需要删掉之前3天的日志文件,什么命令可以实现?


六、php常用的超全局变量有哪些?请说明作用还有一些你经常使用的内容。我要获取用户访问的IP地址,改如何获取。


七、缓存技术有用过哪些?请简要概述优缺点。


八、NoSQL数据库有用过哪些?说明使用场景。


九、简要描述下MVC的概念,优缺点,你还了解哪些设计模式。


十、有使用过类方法重载技术吗?说明下常用哪些方法?


十一、二分法查询一个线性表长度为50,查找不成功最多查找几次?


十二、PHP_EOL是什么东西?作用是啥?


十三、假如我手中有a个坏灯泡和a+1个好灯泡,每次可以取一个。如果两个好灯泡或者两个坏灯泡接通电源后都会亮。但如果一个好灯泡和一个坏灯泡在一起不会亮。请问,我该如何拿出一个好灯泡。


十四、php如何打印本周周一的时间日期呢?


十五、三桶分水,有三个桶,一个三斤的桶,两个八斤的桶,两个八斤的桶装满了水,如何将这十六斤的水平分给四人,四人自备容器,分出去的水不能要回来。








一、2017年9月18日00:53:31
<?php   
//获取当前文件夹及其子文件夹的所有文件名,保存到数组中。
//作者 :刘辉   时间  2017年9月18日00:46:06
function listFiles($dir)  
{  
    //打开目录  
    //static这个关键字非常重要。因为这是递归调用,否则会把之前的值给覆盖掉。
    static $tempArr=[];
    $handle=opendir($dir); 


    //阅读目录  
    while(false!==($file=readdir($handle)))  
    {  
         //列出所有文件并去掉'.'和'..'  
         if($file!='.'&&$file!='..')  
         {  
            //所得到的文件名是否是一个目录  
             if(is_dir("$dir/$file"))  
             {  
                //列出目录下的文件  
                 listFiles("$dir/$file");  
             }  
             else  
             {  
                    //如果是文件则打开该文件                     
                  $tempArr[]=$dir."/".$file."<br/>" ;                  
                                        
            }  
        }  
         }  
        return $tempArr;
        

 /*------------------------------------------*/  
    //调用  
    $dir=getcwd();  
   var_dump(listFiles($dir));  


二、2017年9月18日00:56:18


http://blog.csdn.net/qq_29920751/article/details/52245666


三、2017年9月18日00:58:02
https://zhidao.baidu.com/question/874262560361296452.html


四、2017年9月18日00:58:15
LINUX命令


五、


六、2017年9月18日01:00:33
$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;


七、2017年9月18日01:01:53
http://www.cnblogs.com/timothy-lai/p/5532166.html


八、


九、2017年9月18日01:12:08


MVC  单例、工厂    
十、2017年9月18日01:14:00
首先PHP本身不支持,但是可以模拟。__call
http://www.cnblogs.com/huangzhilong/p/5067886.html


十一、2017年9月18日01:16:35
log 以2为底 50的对数 +1。也就是5+1=6 (二叉树)


十二、2017年9月18日01:16:37
换行符


unix系列用 \n


windows系列用 \r\n


mac用 \r


PHP中可以用PHP_EOL来替代,以提高代码的源代码级可移植性
http://www.cnblogs.com/codefor/archive/2011/06/18/2084300.html


十三、


十四、 2017年9月18日01:18:41
 echo date('Y-m-d H:i:s',strtotime("Monday"))


十五、2017年9月18日01:19:47
设两个8斤的大桶分别为A1、A2;3斤的小桶为B.4个人分别为C1、C2、C3、C4.
一、用A2中的水把B倒满,将B中的水分给C1;再用A2中的水把B倒满,将A2中剩下的水分给C2.(即:A1:8斤、A2:0斤、B:3斤、C1:3斤、C2:2斤、C3:0斤、C4:0斤)
二、把B中的水全部倒入A2中,用A1中的水把B倒满,然后把B中的水全部倒入A2中,再用A1中的水把B倒满,用B中的水把A2填满,将B中剩余的水分给C3.(即:A1:2斤、A2:8斤、B:0斤、C1:3斤、C2:2斤、C3:1斤、C4:0斤)
三、把A1中的水全部倒入B中,用A2中的水把B填满,把B中的水全部倒入A1中,用A2中剩余的水把B填满,把B中的水再次全部倒入A1中,用A2中剩余的水把B填满,将A2剩余的水分给C4.(即:A1:6斤、A2:0斤、B:3斤、C1:3斤、C2:2斤、C3:1斤、C4:1斤)
四、用B中的水把A1填满,将B剩余的水分给C1.(即:A1:8斤、A2:0斤、B:0斤、C1:4斤、C2:2斤、C3:1斤、C4:1斤)
五、用A1中的水把B倒满,将B中的水分给C3,用A1中剩余的水把B填满,将B中的水分给C4,将A1中剩余的水分给C2.(即:A1:0斤、A2:0斤、B:0斤、C1:4斤、C2:4斤、C3:4斤、C4:4斤)

猜你喜欢

转载自blog.csdn.net/wuye_lh/article/details/78015039
今日推荐