面试小节

自定义实现内置的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 root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

linux 中的awk命令是否熟悉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲不住的程序员

您的打赏将是我最大的鼓励感谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值