最近,关于阿里P8面试增加coding环节,P7去面字节跳动过不了算法面试的话题引起了广大网友的激烈讨论。不过不同于前几年大家普遍吐槽面试做算法题,这一次大多数人都站算法面试。
以字节跳动代表的国内大厂,无论是社招还是校招,技术面试都增加了手撕算法题环节,面试风格也有向北美湾区科技公司靠拢的趋势。于是有人调侃:刷题爱好者的春天来了!
为什么国内大厂越来越青睐算法面试
对于算法面试,很多人吐槽“面试造火箭,工作拧螺丝”,面试的算法有几个实际工作中用到的?
但在字节跳动、阿里、华为等大厂带动下,无论是求职者还是面试官,都逐渐认识到算法面试其实是相对高效、准确且公平的筛选机制。
这一点身在北美湾区的码农应该深有体会。能够通过算法面试的人,工作之后往往比较好带,别人3个月学会的东西可能他一个月就会了。
特别是对于newgrad来说,面试官更可能更看重潜力而非学了多少技术。因为基本的工具或技术,可以入职后培养,这一点在大厂尤为明显。所以现在越来越多的公司开始重视算法面试,并非盲目向北美公司看齐。
FB面试官揭秘算法面试的3个评价维度
前FB资深面试官令狐冲老师在《九章算法班》中就明确提到面试评价体系主要有以下3个维度。
《九章算法班版》免费试听
获取国内外大厂面试指南??为了应对最新疫情下的面试形式,课程扩充原来9节课至40+课时,扫码查看最新课程大纲首先是沟通能力,面试官给出一道题,你能不能准确理解题意,能否问出有价值的问题;是和面试官讨论完再做题,或是边沟通边做题,还是埋头写完再解释?哪种方式更为合理?这些都可以纳入到面试考察里。
然后是逻辑思维能力。一种情况是你很快搞定,这时面试官可能会继续followup问题,看你理解得是否透彻。另外一种情况是你不会,但是在面试官的提示下能够movefast,给出自己的想法,并不断优化。
最后是代码质量。包括代码有没有写完,代码风格好不好(比如可读性,变量名、函数名命名,空格与空行的正确使用等),异常检测以及bugfree。越高级别的面试官可能越在意你的代码质量。
有没有不考算法的公司?
虽说算法面试有其优势,但随着刷题的人越来越多,也有公司认为算法面试并不能很好地评估候选人的真实技术能力。比如湾区的Slack,Stripe等公司面试明确是不考算法题的。那么它们是怎么面试的?
以Slack为例,在onsite之前,候选人需要通过电话面试和take-homeexercise。其中take-homeexercise主要形式为codereview。
而在onsite技术面试环节,Slack给出的问题也是贴近实际工作内容。应聘者需要实现一个真实功能的基本版本,这一般与他入职后的工作相关。
这时候面试官重点