90天!3千人!5 道题解锁 Leetcode 就入职!别搞了!你都做错题了
2023-11-19 06:02:30
大厂进阶 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 刷题以及面试有更深入的了解。如果你想进大厂,那么现在就开始刷题吧!