工作也有 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 1
不觉得连 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 1
面试不是水平测试, 而是选拔测试. 说白了, 10 个人怎么选出 1 个人, 而不是考察这 10 个人是不是满足要求. (很有可能这 10 个人都满足要求的, 这样就得加大难读, 最终留下一个为止
这就和讨论高考题这么难 /这么简单是毫无意义的, 排名不会随着这些东西变化 (但最好不要所有人都满分 |
23
Mrun 2023-03-02 18:03:03 +08:00
|
24
Mrun 2023-03-02 18:09:15 +08:00 1
@Mrun #23
这其实就是一个低成本的筛选机制,面试者有千万种理由来说明 不会算法也可以做好项目。 但是,公司也经常碰见 只会吹水的渣码农。 那么双方的最大公约数就是算法,简单,快速,高效,当场见高低。 面试官尽量避免主观判断,给所有人表现的方式(绝对的公正不存在)。 如果不做算法来筛选,岗位机会就会大概率往 高学历、大厂背景的求职者富集 |
25
dlmy 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 2
@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 聊的挺愉快,只是略有降薪,不过行业以及岗位都挺满意,这家没有算法,也没有怎么问八股,问的还是项目居多,根据你的项目来发散知识点以及优化项。今天是入职第一天,总体还是挺满意的。
看了上面很多朋友的反驳也有一些朋友的赞同,只能说每个人都有自己的主见,不强求,只是希望大家在当下内卷的环境中保持住自己的初心,工作是为了更好的生活,大家也都是打工人,打工人何必为难打工人? |