如果是去面软件工程师的职位,刷题我认为是必须的。在我看来刷题就像是高考前的冲刺,有2个好处:首先,可以起到巩固算法基础的作用;其次,可以帮助自己对某些算法进行总结和整理,达到融会贯通的效果。刷题的方法因人而异,因时而异。我自己分为这几个阶段:
1.准备面试初期阶段
我是按照力扣(LeetCode)的算法知识点进行分类训练,比如,我会先看二叉树相关的题目,因为它在前端面试中是非常热门的话题;之后,我会看图论,因为它是二叉树的扩展;再接下来,我会看递归和回溯,因为它们是算法面试里经常被问到的知识点。通过一段时间的专注练习,我可以整理出一套解决相关问题的模版,帮助我理解记忆。
2.准备面试的中期阶段
开始针对各个公司的热门题目进行复习。由于有了第一阶段的积累,我开始针对心仪公司,有目标性地刷题目。这个阶段有点类似于高考的模拟考,看看自己的水平能否达标。如果当我看完了题目,而且在10分钟之内没有任何头绪,我会看答案,然后吸取高手们的思路,最后思考能否优化。
3.最后的冲刺阶段
把精力放在平时做得不好的题目上。这个阶段主要是给自己树立信心,我会快速浏览之前做过的题目,整理思路,把一些经典的题目写在黑板上或者纸上。如果是太难且不是很热门的题目,我是不会花费太多精力的。
这里强烈推荐大家在纸上和黑板上练习写代码,这对书写清晰可读的代码是非常有帮助的,试想一下,如果面试官看不懂你写的代码,他们怎么跟你沟通呢?
有没有什么提高算法面试通过率的好方法?小编推荐你获取到这一份字节大神总结的666页大师级算法宝典,基本上各个大厂面试的算法提都涵盖了! 咱们接着玩下看有些什么内容吧!
由于文档内容过多,共计有666页,因此为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版获取方式戳此获取
————关注我,转发文章之后私信回复口令【算法】100%免费获取
动态规划解题套路框架
动态规划答疑篇
背包问题
高楼扔鸡蛋
LRU算法详解
递归详解
用贪心思想玩跳跃游戏
一文看懂 session 和 cookie
如果您需要获取到这一份算法666页PDF的话,只需要你给我文章一些支持!
数据结构与算法功底扎实的程序员,其技术实力、业务能力、自学能力大多都不会差。对于大厂招人来讲,如果候选者的算法基础很好,就意味着以后进入公司学习新技术的成本会大大减少。
就如同金字塔一样,数据结构和算法在最底层,而技术只是最上面的一部分。地基没打扎实,将来定会遇到瓶颈。因为脱离数据结构和算法的技术往往门槛低,可替代性强。你会的,他人通过社会培训也可以在短时间内掌握一定的技术,无疑将来会在自己的岗位竞争很激烈。