面试小节

自定义实现内置的shuffle

<?php
//实现自定义的随机打乱
function myshuffle($arr)
{
    $result = [];
    $time_start = getmicrotime();
    while (count($result) < count($arr)) {
        $max = max($arr);
        $min = min($arr);
        $num = rand($min, $max);
        if (!in_array($num, $result)) {
            $result[] = $num;
            $key = array_search($num, $arr);
            if ($key !== false) {
                unset($arr[$key]);
            }
        }
    }
    $time_end = getmicrotime();
    $time = $time_end - $time_start;
    echo '自定义函数执行时间:' . $time . '秒' . "<br>";
}


function mushuffles($arr)
{
    $result = [];
    $time_start = getmicrotime();
    while (count($result) < count($arr)) {
        $num = array_rand($arr);
        $result[] = $num;
        $result = array_unique($result);
    }
    $time_end = getmicrotime();
    $time = $time_end - $time_start;
    echo '使用系统的数组随机' . $time . '秒';
}


function testshuffle($arr)
{
    $time_start = getmicrotime();
    $arr = shuffle($arr);
    $time_end = getmicrotime();
    $time = $time_end - $time_start;
    echo '系统函数执行时间' . $time . '秒' . "<br>";
}


function test()
{
    $arr = [];
    for ($i = 0; $i < 1000; $i++) {
        $arr[] = $i;
    }
    myshuffle($arr);
    testshuffle($arr);
    mushuffles($arr);
}

test();
//计算代码执行的时间
function getmicrotime()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}
对比了下时间,系统内置的函数在数组长度由10变为1000的时候几乎时间没有太大的延长,
可能面试官真的只是看你的思路,毕竟php内置的函数效率是经过测试的了,

实现Linux机器之间拷贝文件

使用scp命令拷贝
scp [email protected]:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

linux 中的awk命令是否熟悉

猜你喜欢

转载自blog.csdn.net/abc8125/article/details/89441197