V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
flash866
V2EX  ›  求职

继续求 PHP 开发工作

  •  
  •   flash866 · Mar 9, 2015 · 5691 views
    This topic created in 4068 days ago, the information mentioned may be changed or developed.
    年32。
    个人期望:合理待遇+公积金,拒外包希望做长期运营类项目。
    邮箱: [email protected]
    腾讯圣经题(上帝让在圣经中查词,因为不知道圣经到底多大,用了日志文件替代圣经):
    <?
    /**
     * Tencent 圣(神)经题
     * @version 1.01
     * @author 子悟
     * @description 缺陷:单线程很慢 ,不如按行读取后放入数据库,将优化工作交给数据库实现
     */
    //ini_set('max_execution_time','500');
    set_time_limit(500);
    function search($str){
        $start = memory_get_usage();
        $startTime = microtime(true);
        $fo=fopen('access_log','r');
        $lineNumber=1;
        $searchResult='';
        while($lineStr = fgets($fo)){
            //echo $lineNumber,':',$lineStr;
            //$result=strpos($lineStr,$str);
            $arr=explode(' ',$lineStr);
            $result=array_search($str,$arr);
            if($result !== false){
                $searchResult .= 'row:'.$lineNumber.',clomun:'.($result+1)."<br/>";
            }
            $lineNumber++;
        }
        fclose($fo);
    
        $mdiff=(memory_get_usage()-$start);
        $tdiff=microtime(true)-$startTime;
        if($searchResult){
            return $searchResult . "[$mdiff B][$tdiff ms]";
        }else{
            return 'sorry!can\'t found it!'."[$mdiff B][$tdiff ms]";
        }
    }
    /*使用方法:传key参数*/
    echo search($_GET['key']);
    
    30 replies    2015-04-30 16:07:38 +08:00
    robotdiy
        1
    robotdiy  
       Mar 9, 2015
    php实现:输出 10,000 以内的三生素数,以换行符分隔。
    overflow
        2
    overflow  
       Mar 9, 2015
    代码写得真的有点差
    yd
        3
    yd  
       Mar 9, 2015
    @robotdiy 哈哈,这道题刷掉不少人。
    flash866
        4
    flash866  
    OP
       Mar 9, 2015
    @overflow 求指点
    RemRain
        5
    RemRain  
       Mar 9, 2015
    ```
    $startTime = microtime
    $fo=fopen

    'row:'.$lineNumber
    $searchResult . "[$mdiff B][$tdiff ms]"

    'row:'
    "<br/>"
    ```
    RemRain
        6
    RemRain  
       Mar 9, 2015
    运行结果:
     /tmp/php $ php e.php
    PHP Notice: Undefined index: key in /private/tmp/php/e.php on line 37

    Notice: Undefined index: key in /private/tmp/php/e.php on line 37
    PHP Warning: fopen(access_log): failed to open stream: No such file or directory in /private/tmp/php/e.php on line 13

    Warning: fopen(access_log): failed to open stream: No such file or directory in /private/tmp/php/e.php on line 13
    PHP Warning: fgets() expects parameter 1 to be resource, boolean given in /private/tmp/php/e.php on line 16

    Warning: fgets() expects parameter 1 to be resource, boolean given in /private/tmp/php/e.php on line 16
    PHP Warning: fclose() expects parameter 1 to be resource, boolean given in /private/tmp/php/e.php on line 26

    Warning: fclose() expects parameter 1 to be resource, boolean given in /private/tmp/php/e.php on line 26
    sorry!can't found it![1664 B][0.00013899803161621 ms]
    lbp0200
        7
    lbp0200  
       Mar 9, 2015
    mysql烹饪指南里有这个例子哈
    RemRain
        8
    RemRain  
       Mar 9, 2015   ❤️ 2
    除了等号、点号左右空格不一致、单双引号混用、文件操作未作异常处理外的其他槽点:

    1. 起始标记没用 <?php 导致很多环境下无法正常执行,而是直接打印出代码

    2. 直接修改了运行时间,而且写出魔鬼数字,未作说明。执行后也没有还原,真 require 这个文件就惨了

    3. 无用代码(被注释的部分)没有删除

    4. search 函数返回的居然是提示字符串

    5. 唯一一句英文提示,句首字母未大写,而且有语法错误

    6. 函数内变量命名居然有 startTime, fo, arr, mdiff 各种风格,且很多变量容易混淆,如:start, startTime, result, searchResult

    同意 @overflow 的观点
    loveyu
        9
    loveyu  
       Mar 9, 2015 via Android
    感觉我代码风格差不多,咋办
    neutrino
        10
    neutrino  
       Mar 9, 2015
    上次说找不到php的那个谁来着。。
    haiyang416
        11
    haiyang416  
       Mar 9, 2015 via Android
    话说我也准备找。
    但是看到楼主发的几个求职帖,我真替楼主着急,要用点心啊。
    thanksir
        12
    thanksir  
       Mar 9, 2015
    我觉得楼主应该把简历亮出来
    MarsWang
        13
    MarsWang  
       Mar 9, 2015
    zhiming137 gmail 发分简历来?
    overflow
        14
    overflow  
       Mar 9, 2015
    @RemRain 说出了具体的问题。

    这也是为什么面试的时候让写一个函数基本就可以确定这个人的层次水平了。楼主的水平还是比较低级。
    kechx
        15
    kechx  
       Mar 9, 2015
    @robotdiy 这道题的难点在哪里?刚写了下,发觉还好。
    woshicixide
        16
    woshicixide  
       Mar 9, 2015
    @RemRain 啥是魔鬼数学
    RemRain
        17
    RemRain  
       Mar 9, 2015   ❤️ 1
    @woshicixide 就是代码中突然出现一个数字,只有鬼能看懂

    示例:
    if (id == 17628) {
    i++;
    }
    kn007
        18
    kn007  
       Mar 9, 2015
    @RemRain 想了解正确写法?对PHP认知只在于修改,好奇比较符合规矩的算法。。。
    RemRain
        19
    RemRain  
       Mar 9, 2015
    @kn007 PSR,如果是修改别人代码的话,最好保持原有的代码风格
    lijinma
        20
    lijinma  
       Mar 10, 2015
    @woshicixide 应该叫魔术数字,实际代码中,应该用 const 代替魔术数字。
    aksoft
        21
    aksoft  
       Mar 10, 2015
    考数学么...数学不好
    aksoft
        22
    aksoft  
       Mar 10, 2015
    祝你早日找到工作..
    wlxwolves
        23
    wlxwolves  
       Mar 10, 2015
    楼主看看这个http://job.youzan.com/?user=konggu
    jinchun
        24
    jinchun  
       Mar 14, 2015
    @yd

    ```
    $num_arr = range(1, 10000, 2);
    unset($num_arr[0]);
    $quote_arr = &$num_arr;
    $last_key = [[],[],[]];
    foreach ($num_arr as $key => $value) {
    foreach ($quote_arr as $k => $v) {
    if($k < $key) continue;
    if($v != $value && ($v % $value == 0)) unset($quote_arr[$k]);
    }
    $last_key[0] = $last_key[1];
    $last_key[1] = $last_key[2];
    $last_key[2] = $key;
    if(!empty($last_key[0]) && $num_arr[$last_key[0]]+6 >= $num_arr[$last_key[2]]){
    echo $num_arr[$last_key[0]],',',$num_arr[$last_key[1]],',',$num_arr[$last_key[2]],PHP_EOL;
    }
    }
    ```

    想了想,代码有点不够优美,还是贴出来,希望得到指教。
    jinchun
        25
    jinchun  
       Mar 24, 2015
    @yd 看php手册看到FilterIterator这里, 试着用FilterTerator来解这道题,比10天前贴出来的自认为已经够快的代码快了20倍(11s -> 0.6s)。终归还是算法和知识积累不够。
    jinchun
        26
    jinchun  
       Mar 24, 2015
    @yd 哦对了,是1到100000。1到10000不明显。
    erhuabushuo
        27
    erhuabushuo  
       Apr 8, 2015
    发个简历过来 erhuabushuo(at)gmail.com
    sfards
        28
    sfards  
       Apr 13, 2015
    不是是否已经入职,SFARDS期待你的简历[email protected]
    surewings
        29
    surewings  
       Apr 23, 2015
    http://www.jobtong.com/e/23117, 加入我们初创团队吧,有期权激励。我们在朝阳常营地铁站旁边
    mdwl
        30
    mdwl  
       Apr 30, 2015
    楼主,我是不是来晚了,上海的工作考虑吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3254 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 158ms · UTC 13:44 · PVG 21:44 · LAX 06:44 · JFK 09:44
    ♥ Do have faith in what you're doing.