说起面试,这是你最该好好准备的环节
导语:时间过的可真快,感觉自己鸽了好久。上一篇文章不是关于视频资源的推荐嘛,反响还挺好的,这次就趁热打铁(希望还没凉)和大伙聊聊学完编程语言后,我们该做的事情——刷题。
本文是针对即将找工作或刚刚入门某一语言的小伙伴来说的,跨度就是这么大
。
至于怎样才算入门某一语言,我的看法是你要很熟悉它的语法才行。
知道怎么声明变量,知道 if 语句咋写,知道循环语句是啥,知道如何定义函数,知道这门语言乱七八糟的关键字等等。
如果你还没有学完一门编程语言,我建议你大致浏览完本文后,还是老老实实的去把基础学扎实。
过硬的基础比什么花里胡哨的技巧都有用。
当然了,如果你是这方面的大佬,也欢迎在下面留言讨论。
言归正传,我们来聊聊这次的主角:刷题。
刷题,刷题,我们到底要刷什么题,嗯,就是令人头疼的数据结构和算法。
我是个不折不扣的算法菜鸟,在找工作前一直不重视,这大概也是我们这种半路出家的人的通病吧。
还是第一次面试的时候被两道算法题虐成了狗,才痛下决心刷题的。
仔细想想,要是当初早点知道刷题这种手段的话,我学起来可能会更有动力吧。
刷题的网站其实有很多,这里我就介绍两个我觉得最好用的,LeetCode 和牛客网。
LeetCode
LeetCode 我也不想尬吹它,但它真的是我眼中最正统的刷题网站。
说起 LeetCode,我觉得挺传奇的。
据说它的创始人是个马来西亚华人,创建网站之初,他还只是个喜欢钻研难题的年轻人。
在 16 年以前,整个网站只有他一个人全职在做,真的是为爱发电。
但这种刷题网站刚好抓住了程序员们的痛点,也提供了一个交流的平台。
最后的结果就是网站越来越火,影响力越来越大。
之前 LeetCode 没有中文版,对我这种英语小弱来说,实在难啃。
可现在 LeetCode 都已经进军中国了,名字就是直译过来的,叫做力扣。
于情于理,我们都不该放弃这个学习的场所。
每个参加过面试的人应该都知道有没有提前刷题的区别有多大。
LeetCode 可以说就是这么一个面试的精选题库,这可比上学时候各种考试真题靠谱的多。
先不提个人的提升,面试的时候如果碰到刷过的原题,血赚好嘛。
力扣的探索专栏,提供了很多「书」。
从算法到数据结构,从入门到高阶,它的服务还是相当贴心的。
对于很多从没接触过这些知识的小伙伴来说,这里就是天堂。
当然它的本职工作还是个题库。
LeetCode 提供了按难度分类,还提供了按不同主题进行分类。
不仅可以展示题目进度和提交历史记录,还可以在做题之余看评论,看其他人的回答。
上面这些功能,只要你去用用 LeetCode,分分钟就搞明白了,我也就不浪费篇幅去过多介绍了。
接着说力扣题库本身,不得不说,它的题量是真的多。
马上就又到了金九银十的时候了,关于刷题的顺序我给以下两个建议:
时间不充裕的小伙伴,我建议你先刷【热题 HOT 100】,再刷【精选 TOP 面试题】。
而对于还有大把时间学习的小伙伴,我建议按难度从低到高,分组去刷。
从简单的题目做起,如果连简单的也刷不动(最开始的我),那你就需要看书补充一下基本知识了。
像那些基本和常见的数据结构总要了解一下吧,之前探索专栏里的那些书,不正好用来帮你入门。
对了,《算法导论》那本书我是不推荐一下子就去硬啃,难度太大,作为入门书籍几乎没什么性价比。
我把整个刷题过程分成了三个阶段:
如果你对自己的基础掌握程度没有概念,也从来没有做过这些题的小伙伴,可以拿到题先去理解题意,然后再看看参考答案。
我们的目的是在练习的目的中培养自己的思维模式,认清并巩固自己的基础。
下一阶段,对于一些难度适中的题目,我们要懂得总结归类。
说起来有点像上学时候的错题本,不断加深自己对同一类型题目的掌握,也可以挑战突破自己,做一些难度相对较大的题。
以我的经验来说,这个阶段也是最难熬的,没了刚做题时的兴奋,还可能出现明明昨天还在看这个题,今天就又抓瞎了的状况。
害,仔细想想没什么巧办法,只有多总结,多归纳。
最后一个阶段,应该是拓展自己的思维宽度,不再局限于自己脑中那几种固有方法,去网上多看看别人是怎么实现的。
无论是哪个阶段,千万不要做脑中的巨人,一定要动手!动手!动手!
相信我,再简单的题目也有可能会碰到许多你意想不到的问题。
记着,别和自己较劲,一开始刷题吃力是常态,中间想放弃也是常态。
但刷题不是为了证明你的能力,而是为了提升你的能力。
真有不会的,就多做几遍,刷题百遍(不过打死我也不做100遍),其意自现,这可不是闹着玩的
。
接下来我们就要聊聊开不开会员这个问题了,我的建议是开。
毕竟开会员的便利实在太多。
嗯,我就是奔着那个企业题库开的会员。
我刷题一直是比较功利的,喜欢刷一些有实际意义的题,或者面试高频的题。
开了会员以后它有一个相关企业的功能,它可以提供哪些公司考了,对于一些题目自身就很难理解,又无人问津的题,我就会选择性的放弃。
无用就弃,就是这么无情。
至于它每周竞赛,还有交流圈子的功能,名声在外,也不用我去过度夸它。
最后我再吐槽一下,不知道有没有小伙伴碰到过,就是那个时间消耗的计算。
我有时相同的代码提交两次,时间计算偏差还挺大的,搞的我贼烦。
不过我看其他刷题网站或多或少都有这样的问题,希望以后能解决吧。
牛客网
其实这类网站都没啥介绍的,功能类型大差不差。
牛客网算是老牌的刷题网站了,网站的界面和交互都比力扣要好一些。由于它行业积累沉淀的时间更长,大厂的笔试面试题也更丰富。
而且牛客网的企业真题不需要会员,面试题分类也更具体,可能这就是本土网站的魅力吧。
如果问牛客网还有什么特别值得我吹的,那就是它的面经。
牛客的面试经验是真滴多,相信找工作前看看其他人的面经就能给你很多安心的感觉。
总结
LeetCode 题量相比同类型的刷题网站多一点,难度分级做的也很合理,毫无疑问,是一个提升自己的平台。
而牛客网更像一个面试者的聚集地,大家一块交流经验,他山之石可攻玉嘛。
这些年找工作的要求越来越多元化了,你单单背背题肯定跟不上时代变化,这也是为什么我推荐两个网站的原因。
你要知道自己想要的是什么,前者让你超越自己,后者让你捕获信息。
其实无论是哪个刷题网站,认真刷题都会对你的个人提升和面试工作有很大帮助。
最后再提出几点建议。
刷题的时候我推荐用 C 刷,虽然我当初是用 Python 刷的,谁让我 C 学的一般呢。
还有就是刷题千万不要想着调用库,手撸代码给你的学习是实打实的,总不能面试的时候人家让你写个快排,你就只会调用库吧。
我先打自己脸啊,也不是不行,我朋友当初就是写了个 sort ,最后笔试也过了,不过我想想就觉得有点尴尬。。。
好了,这一篇到这里就结束了,看到这儿的小伙伴还不赶紧点个【在看】
。
那我们下期再见咯。