先上结论:
0.算法面试仍是当前最适合公司筛选程序员的方法之一。
1.国内仅在算法面试上有向北美看齐的趋势,面试考察范围其实更为全面。
2.刷题是程序员的终生主题,LintCode在手,跳槽不愁(doge)
下面逐一回答题主的问题
第一个问题:
前几年,很多人吐槽头条算法题,但这次,几乎所有人都站在了头条这一边,这是为什么?
首先,这个P7槽点太多了。分治算法应该是算法里很基础的知识点了,一个阿里P7如果连这个都忘了,可以想象他的技术有多水了,面试挂了也不奇怪。这时候他还跳出来抱怨,那么活该被大家一顿猛喷了。
不过更重要的原因应该是,在字节跳动、华为等公司带动下,无论是求职者还是面试官,都逐渐认识到算法面试其实是相对高效、准确且公平的筛选机制。
很多人吐槽算法面试,“面试造火箭,工作拧螺丝”,面试的算法有几个实际工作中用到的?
这其实并没有认识到算法面试的真正目的。说简单点,算法面试就是为了筛选出要么足够聪明要么足够勤奋的人。在一个算法题中,可以考察的东西不仅仅是你知不知道这个算法那么简单。
首先是沟通能力,这个在北美这边尤为明显,当然排除语言因素,其实道理是一样的。面试官给出一道题,你能不能准确理解题意,能否问出有价值的问题;是和面试官讨论完再做题,或是边沟通边做题,还是埋头写完再解释?这些都可