当前位置:首页 > 公众号精选 > 架构师社区
[导读]前段时间,有一位好友找到我,向我打听阿里社招笔试是否看重算法题的考察,我给予了肯定的答复。

前段时间,有一位好友找到我,向我打听阿里社招笔试是否看重算法题的考察,我给予了肯定的答复。他表现的有些沮丧,表示自己工程底子很扎实,框架源码也研究地很透彻,唯独算法能力不行,leetcode 上的简单题做起来都有点吃力。以至于面试一些公司时,基本都是前几面和面试官聊工程,相聊甚欢,一到笔试就 GG。鉴于我个人在学生时代有过 ACM 经历,对算法还是相当感冒的,个人算法能力不算出众,也不算弱,最好成绩是省赛金牌,区域赛铜牌(主要还是抱得队友的大腿),后来实在是写不动 C++ 了,中途转了 Java,借这个机会跟大家聊一聊,分享下个人对算法的一些认识。

我发现很多人有的一个观念是刷算法并不能很好地帮助他工作,他们中有些人是有了很多学校或者公司的项目经验,有些则是在数据库、RPC、大数据等某个垂直领域有了比较长时间的沉淀,他们会觉得刻意地刷算法题比较偏门,没有太大的价值。一方面有些人会比较自信,不认为需要靠算法来证明自己的价值,另一方面,有些人会认为刷算法题是应届生面试才需要考察的技能,对于社招来说,公司应该更注重考察项目经验和系统设计层面的技能。以我个人经验来看,面试互联网公司时,算法题几乎都是必考的一个环节,从公司的考察点出发,就可以佐证出,算法不重要这个观点的确是有待商榷的。还有一些人轻视算法,是觉得只有大厂才看重算法,一些小公司的面试根本不 care 算法,而且特别是像我文章开头提到那个朋友一样的人,有着比较强的工程能力,我相信在面试中一定可以凭借着这个优势,赢得面试官好感,那我不妨再反问一句,为什么要让算法成为你的软肋呢?

我已经表露了我对面试中算法重要程度的态度,而且我也认为面试中考察算法能力是非常重要的一环。在公司里做项目,我们往往需要花费数个月去落地,而面试中完成算法题最多只限制在半小时内,虽然时间区间不同,但本质上都是在考察一个人在一个固定的时间内完成某个任务的能力。读题考察了候选人的理解能力,期间我会与候选人沟通,以确保他正确理解的题意,并且在码字之前,我会要求对方先讲解题思路,这考察了沟通能力,有的候选人可能没有经历过刷题训练,缺少一些常见的算法思维,但经过提示后,如果能快速地完成 coding,在笔试中或许也能够通过。所以你看,其实考察算法题其实和也是借此考验了你的工作能力,它要求你在短短的半个小时之内做到 Bug Free,一定程度上这比做工程更难,因为没有人为你测试,而你要想通过这一环节,是需要额外花费精力去训练的。

虽然我认为面试中算法很重要,推荐大家准备面试时多去刷刷题,但我也确实抵制一些偏题、怪题。以我的刷题经验和工作经验结合来看,推荐的难度为 leetcode 简单、中等题,ACM 铜牌、银牌题,仅供参考。记得有一次瞄了一眼阿里的校招在线笔试题,具体是哪个部门不清楚,那个难度估计得是地狱难度了,这类情况仅仅是小概率会发生,至少在我们大部门不会出现特别难的算法题。

很多人说面试造火箭,入职拧螺丝,以此来讽刺面试中算法面是不必要的,我是不赞同的。抛开面试,算法能力也的确是工作中帮助了我。简单举几个例子吧,我通过算法题接触到了欧拉函数、GCD 等数论知识,让我可以非常好地理解 RSA 加密的原理和实现过程,而 RSA 加密是很有可能在工程中被使用到的一种非对称加密方式;通过解决常见的数据结构类算法题,我了解到了跳表的实现,这方便了我去理解 Redis 的 Set 结构;熟练地解决贪心和 DP 等问题,也潜移默化地影响着我在工程项目中的代码逻辑。

字节跳动可以说是业内有名看重算法面的公司了,但鉴于本人并不了解实际情况,只能跟大家聊聊阿里的算法面试。分成两部分:实习生面试和社招面试。我这里的经验主要都是基于我所了解的情况,在阿里其他部门(非阿里云)可能情况就不一样了。先说实习生面试吧,算法主要考察的是简单题,主要以贪心、数据结构、模拟为主,可以说非常友好了,主要考验学生对于基础知识的掌握程度,但也要求候选人能够在较短时间内完成,否则很难在整体面试中获得 A 评价。而社招,算法面试的地位肯定是要低于工程能力的考核的,但是对于能不能发 offer 又起着决定性的作用,等于说,即使你的工作履历很 match 岗位,工程经验也很丰富,但算法面一塌糊涂,往往用人部门只能忍痛割爱了。

如果你正在准备面试,我是建议准备下算法,刷一些题目找下手感,leetcode 和各种在线 OJ 都是不错的选择,B 站也有很多视频,具体的刷题列表,我这儿没准备,相信你可以在网上找到很多的。

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着科技的飞速进步,人工智能(AI)已经逐渐成为了引领新一轮科技革命和产业变革的核心驱动力。AI不仅在改变着我们的日常生活,还在推动各行各业的创新发展。展望未来,人工智能的发展将呈现出哪些趋势呢?本文将从技术、应用、伦理...

关键字: 人工智能 算法 AI技术

机器学习算法不会要求一个问题被 100%求解,取而代之的是把问题转化为最优化的问题,用不同的算法优化问题,从而比较得到尽量好的结果。

关键字: 机器学习 算法 最优化

据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域,有几种主要的学习方式。

关键字: 机器学习 人工智能 算法

业内消息,昨天早上飞书 CEO 谢欣发布全员信,宣布适当精简规模,进行新一轮组织调整。

关键字: 字节跳动 飞书 裁员

NVIDIA 量子模拟平台将通过各大云提供商提供,帮助科学家推进量子计算和算法研究

关键字: 量子计算 算法 量子云

随着科技的飞速发展,人工智能(AI)已经成为当今科技研究的热点和前沿。AI的快速发展不仅带来了许多新的应用场景和商业模式,也在推动科技进步的同时,引发了一系列关于其未来发展方向和潜在影响的深入讨论。本文将对人工智能的科技...

关键字: 人工智能 AI技术 算法

机器学习算法:机器学习是一种让计算机通过学习数据和模式来改进自身算法的技术。这些算法包括监督学习、无监督学习和强化学习。

关键字: 人工智能 机器学习 算法

业内消息,近日字节跳动在今日头条官方账号表示,媒体转发外媒报道称,暴雪前CEO接触张一鸣,考虑千亿美元收购TikTok。该报道不实,经核实,公司创始人张一鸣没有与任何人沟通过相关事宜。

关键字: 暴雪 TikTok 字节跳动

此前报道,美国众议院能源和商务委员会通过一项立法提案,拟要求字节跳动在法案生效后 165 天之内剥离对 TikTok 控制权,否则将被美国各大应用商店禁止上架。据路透社称,众议院计划在本周二或周三就这一法案投票。

关键字: 美国 TikTok 字节跳动

业内消息,本周美国国会议员提出的法案显示,要求字节跳动公司剥离对旗下短视频应用TikTok的控制权,否则就禁止应用商店上架分发TikTok。对此,TikTok官方进行了回应。

关键字: 字节跳动 TikTok
关闭
关闭