如何备战面试中的手撕算法

最近,很多同学在微信私聊时提到:“面试中的手撕算法好难啊,网上面经中的算法题基本都不会写,更别提在面试时面对面的十几分钟写出实现代码了…这块到底要怎么准备啊”。

细问下去发现又到一年的春招和实习招聘季节了。距离秋招也就五个月了,五个月的时间看似很长,但等待你们的事情也很多:五个月中你得看厚厚一堆的书籍,并且大部分是得看两到三遍,还有各类框架、源码、数据库、并发、设计模式、操作系统、linux、项目,分布式等等。

另外一方面,前端、后台、java、C++、python、机器学习、测试等编程相关的所有岗位的面试几乎都会有手撕算法的考察。博主找工作期间,最有信心的一块就是手撕算法,关于算法,博主大概写了500道题。注意写了500道算法题,而不是看了500道算法题,里面的区别可大可小。那些算法题每一道都是写过2次以上,经典的算法题写了4次以上。一道算法题只有经过了自己的理解,面试再遇到类似题的时候你才能做到信手拈来。

为什么有的算法题重复刷了很多次呢?一方面可能是题确实很难,其次就是当遇到一道类似的算法题型的时候,我会回过头去再写一次之前那道类似的题,并且总结解题方法。百度、腾讯、头条、美团那些offer,与博主面试时手撕代码的表现密切相关,尤其是头条的offer。

受师兄师姐的影响,博主开始刷算法的时间比较早:2017年12月中下旬左右。开始的时候时间比较充裕,写一整天;后期忙着复习其他知识点,每天写三四道。注意刷算法,不是看算法。实在写不出的题可以网上找答案并看懂。**看懂后,自己再独立写一遍,这步非常重要。**最后,一旦开始刷算法,必须每天都坚持,最忙的时候一天也要写一两道。因为,算法不写就会生疏,可能前功尽弃:可能出现你知道解题思路,但是写不出实现代码(这在面试时很尴尬,程序员写不出来实现代码??)

当然,现在这个时间点:临近春招和实习招聘,留给秋招小伙伴们时间也不多了。博主的方法对于现阶段的小伙伴可能不是那么适合。身边一起找工作的同学中五个是一起刷算法,另外几个是通过网上的算法课程,突击准备手撕算法环节的。通过视频突击算法的同学,最后找工作的结果也都不错:两个百度、一个美团、还有携程、新浪、小米、知乎一些公司。

博主问了下那几个同学对于视频学习算法的看法,同学说:“面试经典算法其实就摆在那里,你和另外几个同学通过量变来达到质变(总结算法解题套路),这种方法是很好,脚踏实地,但是这要花费大量的时间。因为有一些同一类型的题目你必须得重复刷,只有重复一定次数后,你才能总结归纳出一类算法题的解题方法。但是大部分同学是没有这么多时间。另外一方面,通过看视频去学习其实也可以达到相同的效果,甚至是更好的效果。我看的视频是Facebook的面试官录制的,那个老师在Facebook工作期间面试了两百多人,对面试题有比较独特的见解、更全面的总结。更多时候老师们的总结比你刷500道题的总结来的更深刻。”

听完同学的想法,其实我更不太可能给微信上提问的同学说:刷500道算法题,刷完面试算法就没问题了。500道算法题的前提是:**你得有足够的时间。**而微信上提问的同学,他们更多是没有那么多时间,基础模块、源码、框架等也没达到面试的水平。所以,博主最后微信上给出了的建议是:走博主身边同学走的那条路:通过看视频课程学习。因为我觉得他们把看视频节省出的一点时间去巩固基础,这样性价会比更高一些。**关键时期的时间要用在刀刃上。**当然,如果你有时间,时间充足,那么我的建议是:自己刷题。

如果文章写到这就结束了,还是有点坑。因为如果我是提问人,在得到建议的同时,也希望有一份经过过来人检验的算法学习的资料推荐。网上资料那么多,但良莠不齐:选错了资料,事倍功半,得不偿失。所以再次去问了下同学,当时他们看的是哪一个算法视频?

知道答案后,有点犹豫要不要把资料在文章中分享出来。因为同学当时看的是收费购买的资料,犹豫的原因是如果贴出购买二维码,辛辛苦苦码的字可能会被当成软文、广告…

即使如此,最后还是决定分享出一个购买链接。还是上面的建议:如果你时间足够,并且足够有耐心和毅力,建议选择自己刷题,不建议购买。对于时间比较紧张、对手撕算法没有信心、基础又比较薄弱的同学,可以考虑购买。

同学介绍说:这个课程的主讲人曾拿到ACM 亚洲分区赛金牌,**毕业就进了Facebook。在Facebook工作的三年期间面试了近200余人。课程从面试官的角度帮你分析归纳总结高频经典的面试算法题的解题方法,而且视频课程是基于白板演示**,一步步的推导,基本不会存在看不懂的情况。算法课程上归纳总结的算法都给出了三种语言的代码:Java、C++和python扫描下方二维码获取更详细的算法课程介绍:

image

另外,为了方便购买课程的小伙伴们交流和讨论课程相关问题,建立了一个算法课程交流群。加群方式:加下面小姐姐微信,私聊发送“算法课程交流”,即可入群。关键词自动拉群。

image

涉及到“钱”这个关键词就不免再多说几句,分享下自己对于花钱的看法

**投资自己永远是最好的升值方式。**就找工作而言:校招的薪资是根据面试表现决定的,即使在同一个leader的项目小组中,最后开出的月薪仍可能存在2k的差距,有的公司差距甚至更大(身边同学的真实情况)。

博主大学时疯狂买小说,研究生期间买的技术书籍比大部分同学都多。想买的书,想看的视频、想学的技术一定会买,也从没后悔“乱花钱”。

无论什么时候都建议:不要放弃对自己的投资,尤其是年轻的时候。


扫描下方二维码,及时获取更多互联网求职面经javapython爬虫大数据等技术,和海量资料分享
公众号**菜鸟名企梦后台发送“csdn”即可免费领取【csdn】和【百度文库】下载服务;
公众号
菜鸟名企梦后台发送“资料”:即可领取5T精品学习资料**、java面试考点java面经总结,以及几十个java、大数据项目资料很全,你想找的几乎都有
扫码关注,及时获取更多精彩内容。(博主今日头条大数据工程师)

猜你喜欢

转载自blog.csdn.net/liewen_/article/details/89475103
今日推荐