工作也有 10 年了,一直写 java ,工作前几年面试都问些 java 基础、多线程这些东西(初中级),后面再面试就是问 spring/spring cloud/dubbo/redis/mq/分布式事务这些(高级 资深岗位),现在出去找工作发现很多公司啥都不管先来个算法题,这就扯淡了,都已经是资深和 team leader 级别了,平常做的最多的也就是架构设计这些,也会写一些业务代码,但是个人感觉确实在工作中实现业务功能没用到所谓的算法,反倒是设计模式要考虑的多些,所以这些考算法的公司纯粹就是为了增加面试门槛(说的不好听就是装 b )?
![]() | 1 mnikn 2023-03-02 12:30:46 +08:00 是的,现在面试中考的算法最多只是一个提高门槛的作用。如果是真的考算法能力,更多情况下不会出 leetcode 原题,而是结合实际场景应用。 例如游戏开发中要用到的算法可比互联网的多太多了,例如考 wfc 算法怎么实现一个 rougelike 类型的地图生成,考 A* 算法在寻路场景中的实际应用,考四叉树如何优化碰撞逻辑性能。 |
2 zhgg0 2023-03-02 12:32:41 +08:00 via iPhone 这个因人而异吧。我也工作十来年,我就喜欢面试时被问算法,因为算法是死的,面试前花点时间准备下就能保证在算法环节翻车的概率很小。反倒是别的方面太宽泛,每个面试官喜好不一样,套路比较少,准备比较花时间。 |
3 anonymousar 2023-03-02 13:20:44 +08:00 写两道题跟资深有啥关系。写那么多年程序做两道 dp 问题不大吧? |
4 robben1992 OP @mnikn 有些特定的岗位考无可厚非,像你举的例子这种或者本身就是算法岗位,但像纯粹的业务开发这种,其实很难遇到你要亲自去实现某个算法,更多的是去用 java 自带的或者类似 guava 这种现成的工具包,所以在面试岗位的时候感觉很多都只是为了考算法而考算法。 |
5 robben1992 OP @zhgg0 确实也是因人而异,只是感慨现在很多公司把这块当做一道必须要过的门槛了,而不是当做考察候选人的一个非必要条件 |
6 robben1992 OP @anonymousar 没啥关系,希望你当 CTO 的那天,面试官先给你来一到 hard |
![]() | 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/ |
![]() | 8 Mrun 2023-03-02 16:13:39 +08:00 ![]() 不觉得连 medium 的算法题都做不出来的码农,技术水平能高到哪去。 真给资深的 title ,负责核心项目,又是一堆屎山项目 |
![]() | 9 mnikn 2023-03-02 16:25:52 +08:00 @robben1992 这些在游戏行业中其实是基本的业务岗。。。主要是互联网大部分业务岗不需要太深的算法能力,但是面试的人又太多了,考算法算是一个无奈之举 |
![]() | 10 justfindu 2023-03-02 16:30:20 +08:00 为了压价 |
11 robben1992 OP @beidounanxizi PHP: php 是世界上最好的语言,谁赞成?谁反对? |
![]() | 12 mnikn 2023-03-02 16:38:22 +08:00 面试中能够写出算法题和实际中能够写出算法题要求还是不一样的,有很多在线下查查资料就能写出来的题,在面试中需要对此有很深的理解才能答出来,所以我一向认为没刷题就能轻松答上面试中 hard 级别的题目要么是天才要么是装。 面试中考算法和高考的目的一致,只是一种筛选机制并不关心你是否真的理解。如果真的考算法能力,我会选择线下给一个场景,你可以任意查资料,甚至问别人、用 chatgpt 都行,只要能够很好地解决就行。 |
13 robben1992 OP @Mrun 不觉得能做出 medium 的算法题的 coder 技术水平就能高到哪去,写的屎山代码不见得就少了。我只是吐槽现在有的公司用算法来强行装 x |
14 robben1992 OP @mnikn 赞同,要的就是实用性,但是现在极少有面试官会拿真实的例子,大部分都是图方便弄些 lc 上的来。 |
15 robben1992 OP @justfindu 这可能也是一个原因 |
16 Hurriance 2023-03-02 16:49:19 +08:00 无论是 coding 还是一些案例题目,候选人能否准确回答出这些问题,区别很可能只在于他有没有做过类似的题目而已。这些本质上只是筛选机制的不同,想要通过这个去筛选出具备专业素养的候选人本身就是有风险的。 技术知识点分布很广,是存在候选人和面试官有过相同 case 的数量很少的可能。 没有跟面试官经历解决同一个 case ,这并不代表候选人本身的能力。 |
![]() | 17 wetalk 2023-03-02 16:51:20 +08:00 求职太,考算法刷下一批人 |
18 robben1992 OP @wetalk 面试 10 家有 8 家上来就是做算法题,做完了才进入下一轮,为了顺利进行下一轮你也要去 lc 刷题,没刷过类似的,你还得被 pass 。。。 |
19 coderxy 2023-03-02 17:04:28 +08:00 我也很烦算法, 但是如果出去面试遇到了,又是想去的公司,就没办法了,只能去刷题了。 这就是规则。。。 |
![]() | 20 LeegoYih 2023-03-02 17:16:00 +08:00 每天写业务代码 996 哪有时间刷题 |
22 Ericcccccccc 2023-03-02 17:29:42 +08:00 ![]() 面试不是水平测试, 而是选拔测试. 说白了, 10 个人怎么选出 1 个人, 而不是考察这 10 个人是不是满足要求. (很有可能这 10 个人都满足要求的, 这样就得加大难读, 最终留下一个为止 这就和讨论高考题这么难 /这么简单是毫无意义的, 排名不会随着这些东西变化 (但最好不要所有人都满分 |
![]() | 23 Mrun 2023-03-02 18:03:03 +08:00 |
![]() | 24 Mrun 2023-03-02 18:09:15 +08:00 ![]() @Mrun #23 这其实就是一个低成本的筛选机制,面试者有千万种理由来说明 不会算法也可以做好项目。 但是,公司也经常碰见 只会吹水的渣码农。 那么双方的最大公约数就是算法,简单,快速,高效,当场见高低。 面试官尽量避免主观判断,给所有人表现的方式(绝对的公正不存在)。 如果不做算法来筛选,岗位机会就会大概率往 高学历、大厂背景的求职者富集 |
![]() | 25 midsolo 2023-03-02 18:09:48 +08:00 笔试无非就是考 高频算法题 或 复杂 SQL 题 或 多线程编程题,但是大多数公司,主要考算法,所以在面试前可以花两周时间去刷一刷高频的算法题: https://codetop.cc 。 但是说真的,考算法题还不如考系统设计题。 |
26 xbird 2023-03-02 18:19:47 +08:00 我也工作 10 年了,大小公司都任职过,做到了中型公司的技术总负责人,但是我算法还是没忘,编码能力还在,leetcode 照样刷的动,我觉得题主这种想法不靠谱。 能力用进废退,如果没有了,那就是没有意识去维护自己的刀刃锋利度,不能怪这个现状。 |
![]() | 27 hhjswf 2023-03-02 18:19:53 +08:00 via Android 你这不是说废话嘛,怎么不拿十年的薪资跟刚毕业的比 |
28 robben1992 OP @lscbqr 但是算法题已经成为近几年很多公司的筛选标配了,所以没得选择,只能刷,只能卷,开始是刷 100 ,越往后可能就是得刷 1000 道才能过这个门槛 |
![]() | 29 abelmakihara 2023-03-02 22:57:19 +08:00 via iPhone 算法起码比前端手撕 js 好点吧 应该有很多人做算法能做出趣味 js 我很怀疑有没有人能感觉有趣。。全是糟粕 |
![]() | 30 KedaArray 2023-03-02 23:42:00 +08:00 刚好相反....喜欢面试算法题,有思路基本都能写; 不太喜欢问八股,可能问到的点太多了,有时候一个题没答上来面试直接 G |
![]() | 31 echoless 2023-03-03 09:58:47 +08:00 楼主面试也是你筛选公司的途径啊. 不需要所有的公司都面上 |
33 slzhouzsl 2023-03-03 10:42:22 +08:00 有的面试时手撕算法直接一个白板,要你写输入输出 |
![]() | 34 wtsamuel 2023-03-03 10:44:26 +08:00 大部分求职者的编码能力足够胜任这些工作,但是求职的人太多,只能从算法,八股,年龄这些细分领域突出求职者的优势 |
35 chenshun00 2023-03-03 12:26:39 +08:00 @Mrun 请你详细说说为什么 google 那么多人用一个连反转二叉树都写不出的人写出来的产品 |
36 antowa 2023-03-03 13:08:43 +08:00 @anonymousar 面 CTO 你让人做 dp ?是不是还没做到这个岗位啊? |
37 anonymousar 2023-03-03 13:26:30 +08:00 |
![]() | 38 Mrun 2023-03-03 13:36:24 +08:00 ![]() @chenshun00 #35 为什么要抬杠呢?这就是一个成本问题。 你只看到了 brew 的作者被错杀,但是我看到了 Google 靠着这套算法面试筛选出了大量的优秀码农。 说实话,在面试出大量优秀的码农的收获面前,一个 brew 作者的错杀,无足轻重。 |
39 vinceall 2023-03-03 17:43:44 +08:00 面试造原子弹,进去拧螺丝难道不是标配么? |
42 impl 2023-03-04 23:36:56 +08:00 可以学学这位大佬,每天打卡 leetcode 刷算法题 https://justyy.com/archives/45631 |
43 v2Geeker 2023-03-05 13:40:43 +08:00 屁股决定脑袋的事,刷得多的人觉得就该问算法。 对于老鸟程序员,算法仅是工具,沉淀的是宝贵的行业思考和经验,但这些一面的小年轻面试官是听不明白的。 10 年,工作思考的是业务方向,如何提效,如何做产出,而不是细枝末节。 理解楼主,没有人脉的跳槽,还是老老实实刷题吧,熟能生巧。 |
![]() | 44 lcj2class 2023-03-05 15:21:18 +08:00 |
45 robben1992 OP 其实也有之前的朋友内推,奈何都是大部分要刷算法,这种基本都放弃,有些是不用刷,但是有各种原因没去或者没去成,最后还是去了自己投的一家,跟直属 leader 聊的挺愉快,只是略有降薪,不过行业以及岗位都挺满意,这家没有算法,也没有怎么问八股,问的还是项目居多,根据你的项目来发散知识点以及优化项。今天是入职第一天,总体还是挺满意的。 看了上面很多朋友的反驳也有一些朋友的赞同,只能说每个人都有自己的主见,不强求,只是希望大家在当下内卷的环境中保持住自己的初心,工作是为了更好的生活,大家也都是打工人,打工人何必为难打工人? |