V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
robben1992
V2EX  ›  职场话题

面试是不是越来越卷了

  •  
  •   robben1992 · 2023-03-02 12:18:43 +08:00 · 5697 次点击
    这是一个创建于 392 天前的主题,其中的信息可能已经有所发展或是发生改变。

    工作也有 10 年了,一直写 java ,工作前几年面试都问些 java 基础、多线程这些东西(初中级),后面再面试就是问 spring/spring cloud/dubbo/redis/mq/分布式事务这些(高级 资深岗位),现在出去找工作发现很多公司啥都不管先来个算法题,这就扯淡了,都已经是资深和 team leader 级别了,平常做的最多的也就是架构设计这些,也会写一些业务代码,但是个人感觉确实在工作中实现业务功能没用到所谓的算法,反倒是设计模式要考虑的多些,所以这些考算法的公司纯粹就是为了增加面试门槛(说的不好听就是装 b )?

    45 条回复    2023-03-08 21:26:06 +08:00
    mnikn
        1
    mnikn  
       2023-03-02 12:30:46 +08:00
    是的,现在面试中考的算法最多只是一个提高门槛的作用。如果是真的考算法能力,更多情况下不会出 leetcode 原题,而是结合实际场景应用。
    例如游戏开发中要用到的算法可比互联网的多太多了,例如考 wfc 算法怎么实现一个 rougelike 类型的地图生成,考 A* 算法在寻路场景中的实际应用,考四叉树如何优化碰撞逻辑性能。
    zhgg0
        2
    zhgg0  
       2023-03-02 12:32:41 +08:00 via iPhone
    这个因人而异吧。我也工作十来年,我就喜欢面试时被问算法,因为算法是死的,面试前花点时间准备下就能保证在算法环节翻车的概率很小。反倒是别的方面太宽泛,每个面试官喜好不一样,套路比较少,准备比较花时间。
    anonymousar
        3
    anonymousar  
       2023-03-02 13:20:44 +08:00
    写两道题跟资深有啥关系。写那么多年程序做两道 dp 问题不大吧?
    robben1992
        4
    robben1992  
    OP
       2023-03-02 14:49:51 +08:00
    @mnikn 有些特定的岗位考无可厚非,像你举的例子这种或者本身就是算法岗位,但像纯粹的业务开发这种,其实很难遇到你要亲自去实现某个算法,更多的是去用 java 自带的或者类似 guava 这种现成的工具包,所以在面试岗位的时候感觉很多都只是为了考算法而考算法。
    robben1992
        5
    robben1992  
    OP
       2023-03-02 14:55:17 +08:00
    @zhgg0 确实也是因人而异,只是感慨现在很多公司把这块当做一道必须要过的门槛了,而不是当做考察候选人的一个非必要条件
    robben1992
        6
    robben1992  
    OP
       2023-03-02 14:56:30 +08:00
    @anonymousar 没啥关系,希望你当 CTO 的那天,面试官先给你来一到 hard
    beidounanxizi
        7
    beidounanxizi  
       2023-03-02 16:06:40 +08:00
    如果一个人 for 循环 都写不好 那真就算了
    做 easy 和 medium 算法题 还是有必要的
    只不过也是筛选手段而已

    说设计模式 不说的是 软件架构和系统设计
    那我说 java 的 设计模式 大部分就是一坨翔
    沉迷于设计模式是 javaer 被 gopher 喷的一大毛病 哈哈
    https://www.reddit.com/r/golang/comments/112vfr3/how_to_deal_with_java_developers_polluting_the_go/
    Mrun
        8
    Mrun  
       2023-03-02 16:13:39 +08:00   ❤️ 1
    不觉得连 medium 的算法题都做不出来的码农,技术水平能高到哪去。
    真给资深的 title ,负责核心项目,又是一堆屎山项目
    mnikn
        9
    mnikn  
       2023-03-02 16:25:52 +08:00
    @robben1992 这些在游戏行业中其实是基本的业务岗。。。主要是互联网大部分业务岗不需要太深的算法能力,但是面试的人又太多了,考算法算是一个无奈之举
    justfindu
        10
    justfindu  
       2023-03-02 16:30:20 +08:00
    为了压价
    robben1992
        11
    robben1992  
    OP
       2023-03-02 16:32:32 +08:00
    @beidounanxizi PHP: php 是世界上最好的语言,谁赞成?谁反对?
    mnikn
        12
    mnikn  
       2023-03-02 16:38:22 +08:00
    面试中能够写出算法题和实际中能够写出算法题要求还是不一样的,有很多在线下查查资料就能写出来的题,在面试中需要对此有很深的理解才能答出来,所以我一向认为没刷题就能轻松答上面试中 hard 级别的题目要么是天才要么是装。
    面试中考算法和高考的目的一致,只是一种筛选机制并不关心你是否真的理解。如果真的考算法能力,我会选择线下给一个场景,你可以任意查资料,甚至问别人、用 chatgpt 都行,只要能够很好地解决就行。
    robben1992
        13
    robben1992  
    OP
       2023-03-02 16:40:00 +08:00
    @Mrun 不觉得能做出 medium 的算法题的 coder 技术水平就能高到哪去,写的屎山代码不见得就少了。我只是吐槽现在有的公司用算法来强行装 x
    robben1992
        14
    robben1992  
    OP
       2023-03-02 16:43:01 +08:00
    @mnikn 赞同,要的就是实用性,但是现在极少有面试官会拿真实的例子,大部分都是图方便弄些 lc 上的来。
    robben1992
        15
    robben1992  
    OP
       2023-03-02 16:43:52 +08:00
    @justfindu 这可能也是一个原因
    Hurriance
        16
    Hurriance  
       2023-03-02 16:49:19 +08:00
    无论是 coding 还是一些案例题目,候选人能否准确回答出这些问题,区别很可能只在于他有没有做过类似的题目而已。这些本质上只是筛选机制的不同,想要通过这个去筛选出具备专业素养的候选人本身就是有风险的。

    技术知识点分布很广,是存在候选人和面试官有过相同 case 的数量很少的可能。

    没有跟面试官经历解决同一个 case ,这并不代表候选人本身的能力。
    wetalk
        17
    wetalk  
       2023-03-02 16:51:20 +08:00
    求职太,考算法刷下一批人
    robben1992
        18
    robben1992  
    OP
       2023-03-02 16:57:54 +08:00
    @wetalk 面试 10 家有 8 家上来就是做算法题,做完了才进入下一轮,为了顺利进行下一轮你也要去 lc 刷题,没刷过类似的,你还得被 pass 。。。
    coderxy
        19
    coderxy  
       2023-03-02 17:04:28 +08:00
    我也很烦算法, 但是如果出去面试遇到了,又是想去的公司,就没办法了,只能去刷题了。 这就是规则。。。
    LeegoYih
        20
    LeegoYih  
       2023-03-02 17:16:00 +08:00
    每天写业务代码 996 哪有时间刷题
    JKeita
        21
    JKeita  
       2023-03-02 17:18:31 +08:00
    @Mrun 是个人刷刷题库背一背都能做,不刷过的,即使是 CTO 都未必做得出来。
    Ericcccccccc
        22
    Ericcccccccc  
       2023-03-02 17:29:42 +08:00   ❤️ 1
    面试不是水平测试, 而是选拔测试. 说白了, 10 个人怎么选出 1 个人, 而不是考察这 10 个人是不是满足要求. (很有可能这 10 个人都满足要求的, 这样就得加大难读, 最终留下一个为止

    这就和讨论高考题这么难 /这么简单是毫无意义的, 排名不会随着这些东西变化 (但最好不要所有人都满分
    Mrun
        23
    Mrun  
       2023-03-02 18:03:03 +08:00
    @robben1992 #13

    那问题就变成了,medium 能做出来的码农,做不出来的码农,觉得哪个更靠谱的问题了。

    我选择相信前者
    Mrun
        24
    Mrun  
       2023-03-02 18:09:15 +08:00   ❤️ 1
    @Mrun #23

    这其实就是一个低成本的筛选机制,面试者有千万种理由来说明 不会算法也可以做好项目。

    但是,公司也经常碰见 只会吹水的渣码农。

    那么双方的最大公约数就是算法,简单,快速,高效,当场见高低。

    面试官尽量避免主观判断,给所有人表现的方式(绝对的公正不存在)。

    如果不做算法来筛选,岗位机会就会大概率往 高学历、大厂背景的求职者富集
    dlmy
        25
    dlmy  
       2023-03-02 18:09:48 +08:00
    笔试无非就是考 高频算法题 或 复杂 SQL 题 或 多线程编程题,但是大多数公司,主要考算法,所以在面试前可以花两周时间去刷一刷高频的算法题: https://codetop.cc

    但是说真的,考算法题还不如考系统设计题。
    xbird
        26
    xbird  
       2023-03-02 18:19:47 +08:00
    我也工作 10 年了,大小公司都任职过,做到了中型公司的技术总负责人,但是我算法还是没忘,编码能力还在,leetcode 照样刷的动,我觉得题主这种想法不靠谱。
    能力用进废退,如果没有了,那就是没有意识去维护自己的刀刃锋利度,不能怪这个现状。
    hhjswf
        27
    hhjswf  
       2023-03-02 18:19:53 +08:00 via Android
    你这不是说废话嘛,怎么不拿十年的薪资跟刚毕业的比
    robben1992
        28
    robben1992  
    OP
       2023-03-02 18:46:22 +08:00
    @lscbqr 但是算法题已经成为近几年很多公司的筛选标配了,所以没得选择,只能刷,只能卷,开始是刷 100 ,越往后可能就是得刷 1000 道才能过这个门槛
    abelmakihara
        29
    abelmakihara  
       2023-03-02 22:57:19 +08:00 via iPhone
    算法起码比前端手撕 js 好点吧
    应该有很多人做算法能做出趣味
    js 我很怀疑有没有人能感觉有趣。。全是糟粕
    KedaArray
        30
    KedaArray  
       2023-03-02 23:42:00 +08:00
    刚好相反....喜欢面试算法题,有思路基本都能写;
    不太喜欢问八股,可能问到的点太多了,有时候一个题没答上来面试直接 G
    echoless
        31
    echoless  
       2023-03-03 09:58:47 +08:00
    楼主面试也是你筛选公司的途径啊.

    不需要所有的公司都面上
    chrosing
        32
    chrosing  
       2023-03-03 10:23:28 +08:00
    @echoless 又看见你了 天天摸鱼🐟 哈哈哈
    slzhouzsl
        33
    slzhouzsl  
       2023-03-03 10:42:22 +08:00
    有的面试时手撕算法直接一个白板,要你写输入输出
    wtsamuel
        34
    wtsamuel  
       2023-03-03 10:44:26 +08:00
    大部分求职者的编码能力足够胜任这些工作,但是求职的人太多,只能从算法,八股,年龄这些细分领域突出求职者的优势
    chenshun00
        35
    chenshun00  
       2023-03-03 12:26:39 +08:00
    @Mrun 请你详细说说为什么 google 那么多人用一个连反转二叉树都写不出的人写出来的产品
    antowa
        36
    antowa  
       2023-03-03 13:08:43 +08:00
    @anonymousar 面 CTO 你让人做 dp ?是不是还没做到这个岗位啊?
    anonymousar
        37
    anonymousar  
       2023-03-03 13:26:30 +08:00
    @antowa 因为他面的就不是 CTO 啊。工龄长一点大头兵面两道 hard 过分吗? 你要真是 p9 p10 还会有人让你写题?

    说现实点, 大部分人履历上根本没有亮点 能写出来题就算是加分项了。
    Mrun
        38
    Mrun  
       2023-03-03 13:36:24 +08:00   ❤️ 2
    @chenshun00 #35

    为什么要抬杠呢?这就是一个成本问题。

    你只看到了 brew 的作者被错杀,但是我看到了 Google 靠着这套算法面试筛选出了大量的优秀码农。

    说实话,在面试出大量优秀的码农的收获面前,一个 brew 作者的错杀,无足轻重。
    vinceall
        39
    vinceall  
       2023-03-03 17:43:44 +08:00
    面试造原子弹,进去拧螺丝难道不是标配么?
    zhgg0
        40
    zhgg0  
       2023-03-03 18:27:59 +08:00 via iPhone
    @Mrun 感觉你的分析很在理。
    solitude2
        41
    solitude2  
       2023-03-04 18:56:11 +08:00
    @Mrun 清醒者。在理,赞同
    impl
        42
    impl  
       2023-03-04 23:36:56 +08:00
    可以学学这位大佬,每天打卡 leetcode 刷算法题
    https://justyy.com/archives/45631
    v2Geeker
        43
    v2Geeker  
       2023-03-05 13:40:43 +08:00
    屁股决定脑袋的事,刷得多的人觉得就该问算法。

    对于老鸟程序员,算法仅是工具,沉淀的是宝贵的行业思考和经验,但这些一面的小年轻面试官是听不明白的。

    10 年,工作思考的是业务方向,如何提效,如何做产出,而不是细枝末节。

    理解楼主,没有人脉的跳槽,还是老老实实刷题吧,熟能生巧。
    lcj2class
        44
    lcj2class  
       2023-03-05 15:21:18 +08:00
    @v2Geeker #43 赞同,LC 类算法题不是最好的面试方式,但是最有效的,这也算是行业共识吧。

    10 年了,刷题能力 or 人脉,总要有一个吧?
    robben1992
        45
    robben1992  
    OP
       2023-03-08 21:26:06 +08:00
    其实也有之前的朋友内推,奈何都是大部分要刷算法,这种基本都放弃,有些是不用刷,但是有各种原因没去或者没去成,最后还是去了自己投的一家,跟直属 leader 聊的挺愉快,只是略有降薪,不过行业以及岗位都挺满意,这家没有算法,也没有怎么问八股,问的还是项目居多,根据你的项目来发散知识点以及优化项。今天是入职第一天,总体还是挺满意的。
    看了上面很多朋友的反驳也有一些朋友的赞同,只能说每个人都有自己的主见,不强求,只是希望大家在当下内卷的环境中保持住自己的初心,工作是为了更好的生活,大家也都是打工人,打工人何必为难打工人?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3016 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 15:02 · PVG 23:02 · LAX 08:02 · JFK 11:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.