V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bov
V2EX  ›  程序员

为什么折磨工程师的编码面试还在进行?

  •  
  •   bov · 2019-07-09 20:59:52 +08:00 · 5961 次点击
    这是一个创建于 1974 天前的主题,其中的信息可能已经有所发展或是发生改变。

    分享一个国外的文章

    作者站在工程师和公司的角度分别阐述了编码面试的利弊,公司方面主要是基于成本考虑,提高门槛,避免误判;而工程师呢,则面对买方的市场,必须按游戏规则来,闯过一道道关卡,证明自己,虽然成本也很高。

    作者设想让第三方来客观提供对工程师的统一测评,减少双方的成本,同时加上公司方面的特殊用人需求能力考察,来解决这个问题,然而这只是理想的情况。所以怎么办呢,现状就是工程师还是好好准备吧,通过了是能力的体现,没做好也不必气馁,毕竟它只是一次测验,不代表工程和项目能力。

    当然,找工作对个人来说是件大事,找到适合自己的长期工作,避免切换的巨大成本。

    另外,分享下自己的博客

    第 1 条附言  ·  2019-07-10 08:58:51 +08:00
    综合了下大家的回复,感觉大多数都还是认同现状的,或者换个说法,看开了。但其实有个问题是有多年工作经验的工程师,面对数据结构和算法的考题编码,如果面试前不复习一下,也大多会一片空白;更甚者多轮 leetcode 题的那种,如果之前不刷,能保准按时做对的可能性微乎其微,而现状就是这样,面试和工作内容有一定的脱节,无法改变。

    我觉得行业现状虽然是这样,但执行面试任务的也是工程师,那么在面试别人的时候最好也能换位思考一下,面试前做充足的准备,有针对性地去考察发现对方的能力,必要的时候给予提示,避免生僻刁难。毕竟我们也深处其中,行业现状的改变有赖于同行们的一点点小的改进。
    38 条回复    2019-10-10 23:05:26 +08:00
    2067
        1
    2067  
       2019-07-09 21:10:00 +08:00 via Android
    之前看过几个知乎回答,链接找不到了,大意仅供参考

    一个说的是掌握基本功是熟练应用技术的基础否则根本无法保证质量
    还一个说的是现在普遍习惯性骂领导和产品经理傻逼的情况下,假如换一个不傻逼的领导,那么自己又合格吗

    诚然 v2 上高手如云,知乎上都是百万程序员能把轮子发明出花来,但是毕竟对于大多数普通人来说,说算法都有点过了,很多很简单的问题都无法短时间说清楚

    另外 v2 上常说的科班出身科班出身,就算科班出身的又有几个人能把深入理解计算机系统仔细看过的

    结合前几天有人讨论 3 到 5 年初级开发的事,不得不说现在还是很浮躁

    以上的话说给自己鞭策一下,高手勿喷,毕竟我只是个 github 账号都没有的伪程序员
    leonard916
        2
    leonard916  
       2019-07-09 21:13:58 +08:00
    事实是没有一种可以节约双方时间的面试方式.
    MrJeff
        3
    MrJeff  
       2019-07-09 21:23:45 +08:00
    如果连编码面试都过不了 又如何在面试的短时间内证明你有能力呢?
    wu67
        4
    wu67  
       2019-07-09 21:28:38 +08:00
    这种想法很美好, 只是执行起来不太可能.

    除非能出现一个影响力巨大的范围能辐射大部分地区的第三方中介组织, 集公信力、用人评测、人才推荐、招聘委托于一身. 但是这样一来就不可避免的影响 zhengzhi 和被 zz 影响, 要么前者会反 zhengfu, 要么后者会被 zf 控制最后功能变味
    wu67
        5
    wu67  
       2019-07-09 21:31:15 +08:00
    @MrJeff 手写各种算法了解一下. 也不是一刀砍, 只是一些小破公司给个 4 5 千工资就各种算法要求、前端熟悉后端 后端掌握前端, 层出不穷
    20015jjw
        6
    20015jjw  
       2019-07-09 22:59:46 +08:00 via Android
    那不然咋办..
    chihiro2014
        7
    chihiro2014  
       2019-07-10 00:10:10 +08:00
    拿土澳这头的情况来讲,面试就是十分的坑,投完简历,人家也可能因为你不是 local 或者 pr 而拒绝你。然而有些真的啥也不会比 ppt 还 ppt 的人( PS:连 sql 都不会)这种人拿到 mid 开发,我是真的见到过。。。
    PressOne
        8
    PressOne  
       2019-07-10 00:41:08 +08:00 via Android
    高考一直都被骂是应试教育,埋没多少人杰,考上来很多学傻。问题是还有比高考更公平合理的筛选学生的方式吗?
    troywinter
        9
    troywinter  
       2019-07-10 00:54:36 +08:00
    楼上各位说的都在理,问题是人有不同,不同的人适合不同的方式展现自己,所以作为面试官要从多个方向去挖掘面试者的闪光点,刷刷题能解决那一堆 leetcode 题的人大把的有,但他们能做的可能也仅仅是刷刷题而已,很多人写不出来不是因为能力不够,只是因为一些因素不适合而已,如果面试官一定执着写不出来题的人我就是不要,那对大家来说是个双输的结局。

    曾经在现场看过 Doug Lea 的一次演讲,讲 J.U.C 的,他曾经提到,他很擅长 play with machines,压榨机器的最后一滴性能,但如果让他像 JVM 那群人那样去从系统设计的角度参与 JVM 的开发,那他肯定做的很糟糕。

    所以,人有不同,有些人擅长系统设计,有些人擅长面向对象设计,有些人擅长写出简洁的算法,还有些人擅长从宏观的软件工程的角度把控项目的各个 aspect,用擅长的人做合适的事情才对。

    所以简单的用算法问题卡人,必然是不可取的。
    yuikns
        10
    yuikns  
       2019-07-10 01:12:15 +08:00 via Android
    白板只是考察基本功而已,并不是 acm 的比赛一样往死里难。之后很多公司还有系统设计呢。比如楼上说的会调性能的,要是连个反转二叉树都做不了,还说个什么高端能力呢。
    ryd994
        11
    ryd994  
       2019-07-10 01:19:31 +08:00 via Android
    然而做算法题不是看你做不做得出啊
    看的是解题思路和思维习惯
    linoder
        12
    linoder  
       2019-07-10 02:09:06 +08:00   ❤️ 1
    因为人多了 仅此而已 ~ 同样的岗位 谁做都大差不差 总得有个东西来筛人吧
    EugeneYWang
        13
    EugeneYWang  
       2019-07-10 02:35:43 +08:00
    反倒觉得编码技能还是一个练习之后工作肯定能有用的东西。 有些公司面试要说出某个数据库或者什么软件的底层实现原理。。。。那么多数据库那么多轮子,不说你真的都看过,又哪里有这么多人需要了解底层远离呢。。。
    sNullp
        14
    sNullp  
       2019-07-10 04:22:23 +08:00
    因为你面试的就是螺丝钉职位,为什么要动额外的脑子来思考怎么让你展现你的特点?
    ericgui
        15
    ericgui  
       2019-07-10 04:36:01 +08:00
    @chihiro2014 美国这帮沙雕一般就是看你简历,然后要求你一堆 skills,我见过其实本质就是招一个 wordpress 的职位,JD 是照抄一个 front end developer 职位,要求会 angular,react,要求 CS 本科,至少 5 年经验,等等。
    lbfeng
        16
    lbfeng  
       2019-07-10 05:46:40 +08:00
    @ericgui 还要再问几个 leetcode 题
    tyrealgray
        17
    tyrealgray  
       2019-07-10 06:24:08 +08:00 via Android
    只有觉得最要命还是那种以来就给你一个一周工作量的题,然后做了结果还没个反馈的恼火吗
    tyrealgray
        18
    tyrealgray  
       2019-07-10 06:25:01 +08:00 via Android
    只有我觉得,输入法打少了
    Cbdy
        19
    Cbdy  
       2019-07-10 06:30:54 +08:00 via Android
    写个冒泡排序二分查找很难吗?
    opengps
        20
    opengps  
       2019-07-10 06:38:51 +08:00 via Android
    面试题应该有技术题,我曾经有个同事技术烂的一笔,吹得倒是很厉害,意外的是被不懂技术的大 boss 面试放行,工资高,干活少。把整个技术团队的氛围带的各种毛病,最后很显然,明着不辞退,各种理由扣钱刺激走的
    Oz2011
        21
    Oz2011  
       2019-07-10 07:16:06 +08:00
    很简单啊,算法题做得出的,要么是聪明的,平时不练,当场能想出来,要么是勤奋能学的,态度非常端正。就互联网马弄那点活,算法题能刷这么多的,有啥干不了的。

    人家面试的只要保证招到的都是满足他要求的,人家又不要保证所有好的他都要招走。
    janxin
        22
    janxin  
       2019-07-10 08:07:18 +08:00
    一般讲的白板编程其实也只是作为筛选手段之一而非唯一手段,而且主要考察的也是基本功与解题思路。对公司来说对筛选面试者还是比较有用的,当然主要是指一线开发。如果其他需求或者各种知名牛人,从我的角度而言,白板编程可有可无。

    如果是面试方,如果不是非常想进这家公司,完全可以避免掉加入,以免浪费大家时间。
    qibing2000
        23
    qibing2000  
       2019-07-10 08:24:36 +08:00 via iPhone
    @yuikns 这是在暗示 homebrew 的作者低端吗?
    ww2000e
        24
    ww2000e  
       2019-07-10 08:28:22 +08:00
    貌似越大公司 越这样
    kppwp
        25
    kppwp  
       2019-07-10 08:30:28 +08:00 via iPhone
    不喜欢写,不怕写,写也没问题👌
    rocksolid
        26
    rocksolid  
       2019-07-10 08:47:35 +08:00
    白板编程一般不会要求全都写对,但是至少思路要对,另外这是对简历造假的最简单的筛选方法
    Oz2011
        27
    Oz2011  
       2019-07-10 09:01:53 +08:00
    @qibing2000 很正常,人家的招聘标准就是做得出来就要,做不出来就滚。
    dafsic
        28
    dafsic  
       2019-07-10 09:07:55 +08:00
    可以写伪代码啊
    i0error
        29
    i0error  
       2019-07-10 09:11:25 +08:00
    PAT 是一个途径
    zr8657
        30
    zr8657  
       2019-07-10 09:18:13 +08:00
    之前一家公司同事 3 层 for 循环套了 2 个查询,我觉得考点算法是有必要的,基本思路也行,避免这种垃圾人
    hahaayaoyaoyao
        31
    hahaayaoyaoyao  
       2019-07-10 09:19:27 +08:00 via Android
    @zr8657 说一说详情呢?
    chinawrj
        32
    chinawrj  
       2019-07-10 09:26:01 +08:00
    招聘不是公益,能招到合适的就行。至于你是不是千里马,那也看人家伯乐是不是有很多其他千里马可选择。没必要为了你一个千里马,而改变很多规则,错杀你一个无所谓。越大的公司越这样,因为可供选择的千里马很多,这个时候更讲究效率;小公司可选择的千里马少,就看招聘的人怎么想了。
    Aresxue
        33
    Aresxue  
       2019-07-10 09:31:49 +08:00
    目前国内面试的时候考察算法要手写代码的其实不是很多,主要看是什么难度的算法,作为一个程序员你要是连个二叉树反转链表啥的都写不出来是不是也太过分了,但如果是去做应用的对方要求手写红黑树、B+树那当然就是有病了。。
    gzf6
        34
    gzf6  
       2019-07-10 09:37:17 +08:00
    我觉得让面试者将项目从头到尾详细讲述一遍,中间穿插着针对性的问题可能更能找到符合要求的人才。
    yuikns
        35
    yuikns  
       2019-07-10 09:42:58 +08:00 via Android
    @qibing2000 不是暗示,我就是明示,我觉得 homebrew 挺好的,作者本人如何也不了解,但单纯那次面试让我觉得这位大神不好惹,我很可能不会想和他合作的。
    zr8657
        36
    zr8657  
       2019-07-10 10:19:19 +08:00
    @hahaayaoyaoyao https://www.v2ex.com/t/479300#reply15 刚好快一年了,现在回头看看当时自己真甜啊
    abelmakihara
        37
    abelmakihara  
       2019-07-10 10:25:00 +08:00
    因为是筛选手段不是考核手段
    chihiro2014
        38
    chihiro2014  
       2019-10-10 23:05:26 +08:00
    @ericgui 这其实还好,土澳这头听之前一起干活的朋友吐槽,招前端往往变成招 UI。。不会写代码的那种
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3505 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 10:46 · PVG 18:46 · LAX 02:46 · JFK 05:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.