返回

90天!3千人!5 道题解锁 Leetcode 就入职!别搞了!你都做错题了

前端

大厂进阶 3/15:如何借助 5 道算法题入职 Leetcode

老套路?刷题就是现在?

  • 进大厂 == 刷题?
  • 真的题库里刷个 5 道题就能入职?

3000 人进场 5 道题 入职的概率为: 1/600

难道真有这种天上掉馅饼的好事?希望各位早已早早参与掘金大会,获取大会专属内推群的入场券,错失机会真的是太可惜了。

与其天真刷题 不如聪明入职

我入职的时候也刷了 5 道 Leetcode 题,但是!每一题都是反复研究,前后历经 90 天,不断挑战难题。现在想起来,当时那种执着真为自己点赞。

不夸张的讲,我入职 3 年多的时间里,遇到的面试题,都是从 Leetcode 题库里选出的,这也印证了 Leetcode 题库在面试官心目中的地位。

正因如此,大家不要总想着什么天降奇题,什么一刷入职。与其如此,还不如花点心思,认认真真刷题。

题目的难度

入职前我在 Leetcode 刷了 3000 多道题,总算把 Leetcode 题库的 70% 难题啃了下来。

说实话,题库里的题目难度差距是真的大,有的题目就像黑客帝国里,让人摸不到头脑。而有的题目,则一眼就能看出规律。

如果你想进大厂,那么请做好心理准备。Leetcode 题库里的困难题目,是逃不掉的。

据官方数据,难度在 easy、medium、hard 和 insane 的题目比例分别为:20%、45%、30%、5%,是不是瞬间觉得好难啊?

关于详细的题目分类,大家可以参照下面的统计数据,做到心里有数,这样就不会盲目刷题了。

前端难点精讲 / 斩获大厂offer / CTO在线点拨

戳下方图片即可参与大会,独享大厂内推资格

分类下的算法题种类

  • 数组
  • 哈希表
  • 字符串
  • 链表
  • 栈和队列
  • 回溯
  • 深度优先搜索
  • 广度优先搜索
  • 动态规划
  • 图论
  • 系统设计

当然,这些统计数据只是作为参考,每一场面试的难度是不确定的。

面试的题型

  • 实际应用型的编码问题
  • 开放性编码问题
  • 讨论问题

实际应用型的编码问题就是一道题目,一个答案。对于这类题目,答对即可。

开放性编码问题比实际应用型编码问题稍微难一些,但也只是程度的问题。在解决问题之前,面试官通常会让你先分析问题,比如问你“你打算如何解决这个问题”。

而讨论问题,有点类似于白板面试,需要你从零开始,一步步实现代码,就像你直接拿到了一份需求文档,没有框架没有提示。

正确使用 Leetcode

刷题确实是我们提升编程能力的常见途径,不过,在正式开启刷题模式前,务必要对刷题有正确的认知。

  • Leetcode 题库只是面试的辅助工具。
  • 刷题重要的是质量,不是数量。
  • 刷题不是为了通过面试,而是为了提高编程能力。

面试的编程语言

不同的公司,不同的职位,都有不同的编程语言要求,比如 Java、Python、C++、Go 等。

当然,Leetcode 题库也是支持多种语言的。不过,大家一定要注意的是,尽管不同的语言在基本逻辑上都是相同的,但其细节上还是存在一定的差异的。

术业有专攻 ,选择你最熟悉的语言进行刷题,这样可以节省很多时间,让你更专注于解决问题的本质,而非编程语言本身。

刷题技巧

  • 理解问题
  • 寻找规律
  • 简化问题
  • 测试代码
  • 阅读代码

刷题的本质是理解和解决问题,而不是单纯地记住题目和答案。当你遇到一道难题时,不要急于求成,而是要先花时间理解问题的本质,寻找问题的规律,然后再尝试解决问题。

解决问题时,不妨尝试将问题简化,从而将其拆解成更小的、更容易解决的问题。解决完每一个小问题后,再将它们组合起来,就得到了最终的答案。

千万不要在没有测试的情况下,就认为自己的答案是正确的。

做完一道题后,一定要对你的代码进行测试,看看它是否真的能解决问题。如果不能,那么就需要你重新审视你的代码,找出错误所在,并进行修改。

保持耐心

刷题是一个需要长期坚持的过程,不可能一蹴而就。一定要保持耐心,不要三天打鱼两天晒网,否则只会浪费时间。

总结

刷题虽苦,但也是值得的。只要你坚持刷题,不断学习,不断提高,那么你就能成为一个合格的程序员,并进军大厂。

我希望,通过这篇文章,你能对 Leetcode 刷题以及面试有更深入的了解。如果你想进大厂,那么现在就开始刷题吧!