内卷时代的筛选手段:面试考算法,你怎么看?

2021-06-24 18:35:23 +08:00
 ranxx

现在面试太注重算法了,搞得大家都去疯狂地刷题、背题,以求通过面试的初筛。

这显然是内卷时代的一种筛选手段:行业涌入的人才越来越多,所以门槛就会不断提高。

但这会导致一个不好的现象:很多人以为刷够了题,背会了面经,就能搞好软件开发,实际上还差得远。

你怎么看这种风气?

12417 次点击
所在节点    程序员
113 条回复
jorneyr
2021-06-24 20:39:38 +08:00
已经遇到过不少次,算法不好的同事解决不了的问题。
janus77
2021-06-24 21:03:08 +08:00
不算冷的冷知识 考算法不是国内发明的 一开始是谷歌等大厂发明的
国内也只是大厂会考而已 小公司也不考或者只考一些基本的(排序 二分什么的)
所以不是算法=卷,而是你想进大厂=卷。
786375312123
2021-06-24 21:05:30 +08:00
讲道理,刷题对我的提升挺大的
offswitch
2021-06-24 21:19:04 +08:00
@cxshun 没去大厂,一直在中小公司晃悠,工资比在大厂的同学少个 10w,不过 965 。今年面试,碰到的基本就是业务流程,工作细节,以及各种技术细节,算法倒是没考。
就是因为大厂要准备算法,而且还要背八股文,平时面试都是裸面,背八股文、刷算法简直难为人,工作上用到算法,一般都是算法那边写好算法定义,我这边实现。
开放性问题确实考验人的能力,主要是很多面试官不想听面试者的业务或者面试者讲不清楚听了也不明白。感觉比较好的面试就是先讲解清楚自己的业务流程,然后一点点往下挖,八股文上的东西很多真用不上,或者跟实际工作有差距。
lightjiao
2021-06-24 21:22:58 +08:00
讲道理,刷一些 easy 和 medium 题对工作帮助蛮大的
penghong
2021-06-24 21:42:07 +08:00
别学个词就在这用,考算法这个风气还是从国外传过来的好吧,国外 FB,Google,微软初中级招聘基本就是做题,而且还做好多轮,退一万步,不考算法,考什么?这么说吧,一个人算法玩的 6,那么他聪明和勤奋肯定会占一个,这样的人招进来肯定没有什么大问题。
fukongqi
2021-06-24 22:23:32 +08:00
我是做稀疏计算的 不考算法面试就没问题问了,面 100 个人才可能有一个做过稀疏的
chendl111
2021-06-24 22:32:53 +08:00
算法基本 leetcode100 题就能搞定,除非是头条这种专门考算法的,也不算难吧
ericls
2021-06-24 22:46:58 +08:00
考算法可以,但是只能占一小部分

很多人说不考算法没有简单的办法测试水平了,但是招人从来就不是一个简单的活,也不应该是一个简单的活!

大部分招过人然后自己又带过的,肯定有同感。两个算法水平一样的人,工作起来区别可以非常非常非常大。

以下几个方面是我现在能想到的个人比较看重的除了算法以外的东西:

1. 对问题的分析,看他是遇到问题先研究问题还是直接就去工具库里找工具。 实际问题和算法问的问题最大的区别是一个是新的,case by case 的问题,一个是死的,已知的问题。
2. Side project
3. 对细节的把控
4. 对简历上有经验的,可以问问踩过的坑,能把踩过的坑说清楚的,经验肯定是真的
5. 有没有低三下四,阿谀奉承,耍小聪明。这些将来沟通 100% 出问题
6. 对公司产品的看法,如果别的都差不多,肯定选对产品要解决的问题更感兴趣,有热情的。
ericls
2021-06-24 22:56:23 +08:00
对于刷题的,其实有一个问题可以问
你问他:你第一次提交答案之前,会不会自己手动把能想到的 test case 先试一遍确保无误了在提交。回答“是”的,基本上可以拜拜了
NeroKamin
2021-06-24 23:02:13 +08:00
@ericls 为啥不能试呢?
ericls
2021-06-24 23:22:34 +08:00
@NeroKamin
第一次提交之前去自己想 test case,为的是什么呢?

如果是为了找到 edge case 的话 很明显:
1. 直接提交让电脑告诉你答案更为高效
2. 如果很自信自己找到 edge case 的能力,更应该直接提交

所以,很明显在第一次提交之前 测试 test case,根本就不是为了找到 edge case 从而解决问题。而是为了满足 觉得自己很聪明 这个欲望,或者避免,”哎呀,我又错了” 这种情绪。这种情绪在学校很常见,因为会有教授什么的,出来给你扣分,但是在实际工作中,这种情绪只有负面作用。 作为程序员,你应该知道电脑跑代码通常比人快,应该让电脑成为你的工具帮你解决问题而不是反过来让自己去取悦电脑。

一个高效的开发:
研究问题
解决问题
解决不了
找下一个解法,问同事,问 Google

一个低效的开发:
研究问题
解决问题
解决不了
花 30 分钟:哎呀,我好笨,我是不是该转行,要不要问问同事?还是 Google 一下吧。。这个问题好像很弱智?
再花 30 分钟:我靠,这个代码太屎了,我靠竟然是我 lead 写的,是改还是不改呢?要不要跳槽啊?
好像还是得做,去找下一个解法吧。。
gadsavesme
2021-06-24 23:31:27 +08:00
没办法太卷了就是一种筛选手段,不过一堆 diss 刷算法的也是醉了,别的不说,两个别的条件一样的人,我绝逼选算法好的,算法好各种一遍过,代码的鲁棒性,边界值的思考不比你不刷的强的多?一堆不刷算法的以为刷算法就是靠硬背,就是工作用不到。经常刷的多少能在工作中体会到还是有提升的。
ericls
2021-06-24 23:37:12 +08:00
@gadsavesme 是的 还是有很多相通的地方。 一年不刷题 如果在工作中有所提升 也会发现刷题简单很多
ericls
2021-06-24 23:38:51 +08:00
也有很多从来不刷题的人 做复杂的算法也不错的
medivh
2021-06-25 01:41:42 +08:00
考算法题给了小厂出身的、转行的程序员一个和大厂程序员同台竞技的机会。

不考算法(或者美国这边流行的系统设计题和在线 debug 题)而只聊项目的话,等于承认了平台赋予的经验大于个人能力,这是不公平的,且会造成大厂近亲繁殖。
charlie21
2021-06-25 01:42:48 +08:00
那你说考什么吧,难道考四十分钟之内谁吃猪肉卷吃得多么,你是在招加菲猫么

爱情来得快去得也快,只有猪肉卷是永恒的。
加菲猫肯定不是为猪肉卷而生,但猪肉卷一定是为加菲猫而生。
加菲猫要有了三个愿望:“第一个是要猪肉卷,第二个还是猪肉卷,第三个,哦,你错啦,我想要更多的愿望,那样我就能得到更多的猪肉卷啦。”
最可爱的东西莫过于一张放着猪肉卷的小桌子
msg7086
2021-06-25 02:04:05 +08:00
面试一般四块,项目经验,行为,算法,设计。

恕我直言,算法是最简单的部分。我去亚麻之类的店面试,基本都是 LC 的 Easy 题,撑死到 Medium,看的一般不是你能解决多难的面试,而是看随便交给你一个简单的开发任务以后你能不能在很短的时间内实现出来。
如果给你一个简单题你在那磨磨唧唧半天出不了代码,那难道你在工作岗位上就能出代码了吗。

当然这是最基本的要求。往上还有设计题,还有行为题,还要聊之前的项目。这些要比写算法难多了。
johnsona
2021-06-25 02:14:44 +08:00
算法有用

尤其在处理数据的时候 感觉就是数据结构加算法

当然 ifelse curd call api 感觉也没啥区分度
zhjy23212
2021-06-25 02:30:00 +08:00
服从性测试
支持中低难度,再高了真的就是军备竞赛,面了三次 google 真是肉眼可见的难度年年提高
想通了,不陪他们玩了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/785603

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX