由Meta裁员引出的关于程序员面试题的讨论

恶性循环也,说来十几二十年前搞acm的人优越感真的是爆炸,导致有一段时间google面试全都问算法题。google的这个问题严重到公司内部都批评这些人净问这些没用的,然而一部分人跑到了湾区的其他新公司去,导致这些公司第一批面试也开始面算法题,造成的问题比google更严重,但是已经没办法掉头了。leetcode抓住了这个机会做大了,导致刷题应试成为可能,leetcode之前只有真的想学算法的人才会接触到算法。现在导致所有人都要刷题了 :troll:

26 个赞

我当年面试的时候问的都是语言特性、逻辑推导和system design,那个年代都没听说过leetcode :yaoming:

3 个赞

我刚参加工作的时候,大概十几年前,算法题已经很流行了。当时确实有很多关于语言特性的题目,java的volatile,C++ STL库函数之类的。

当时其实没怎么见过system design的题,特别是现在这种完全基于分布式系统的system design题目。可能是我当时比较Junior吧,遇到的设计题都是设计数据结构这类的东西,比如如何实现microsoft excel,cell如何合并之类的。

6 个赞

现在搞 ACM 的优越感也不弱(确实很厉害倒是) :yaoming:

3 个赞

跟acm无关

只是需要一个filter来筛人罢了

可以是奥数 算法 还可以是身高 颜值

5 个赞

我理解你讨厌刷题风气,确实刷了题没啥用
但是刷题对于公司也好,对于个人也好其实是个态度问题,也是个公平问题。对于一个每年要招收那么多员工的公司,考题目即可以保证招进来的人有基本的能力,也可以保证尺度统一,避免因为被告歧视。
事实上,愿意把题目好好刷几遍的人成为一颗优秀的螺丝钉的概率也更高。

14 个赞

按你这么说,刷题有点像是服从性测试。

18 个赞

本来就是的。要求一次写对不出bug,这种与coding能力毫无关系了。

11 个赞

我不觉得是这样

DataStructure & Algorithm可以说是CS最基础的专业课
掌握这个基础能力映射出了掌握其它专业课,甚至于创造新知识的可能性,无论是已经掌握还是之后学习

考书本有什么意义呢,当然是能力更重要

况且这只是个基础的测试,后面还可以有更specific和组相关的了解

7 个赞

问题不是出在算法题上,而是扔一道题库里的算法题做出来就给过的面试官。刷过题背了答案一遍写出最优解的能过,慢慢理讲清思路但是来不及写完的被刷掉,才是问题。

考什么不重要,算法、数据结构、系统设计、编程习惯、文档水平都可以考,重要的是面试官怎么从面试中得到能反应日后工作水平的数据。

28 个赞

我觉得这才是正确的面试方法 :troll:

现在的system design也走火入魔了,为了区分是不是刷design题的,还得多问问“你说这样做不行,那为什么不行?行的那个具体是好在什么地方?” :troll:

5 个赞

但这个行业还是比较新,没有特别好的metrics能准确考察一个人的水平是不是match公司需要。

所以只能着重找,工作勤恳认真且不会想着搞事的人(i.e. 删库跑路)。而刷题搞得好,这几个要求基本都能满足。

2 个赞

既然是来当码农,为什么不考更加对口的software engineering的专业课内容呢 :troll:

这个我看有些公司统计过的,其他方面接近的人,刷题水平的高低跟日后performance的优劣几乎是没有关系的 :troll:

4 个赞

所以我说这是面试官,或者设计整个面试的人的问题了。社招打工码农怎么也有20多年了吧,这么多聪明人怎么会没设计出有效的面试呢。

靠刷题面试在很多公司内部都有特异性和敏感性都不好的报告了。我实在想不出背答案就/才能过的考试对筛选人才有什么帮助,整得跟国内公务员考试那种题似的。

1 个赞

考题相对来说是个客观性测试,business 口的那种 STAR situation / task / action / result 主观性吹牛逼面试倒是更讨厌。当然我也没觉得拿个和实际工作不太相关的题来面是个好举措。

6 个赞

冒昧问一下哪些课算专业课,可以用来考大多数人?
转码上CS Master, 选课基本就是按着本科BS要求勾选的。譬如systems要求一门,对systems不真感兴趣的就选database, 有兴趣的上OS, 还有networking, 虽然是同一个大类但内容完全不同。这么看来本科生们出来也不是全都会
不像本来的天坑边缘土木,默认所有人搞的是structural. 据说他们去考牌,完全不structural的交通也得考半天结构。我就觉得CS这种多种方向灵活选择是优势,但也导致了无法考专业课(除非每个职位具体到细分领域,那对未来职业还不明确的新人就不友好了),刷题算是妥协产物。就像SAT, 发明之处是为了考general的“学习能力”和智商,内容不跟高中学科有直接联系

5 个赞

os network database这些基本科班都会学的

1 个赞

我这里经常看到本科生问如何避免OS等等不喜欢的课 :joy: 至少从毕业要求上看完全可以不上

这是面试官的问题, 大厂calibrated 面试官都很看重communication,毫无communication,一顿打字,谁知道你是不是开着第二个屏幕在抄呢

2 个赞