flash866
V2EX  ›  求职

继续求 PHP 开发工作

  •  
  •   flash866 · Mar 9, 2015 · 6271 views
    This topic created in 4263 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
    robotdiy
    Mar 9, 2015
    1
    php实现:输出 10,000 以内的三生素数,以换行符分隔。
    overflow
    overflow
    Mar 9, 2015
    2
    代码写得真的有点差
    yd
    yd
    Mar 9, 2015
    3
    @robotdiy 哈哈,这道题刷掉不少人。
    flash866
    flash866
    OP
    Mar 9, 2015
    4
    @overflow 求指点
    RemRain
    RemRain
    Mar 9, 2015
    5
    ```
    $startTime = microtime
    $fo=fopen

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

    'row:'
    "<br/>"
    ```
    RemRain
    RemRain
    Mar 9, 2015
    6
    运行结果:
     /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
    lbp0200
    Mar 9, 2015
    7
    mysql烹饪指南里有这个例子哈
    RemRain
    RemRain
    Mar 9, 2015❤️2
    8
    除了等号、点号左右空格不一致、单双引号混用、文件操作未作异常处理外的其他槽点:

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

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

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

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

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

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

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

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

    示例:
    if (id == 17628) {
    i++;
    }
    kn007
    kn007
    Mar 9, 2015
    18
    @RemRain 想了解正确写法?对PHP认知只在于修改,好奇比较符合规矩的算法。。。
    RemRain
    RemRain
    Mar 9, 2015
    19
    @kn007 PSR,如果是修改别人代码的话,最好保持原有的代码风格
    lijinma
    lijinma
    Mar 10, 2015
    20
    @woshicixide 应该叫魔术数字,实际代码中,应该用 const 代替魔术数字。
    aksoft
    aksoft
    Mar 10, 2015
    21
    考数学么...数学不好
    aksoft
    aksoft
    Mar 10, 2015
    22
    祝你早日找到工作..
    wlxwolves
    wlxwolves
    Mar 10, 2015
    23
    楼主看看这个http://job.youzan.com/?user=konggu
    jinchun
    jinchun
    Mar 14, 2015
    24
    @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
    jinchun
    Mar 24, 2015
    25
    @yd 看php手册看到FilterIterator这里, 试着用FilterTerator来解这道题,比10天前贴出来的自认为已经够快的代码快了20倍(11s -> 0.6s)。终归还是算法和知识积累不够。
    jinchun
    jinchun
    Mar 24, 2015
    26
    @yd 哦对了,是1到100000。1到10000不明显。
    erhuabushuo
    erhuabushuo
    Apr 8, 2015
    27
    发个简历过来 erhuabushuo(at)gmail.com
    sfards
    sfards
    Apr 13, 2015
    28
    不是是否已经入职,SFARDS期待你的简历[email protected]
    surewings
    surewings
    Apr 23, 2015
    29
    http://www.jobtong.com/e/23117, 加入我们初创团队吧,有期权激励。我们在朝阳常营地铁站旁边
    mdwl
    mdwl
    Apr 30, 2015
    30
    楼主,我是不是来晚了,上海的工作考虑吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4525 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 08:18 · PVG 16:18 · LAX 00:18 · JFK 03:18
    ♥ Do have faith in what you're doing.