logo
Coding interview preparation

Coding interview study plan - 根据剩余时间该学什么、练什么

根据剩余时间规划 study topics 和练习题,准备 Software Engineer coding interviews

准备 coding interview 最关键的问题之一是:在有限时间里,哪些 topics 和练习题最值得做?

网上资源很多,但很难判断该如何与自己的时间安排匹配。好消息是,这篇会帮你解决。

我自己经历过多次 Software Engineer 面试流程,也反复做过 study plan 并持续优化。

这篇会分享我个人使用的 3 个月 study plan。你会看到具体要学的 topics(带推荐链接)以及要练的题目(带练习链接)。

推荐准备时间与方法

免费资源

精选面试资料与工具合集

题库、工具与模板集中获取,按阶段高效补齐短板。

查看免费资源

coding interview 需要准备多久?通常来说,3 个月(每周 11 小时)是更全面的推荐周期。本文会提供 3 个月计划,但你也可以用 Grind 75 tool(我做的)为任何时间长度生成练习计划,还能按难度、topic、分组方式过滤。

无论你有多少时间,如果你对核心 data structures 和 algorithms 还不熟,建议在开始刷题前先复习基础。不同人有不同练习风格,选择适合自己的方式即可。常见方法包括:

  1. Breadth-first preparation - 先复习所有 topics,再跨 topics 练题。如果你只有一个月左右,推荐这个策略。
  2. Depth-first preparation - 一次专注一个 topic:复习资料 + 大量练题;掌握后再进入下一个 topic。如果时间不多,这可能是最佳策略。你可以优先高优先级 topics。
  3. Depth-first-then-breadth preparation - 先逐个 topic 深入,再在最后阶段跨 topics 练题。这个方法更耗时,适合有超过一个月的情况。

我个人更推荐 Breadth-firstDepth-first-then-breadth。保持一定的 breadth 能防止你在后期遗忘早期 topics。

3 个月 study plan - 含推荐资源与练习链接

每个 plan 都包含 coding interview topics、学习资源、练习题,并按 优先级顺序 排列,建议按周执行。

使用时,先做一个模板,列出剩余日期和每天能投入的小时数,再把每天要学/要练的内容填进去。

时间估计要保守一点,避免 burnout。

Week 1 - 4:Topic 学习 + 练习

以下 topics 按优先级排序。学习资源链接是我的 algorithm cheatsheets,包含 time complexity、corner cases、常用技巧,以及必做/推荐练习题。

练习时别忘了尽早应用 coding interview best practicescoding interview techniques

Week 1

TopicPriorityTime required
ArrayHigh2 hours
StringHigh3 hours
Hash TableMid3 hours
RecursionMid3 hours

Week 2

TopicPriorityTime required
Sorting and searchingHigh3 hours
MatrixHigh1 hour
Linked ListMid3 hours
QueueMid2 hours
StackMid2 hours

Week 3

TopicPriorityTime required
TreeHigh4 hours
GraphHigh4 hours
HeapMid3 hours
TrieMid3 hours

Week 4

TopicPriorityTime required
IntervalMid2 hours
Dynamic programmingLow4 hours
BinaryLow2 hours
MathLow1 hour
GeometryLow1 hour

Week 5 - 12:深入练习

这里列了 75 道题,足以覆盖 coding interview 的准备。题目来自 Grind 75 tool(我做的),它会根据剩余时间生成 study plan,还支持按难度、topic、分组方式过滤。

  • 如果你按 Week 1 - 4 学习,里面一些题已经做过,可以跳过或重做。
  • 如果你没学 dynamic programming 或觉得不相关,可以跳过 DP 题。很多 DP 题也能用 recursion/backtracking 解。

练习时别忘了早期就应用 coding interview best practicescoding interview techniques

我们推荐用 Grind 75 来跟踪练习进度。

预留时间:自我介绍、final questions、mock coding interviews

除了学习和练题,你还需要准备 self introduction、final questions,并尝试 mock coding interviews。

准备自我介绍和最终提问

建议用 3 小时左右准备 self introduction,并整理一组 final questions。可以参考 self introduction guidefinal questions guide,通常能快速完成。

安排 mock coding interviews

当你完成约 60% 的 study/练习计划时,就应该开始安排 mock interviews。面试时间通常由 interviewer 提供,你可以提前查看并预约。我个人推荐的平台是 interviewing.io。更多平台可看 mock coding interview platforms

相关练习题

Coding interview study plan - 根据剩余时间该学什么、练什么

暂无相关练习题