继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

不要只做 LeetCode 题目,而是学习编码模式

aluckdog
关注TA
已关注
手记 473
粉丝 68
获赞 394
搞定编码面试 如果在面试前你不喜欢做几百道编程题那该咋办呢?

Grokking the Coding Interview

深入理解编码面试

编码面试越来越难了,你可能需要几周甚至几个月的时间来准备。

没有人喜欢花那么多时间准备编码面试。有没有更聪明的办法呢?

我们先来看看这个问题。

正在准备编码面试的任何人都肯定熟悉LeetCode。它可能是网上最大的编码面试题目库。让我们来看看大家在用LeetCode时都会遇到哪些问题。

LeetCode的问题与挑战

LeetCode上有大约3000个问题。LeetCode最大的问题在于它缺乏组织性这一点;它有大量的编程题,你不知道该从哪里开始,也不知道该专注于什么。

一个人不禁会问,是否需要碰到足够多的问题才能认为自己准备充分呢?

我希望看到一个简洁的流程能够引导我并教会我足够多的算法技巧,让我在面试中更加自信。我这个人比较懒,甚至不想做500道题。

解决办法

人们常采用的一种方法是解决同一数据结构相关的题目;例如,先集中于数组相关的题目,然后是链表、哈希表、堆、树、图或字典树等题目。虽然这提供了一定的组织性,但仍然缺少连贯性。例如,虽然许多问题可以用哈希表解决,但仍然需要使用不同的算法技术。

我非常希望能看到这样的一组问题,它们不仅具有相同的数据结构,而且使用了类似的算法技巧。

我遇到的最好的事情是那些解决问题的模式,比如 滑动窗口快慢指针双指针、两个堆拓扑排序 等。遵循这些模式帮助我培养了将新问题映射到已知问题的能力。这让整个编码面试准备过程变得更加有趣和有序。

编码模式帮助我们,把新的问题和已知的问题联系起来的能力。

编程模式

我已经整理了大约20种这样的编码问题模式,我相信这些模式可以帮助任何人掌握这些精美的算法技巧,并在编码面试中真正有所助益。

这些模式的基本理念是,一旦你熟悉了某个模式,你就可以用它来解决几十个相关问题。有关这些模式及相关问题和解决方案的详细讨论,可以参考[Grokking the Coding Interview](Grokking the Coding Interview)(掌握编码面试)。

如果你喜欢这篇文章,可以订阅我的免费通讯。

Grokking the Coding Interview (掌握编码面试技巧)

所以,不啰嗦了,让我列出所有这些模式:

  1. 滑动窗口
  2. 岛屿(矩阵遍历)
  3. 双指针
  4. 快慢指针
  5. 合并区间
  6. 循环排序问题
  7. 原地反转链表
  8. 树的广度优先搜索
  9. 树的深度优先搜索
  10. 两个堆
  11. 子集
  12. 修改后的二分查找
  13. 按位异或
  14. 前K个元素
  15. K路合并
  16. 拓扑排序
  17. 0/1背包
  18. 斐波那契数列
  19. 回文子序列
  20. 最长公共子串问题

下面简单介绍一下这些类型,并附带一些示例问题:

编程模式

总结.

不管你喜不喜欢,LeetCode 类型的问题几乎存在于每个编程面试中,所以每个软件开发者都应在面试前练习这类题。唯一的办法就是聪明地准备,并通过专注于问题模式来学习解题。更多关于这些模式和示例题的内容请参考:

  1. 掌握数据结构应对编码面试
  2. 掌握编码面试:常用编码面试问题模式
  3. 掌握动态规划应对编码面试
  4. 掌握递归的艺术应对编码面试
  5. 模拟面试:编码与系统设计
  6. 编码面试强化训练

可以查看 设计大师 获取一些有趣的编码课程,以及在 系统设计面试 中提供的实用建议。

系统设计面试问题:终极速成班

掌握系统设计面试的技巧和策略:通往成功的必备秘籍

levelup.gitconnected.com

揭秘系统设计面试:一份指南

系统设计面试难倒你了吗?获取专家级别的指导、策略和实战练习题,帮助你在面试中取得优异成绩…https://www.designgurus.io/blog/system-design-interview-guide?source=post_page-----4beb6a197fdb--------------------------------

系统设计面试生存指南(2023):实用准备策略与技巧.levelup.gitconnected.com
适用于FAANG编码面试的顶尖LeetCode模式 数组是出现次数最多的题目类型,有1142个题目,其次是字符串,有549个题目,等等。让我们更深入地了解一下……

www.designgurus.io

系统设计面试攻略:全面指南解锁通往系统设计面试高手之路。掌握基础知识,深入探讨关键话题,前往www.designgurus.io了解更多
系统设计面试中一般会问哪些问题?www.designgurus.io
谢谢你的阅读
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP