继续求 PHP 开发工作 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
flash866
V2EX    求职

继续求 PHP 开发工作

  •  
  •   flash866 2015-03-09 12:05:55 +08:00 5192 次点击
    这是一个创建于 3870 天前的主题,其中的信息可能已经有所发展或是发生改变。
    年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 条回复    2015-04-30 16:07:38 +08:00
    robotdiy
        1
    robotdiy  
       2015-03-09 12:13:00 +08:00
    php实现:输出 10,000 以内的三生素数,以换行符分隔。
    overflow
        2
    overflow  
       2015-03-09 12:31:20 +08:00
    代码写得真的有点差
    yd
        3
    yd  
       2015-03-09 12:32:48 +08:00
    @robotdiy 哈哈,这道题刷掉不少人。
    flash866
        4
    flash866  
    OP
       2015-03-09 13:05:46 +08:00
    @overflow 求指点
    RemRain
        5
    RemRain  
       2015-03-09 13:25:02 +08:00
    ```
    $startTime = microtime
    $fo=fopen

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

    'row:'
    "<br/>"
    ```
    RemRain
        6
    RemRain  
       2015-03-09 13:33:06 +08:00
    运行结果:
    /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  
       2015-03-09 13:47:34 +08:00
    mysql烹饪指南里有这个例子哈
    RemRain
        8
    RemRain  
       2015-03-09 13:56:54 +08:00   2
    除了等号、点号左右空格不一致、单双引号混用、文件操作未作异常处理外的其他槽点:

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

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

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

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

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

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

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

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

    示例:
    if (id == 17628) {
    i++;
    }
    kn007
        18
    kn007  
       2015-03-09 20:46:35 +08:00
    @RemRain 想了解正确写法?对PHP认知只在于修改,好奇比较符合规矩的算法。。。
    RemRain
        19
    RemRain  
       2015-03-09 21:10:53 +08:00
    @kn007 PSR,如果是修改别人代码的话,最好保持原有的代码风格
    lijinma
        20
    lijinma  
       2015-03-10 09:54:48 +08:00
    @woshicixide 应该叫魔术数字,实际代码中,应该用 const 代替魔术数字。
    aksoft
        21
    aksoft  
       2015-03-10 17:07:18 +08:00
    考数学么...数学不好
    aksoft
        22
    aksoft  
       2015-03-10 17:07:37 +08:00
    祝你早日找到工作..
    wlxwolves
        23
    wlxwolves  
       2015-03-10 23:48:55 +08:00
    楼主看看这个http://job.youzan.com/?user=konggu
    jinchun
        24
    jinchun  
       2015-03-14 01:19:26 +08:00
    @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($quot_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  
       2015-03-24 02:30:17 +08:00
    @yd 看php手册看到FilterIterator这里, 试着用FilterTerator来解这道题,比10天前贴出来的自认为已经够快的代码快了20倍(11s -> 0.6s)。终归还是算法和知识积累不够。
    jinchun
        26
    jinchun  
       2015-03-24 02:34:40 +08:00
    @yd 哦对了,是1到100000。1到10000不明显。
    erhuabushuo
        27
    erhuabushuo  
       2015-04-08 11:07:39 +08:00
    发个简历过来 erhuabushuo(at)gmail.com
    sfards
        28
    sfards  
       2015-04-13 14:13:07 +08:00
    不是是否已经入职,SFARDS期待你的简历[email protected]
    surewings
        29
    surewings  
       2015-04-23 10:29:07 +08:00
    http://www.jobtong.com/e/23117, 加入我们初创团队吧,有期权激励。我们在朝阳常营地铁站旁边
    mdwl
        30
    mdwl  
       2015-04-30 16:07:38 +08:00
    楼主,我是不是来晚了,上海的工作考虑吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2812 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 80ms UTC 00:28 PVG 08:28 LAX 17:28 JFK 20:28
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86