头部大厂面试必备剑指offer刷题指南 v0.1

1.开篇明义

本专栏只做三件事:刷题!刷题!还是刷题!!!
剑指offer作为系统刷题的入门还是很合适的,后续还会针对进阶的刷题写相应的专栏。

2.在哪里刷题

不需要本地编辑器,这里推荐两个刷题必备的网址:

2.1 Leetcode

Leetcode官方指定剑指offer刷题网址
Leetcode的剑指对应的是官方最新的第二版,题量也比牛客的多,适合作为刷题首选。

2.2 牛客网nowcoder

牛客网剑指offer刷题网址
牛客网的题库没有更新,不过没有大碍,适合复习时候换个编程环境刷题,而且很多网上面试都是在牛客网上,可以在这里多练习适应网面的编程环境。

3.准备工作

对于需要刷剑指offer的同学来说,往往还处于实战入门的阶段,可能有一定的理论基础,但是又不像竞赛大佬那样阅题无数,手到擒来。所以,刷剑指offer过程中要把建立自己的”阅题“体系放在首位,不要计较一道题是否AC(通过),多总结,多重复,多思考才是王道。主要的准备工作主要有两点:

1、一门编程语言,C++,Java,Python,Go,JavaScript等等都可以。这里需要注意两点,一是尽量选择自己平时开发所用的主力语言,二是一旦确定尽量不要更换。算法学习重在理解算法实现的思路,理论上任何计算机语言都可以作为算法的实现语言。但是针对我们找工作面对的笔试面试算法题而言,选你应聘那个岗位所需的主力语言自然是最佳。
2、必备的数据结构基础和算法知识。这方面的学习资料有如下推荐的:

视频课程

C++向:国内清华邓俊辉老师在学堂在线上的课,分基础和高级,课程链接戳这里:数据结构基础数据结构高级。课程采用动画示例,讲解干净利落,配套有教材(可以评论留言索取电子版),还有OJ习题供课后练习,而且已经形成学习社区,万人验证,不怕有坑。课程主页戳这里:课程主页
在这里插入图片描述
Java向:我推荐慕课网上一门口碑课玩转算法系列–玩转数据结构
更适合0算法基础入门到进阶(java版)

在这里插入图片描述
这位老师的其他进阶课也相当棒。

Python向:Python没有多关注,不过B站上有很多资源,可以搜索一下看看评论。万门大学上有一门数据结构与算法进阶班的课讲得可以,有需要的同学可以去搜索看一下。

专栏资料

提到专栏,这是最近几年火起来的付费服务的一种形式。在数据结构与算法领域最火的应该要数GeekTime上的数据结构与算法之美了吧。我也学习过该专栏,不评价价格,内容确实不错,相比于书本,更贴近实战,而且有动图演示过程,更抽象具体。不过课程也有不足地方,有些内容,比如KMP算法个人感觉讲得不够好,不得不承认,很多时候文字的表现力确实没有视频+语音+演示来的透彻。

书籍资料

首推 “数据结构与算法分析” Mark Allen Weiss,这本书有C语言,C++,Python描述。
在这里插入图片描述
java选手还可以选择"算法"第四版,我在另一个专栏也撰写这本书的学习笔记。
在这里插入图片描述
至于"算法导论",适合大佬选手和有相当多时间的同学一点点啃。我也建议可以作为刷题选手进阶必读书籍。
当然,对于实在零基础的同学也可以选择"啊哈!算法","算法图解"这类入门级书籍阅读。

4.如何刷题

对于有面试笔试刷题需要的同学来说,个人建议前边的准备工作加速完成,毕竟实践出真知,在准备基础中建立一个认识和熟悉的框架,接下来就是刷题来巩固并且提高速度。关于刷题,我以leetcode刷题为例来讲讲自己的经验:

刷题六步法

对于一道题来说我们可以按照以下的步骤来做:

第一步

先读清题目,知道输入是什么输出是什么,最好按照给出的样例,把这个过程在脑中或者纸上模拟一遍;

第二步

对于初学者来说,八成不会做,没思路,之前学的什么递归啊,堆栈啊,队列啊,DFS/BFS啊,这都哪儿跟哪儿啊?挨不着边儿!别急,先用最笨的暴力方法做,就是i,j,k多层循环嵌套不停for啊,大不了我多遍历几遍,这个时候就不要考虑复杂度这种高级的问题了。能跑通一些样例就不错,这个过程呢,也别头铁一直耗着,十分钟还搞不出来就进行下一步;

第三步

leetcode最宝贵的是有题解,这里先不讨论国际版,就说中文版,直接看题解,就是最好的学习,别信网上百度的答案,最好的就是题解!题解!题解!一般都会有官方题解,做的还很优秀。官方的看完有点不过瘾就找找下边一些大牛写的,往往有很多精彩的答案,但是最后先选择一个你觉得最合适的,时间空间复杂的好的,要么照着写要么用你自己的语言实现。先跑通AC了;

第四步

你以为AC就完事儿了,并不是,把之前写的代码恢复原模版,自己不看题解再重新写一遍,不要照抄强背,要理解着写,其中用到的变量名不要求与前一遍一样,但是要按照正确的思路一遍遍实现。

第五步

第二遍AC了以后,就可以试着自己写题解,把自己的思考过程写下来,加强记忆,效果更好,也方便复习。

第六步

最后一步就是多次练习,个人建议,每晚结束学习之前,把当天刷过的题目翻出来,恢复模板,再写一遍。然后每周末,把这一周的重点题目,AC失败次数多的题目再写一遍。一道题要反复练习,才可以达到掌握的程度。

刷哪些题

在这里推荐的刷题顺序有两个:
1、分类分专题刷,leetcode和牛客网上对题目都做了分类的划分,可以先把各个分类下的简单题过一遍,再刷中等题,详细的刷题步骤,我日后再补充。
2、剑指offer ——》leetcode Hot100 或者牛客网上的 程序员代码面试指南 那个题库,然后就可以在leetcode或牛客网上以公司为分类按需刷题,这个的好处就是可以不断训练构建出一个系统的知识体系。但是在初期会因为基础不扎实,造成刷题慢的问题。不过最重要的是要坚持嘛。

补充说明

该文为刷题指南的非正式第一版,主要是为自己挖一个坑,日后好好填补。如果有需要相关资料的同学可以评论留言,我会尽所能满足。谢谢诸位!

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《代码随想录知识星球精华-大厂面试八股文v1.1.pdf》是一份介绍八股文的面试指南,针对大厂面试常见题型进行分类,以及给出相应的解答思路。这份资料具有很高的参考价值,在为即将面试的求职者提供引的同时,也可以让读者对八股文的思维框架和策略有更好的了解。 这份资料主要包括面试题目的主题分类,如动态规划、字符串、树等,每个分类下又相应给出了典型的问题,如“最长公共子序列”、“二叉树的层次遍历”等等。对于每个问题,都给出了具体的思路导和代码模板,许多题目给出了多种不同的解法,这些解法包括时间复杂度和空间复杂度的优化。 这份资料对于求职者来说,意义重大。在面试中,对于某些问题我们可能没有完全解决,但如果有了这份资料,我们在面试中也会有一个清晰的思考框架和即时可用的代码模板。此外,这份资料同样适用于对算法数据结构感兴趣的开发者和工程师,对于自学和提高都有帮助。 总之,《代码随想录知识星球精华-大厂面试八股文v1.1.pdf》是一个非常实用的参考材料,它是广大求职者和程序员不可或缺的工具,值得一读。 ### 回答2: 《代码随想录知识星球精华-大厂面试八股文v1.1.pdf》是一份由知名博主“代码随想”的知识星球推出的热门资料。该资料主要介绍了大厂面试中常见的八股文,包括但不限于动态规划、双针、贪心算法、字符串操作等。 通过学习该资料,可以系统地学习和掌握各种常见的算法数据结构,有助于提高自己的代码能力和面试竞争力。此外,资料还给出了一些实际的面试题目例子,对于准备去大厂面试的人来说,是一份非常实用的资料。 当然,要想真正掌握这些算法数据结构,需要自己的不断练习和实践。只有在解决实际问题的过程中,才能真正体会到这些算法数据结构的作用和优越性。 总之,该资料对于想要深入了解算法数据结构、提高面试竞争力的人来说是一份值得推荐的优秀资料。 ### 回答3: 代码随想录知识星球精华-大厂面试八股文v1.1.pdf是一份关于大厂面试八股文的精华资料,它收集整理了各个大厂面试中常见的八股文题目和解题思路,对于准备求职或者升职的程序员来说是一份非常有价值的资料。 该资料中涵盖了常见的算法数据结构、操作系统、计算机网络、数据库、设计模式等知识点,每个知识点都有详尽的讲解和相应的面试题目,可以帮助面试者全面了解每个知识点的考察方向和难点。 此外,该资料还提供了八股文的解题思路和解题方法,强调了实战经验和面试技巧,对于提高面试的成功率也是非常有帮助的。 总之,代码随想录知识星球精华-大厂面试八股文v1.1.pdf是一份非常实用的面试资料,它帮助面试者深入了解各个知识点的考察方向和难点,提高了应对面试的能力和成功率,对于准备求职或者升职的程序员来说是一份不可或缺的资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值