几点说明
1.题主不在一线城市,公司面试要求数据结构和算法
2.所问的问题都很基础,类似于“数组和链表元素在内存中存放特点?,查询第n个节点时间复杂度?”,“二叉树遍历”等,候选人答对比例差不多不到两成,工龄越长,比例越低。
3.如果不问这些,问哪些(.net方向)?
前些天跟一个前端大佬聊,他喜欢招什么样的下属,他只说了一点:能成事的人。
这一句话让我想了好久,是第一次听到这个答案,也应该是最match我想法的答案。
回到这个问题。
算法是知识点,只考察知识点,是完全看不出一个人的能力来的,因为知识点是很容易补齐的。有太多比知识点更重要的能力,比如思维、韧性、学习能力、理解能力、攻坚能力、创造力、领导力等等,这些能力的培养往往是需要数十年以上的积累,不是靠短暂的突击能补齐的,这些也才是拉开庸人与牛人差距的东西,决定了你以后能做成什么样的事儿。
算法的考察,过程是比较简单的,不需要对面试官有过高的要求;而其他能力的考察,是比较困难的。那些能做到全面考察候选人能力的人,自己的能力也一定是较全面的,不然是没有办法做出判断的;能达到这个要求的面试官,比例并不高,而面试问算法,更像是一个偷懒的做法。
我很欣慰看到国内的很多大厂在尝试多面算法以后,最近几年都逐步降低了算法的占比。
BTW:那些把学到的知识当做能力的人,一般都是没做成过什么事儿的人。https://mp.weixin.qq.com/s/nISbzJk5LjNAVSWf-L7I_Q