热门话题白皮书HR资料
一个月200题,命中率90%,分享一下BAT大佬超高效的刷题方法
2024.02.02


一个月200题,命中率90%,分享一下BAT大佬超高效的刷题方法


就在上周,按照惯例做用户访谈的时候,一位牛友说:去年秋招的时候,只用一个月的时间就刷了200道题,并且笔面试的算法考题命中率高达90%,震惊之下,我采访了这位大佬,赶紧记录下来他的超高效刷题方法,并在此分享给各位同学,尤其是20届校招生。


问:算法在秋招中真的这么重要吗?为什么一定要刷算法呢?


答:作为一个过来人,我可以很肯定的说:算法不管是在校招还是社招的求职中,都是非常重要的,校招会体现在笔试与面试环节,社招就是面试环节,并且国内工资越高的面试中算法比重就越大


可以分别看一下国内和国外的行情。


国内的话,一般来讲,工资高的公司在面试时算法和数据结构题目的比重较大,工资一般的公司比重较小。当然同样公司的不同岗位,要求也会不同,但总体趋势就是 国内好公司爱考算法和数据结构 。这是目前国内互联网公司的情况,尤其是头条,BAT等大厂格外看重算法能力。


国外的互联网公司呢,几乎只考算法和数据结构,很多年前就是这样了,一直如此。并且相信国内会逐渐变得像国外一样,并不是崇洋媚外,而是算法和数据结构题目真的能考出东西。


今天学习算法变得越来越重要,虽然每个公司行业不同、岗位复杂,但算法能力强是分析能力和解决问题能力的体现。虽然计算机的处理能力越来越强,但好算法的代码执行效率相比起没有优化的代码,已经不能用快多少倍来描述了。


计算机科学有自己的衡量标准,也就我们常说的复杂度标准。同时,学习算法对理解底层实现是非常重要的,优秀的程序员专注细节和底层,具备算法能力是起点更是基础。包括今天很多的领域,比如机器学习,深度学习,还有大热的AI领域,想要研究透彻,都离不开算法好的大脑。还有更重要的,加薪和跳槽,算法都起着非常重要的作用。学习算法可不仅仅是刷题,这一过程中自己的思维和想法的提升才是学习算法的最大好处。



问:算法很重要,但同时难度也很高,大佬这边一个月刷200题,命中率还如此高,是怎么做到的呢?


答:先给大家卖个官司,其实我这个方法也是跟另一个前辈学的,而且跟这个前辈比起来,我真就是个菜鸡。


下面就先给大家分享一下方法吧。


首先是算法基础的学习


要先找到线团,然后进入线团里学着怎么玩。为了进入线团(线团就是基础知识,算法的评价标准,coding实现能力),需要先把基础知识掌握好。《算法和数据结构》(教材),一定要看完+理解。这里面讲的都是不能再基础的东西了,觉得讲得不好,自己搜维基百科。没办法,如果坚持不下来,后面就受罪去吧。


然后有一些很经典的书可以迅速让你的学习进入状态,比如左神的那本《程序员代码面试指南》,还有《剑指offer》,这两个在牛客上都有对应的在线oj练习,看书配合在线练习,提升的会很快。对于线上刷题平台的题目,先不找解答,先自己实现,实现的多烂,复杂度多差,都坚持写完。然后分析出复杂度。接下来去网上找答案,看到复杂度和你一样或比你低的,直接略过。看到比你好的,重点看,一定要理解,然后分析为什么比你的好,如果你真的理解了,一定能找到别人优化的点。这个过程可以说是最奇妙的过程,不要给自己太大压力,这个过程其实可以很欢乐,你有想法并创造出来,练习了自己的coding能力。


别人有更好的实现,推翻了你的所有模型和幻想,你幻灭了,却也因此找到了让你血脉喷张方法。这个阶段看似苦,实际上其乐无穷。你在学习别人解法的过程中,又了解了很多算法和数据结构。而且你付出的每一滴汗水,都是结果导向的,可量化的,实实在在的。写写简单的测试函数就可以发现自己方法的运行时间和更好的解法就是没法比。这是一个非常培养自驱力的阶段,这是一个只追求解法更快更强的阶段。


练习的过程中你会看到很多经典的结构,学到很多细思极妙的优化。比读那些吃力的书更加快乐,也能够一直启发你走下去。你苦苦寻找啊,觉得好的不能再好的方法啊,直到有一天,你突然看到一个更优的解法,相信我,你一定会一整天都在贤者时间里。


作为过来人,我不建议刚开始刷题的人就直接在网络上搜集文章开始学习,因为太散了,而且需要花很多时间去鉴别正确与否。当这些内容都掌握之后,再开始在网上搜集各种各样的题,并与网友参加各种各样的讨论,会比较高效。把底子打好之后,对于专项算法的学习就得心应手了,而且会学的很快。对于很庞大的算法,我个人的习惯是找例子来引导自己的思路,一点一点的接近算法的核心。唯一需要注意的是,一定要写代码,光看没有用的。



对于经典算法的学习,大体上分成以下几个阶段:


第一阶段:对于某一个具体的算法,首先要搞清楚这个算法解决的问题是什么,可能是实现一个具体的功能,也可能是在某些方面,比如时间复杂度或者空间复杂度方面很卓越,总之搞清楚这个算法被研究出来的目的是什么。


第二阶段:然后就要弄清楚这个算法的生存环境了,也就是看看你此时研究的东西是不是对别的知识有依赖,应该先把底层依赖的知识理解并掌握。这些问题都解决之后,就进入到算法本身的学习,理解一个算法是一件辛苦的事情,刚开始看必然会产生很多的困惑,比如经常会怀疑作者讲述的内容的重要性?这些内容和这个算法有什么联系呢?经常会有这种摸不着头脑的感觉,其实作者做的铺垫都是为了建立起描述算法主要内容的基础,只有接受和理解这些基础,才能逐渐触碰到算法的精髓,所以耐心是很重要的。


第三阶段:算法的主要过程看完之后,往往还是会感到困惑,主要是不知道这个过程好在哪,这就进入了下一个阶段,理解作者对这个过程在功能性或者效率卓越这件事上的解释和证明。这才真正触碰到算法最精髓的部分,也就是深度的理解算法的主要过程所带来的好处,这才是最锻炼人理解能力的地方。


第四阶段:上面几点是算法学习阶段的过程了,接下来就是研究算法的代码实现,自己设计测试用例亲自跑一下代码,以及从代码运行时间的角度分析这个算法的优势,这也是加深对算法的理解的过程。


第五阶段:最后是配合相应的题目练习,让自己通过题目练习的方式,会用、善用学习到的算法,并对这个算法产生一定的敏感程度,具体是指看到某些题目时,能够根据题目的特点,产生与该算法的对应,也就是具备举一反三的能力。



问:刚刚大佬开始和结尾都提到了一位前辈,好好奇这么厉害的前辈是谁呀?


答:哈哈哈哈哈哈,这就是一开始我卖的官司,也是在这位前辈的引领下,我才能顺利敲开算法的大门,并且找到适合自己的方法,一个月内刷了200道题,而且题目都是前辈亲自精选的,基本命中笔面试的90%,这位前辈就是——左神左程云。


最开始接触左神是在B站上看到了他的一个算法讲解视频,听完之后,有种打通任督二脉的感觉,正好当时每天逛牛客,在学习页面,一进去就看到了左神的算法课,果断报名了,虽然价格上对于一个在校生来说,稍稍有那么一丢丢贵,但是为知识付费,是值得的,而且最后的事实也证明,是真的值得,并且相比起其他的网站,牛客网上的价格还是很良心的。可以说如果当初没有跟着左神学习算法,我一定拿不到BAT的offer。


正好下一期左神的算法班即将在本周六开课,最后3天早鸟报名优惠!!!


而且今年的课程内容是全新升级之后的,整体课程分为:算法入门与基础提升班  和  算法笔面试真题精讲班  两个班级。



算法入门与基础提升班



提升核心竞争力,冲刺互联网名企高薪offer


  • 20+校招笔面试必考知识点详解与真题应用

  • 仅需8周,搭建从入门到面试的完整算法基础知识体系


原价:599

早鸟价:¥499(最后3天)


点击链接立即报名

▼▼▼


https://www.nowcoder.com/order?itemId=401&itemType=LIVE_COURSE&couponId=DHRFoDE


扫码查看详细课程目录

▼▼▼




算法笔面试真题精讲班



提升算编程能力,快速突破笔面试难关!


  • 20+高频考点,110+企业真题,快速攻克算法编程难关

  • 仅需8周,达到BAT SP级别算法能力要求


原价:599

早鸟价:¥499(最后3天)


点击链接立即报名

▼▼▼


https://www.nowcoder.com/order?itemId=402&itemType=LIVE_COURSE&couponId=DrBF2zN


扫码查看详细课程目录

▼▼▼


两个班一起报名更优惠哦~



算法大牛速成计划


算法入门与基础提升班+算法笔面试真题精讲班


原价:1099

早鸟价:¥888(最后3天)


点击链接立即报名

▼▼▼


https://www.nowcoder.com/order?itemId=419&itemType=LIVE_COURSE&couponId=D5xcOKX


!!!报名之后一定要添加班主任老师微信:niukewang985,进课程专属交流群,才能不错过1V1的助教答疑,作业批改以及直播讲解等课程服务


提前批已经开始面试,正式批笔试最多还有一个月,现在开始学习,冲刺复习一个月,在左神的手把手教学,与金牌助教1V1答疑讲解的共同带领下,一个月刷200道题且命中90%,不是遥不可及的事,加油吧,乘风破浪的校招生们!



阅读原文,领取简历制作与投递技巧

▼▼▼

▼▼▼