学习实践计划
编码面试学习计划——根据剩余时间学习和练习什么
在开始准备编码面试时要回答的最重要的问题之一是:您应该做哪些学习主题和练习题才能最有效地准备编码面试?
互联网上有很多资源,但很难知道它们如何与你剩余的准备时间相匹配。幸运的是,这篇文章将帮助你解决这个问题。
我个人曾多次经历过可怕的软件工程师面试过程,并制定了自己的学习计划,每次都对其进行完善。
在本文中,我将分享我个人用于准备编码面试的 3 个月学习计划。您将找到要学习的确切主题(附推荐链接)和要练习的确切问题(附练习链接)。
★建议的准备时间和方法
您需要多少时间准备编码面试?一般来说,3 个月(如果您每周可以投入 11 个小时)是更全面准备的推荐时间段。我将分享 3 个月(推荐时间段)的推荐学习计划,但您可以通过 Grind 75 工具为您需要的任何时间范围的练习题制定学习计划。可以在那里找到更多选项,例如按难度、主题、替代问题分组进行筛选。
无论你有多少年的经验,如果你不熟悉核心数据结构和算法知识,建议你在开始编码面试问题练习之前先复习一下。不同的人有不同的练习风格,你应该做最适合自己的。各种可能的方法是:
广度优先的准备- 复习每个主题,然后开始练习所有主题的各种问题。如果你有大约一个月的空闲时间,建议采用这种策略。
深度优先的准备- 一次解决一个主题 - 复习一个主题的材料,练习大量与该主题相关的问题。确保掌握一个主题后,继续学习下一个主题。对所有或选定的主题重复此步骤。如果您没有太多时间,这可能是最好的准备方式。您可以专注于我们推荐的学习计划中的高优先级主题。
先深后广的准备- 一次解决一个主题 - 复习一个主题的材料,练习该主题的一些问题。确保掌握后,继续学习下一个主题。对所有主题重复此操作。最后,练习所有主题的各种问题。此策略比其他策略需要更多时间,因此如果您有超过一个月的时间,建议使用此策略。
我个人的建议是先广度再深度的准备。在你的日程安排中安排某种形式的广度学习/练习是很重要的,这样你在学习后面的主题时就不会忘记前面的主题。
★3 个月学习计划 - 附推荐学习资源和练习题链接
在每个学习计划中,你都会找到一个编码面试主题列表,其中包含资源和练习题,你应该每周按优先顺序进行处理。
为了最好地利用它,您应该创建一个模板,在其中细分剩余的日期和每天剩余的小时数,以便您以后可以填写每天要涵盖的主题/问题。
保持相对保守的估计,这样你就不会最终精疲力竭。
◇第 1 - 4 周:专题学习 + 练习
这些都是你应该学习的主题,按优先顺序排列。链接的学习资源是我的算法速查表 - 它为你概述了必须记住的内容,例如时间复杂度、极端情况和特定主题的有用技巧,以及基本和推荐的练习题。
在练习时,不要忘记尽早运用编码面试最佳实践中的行为和编码面试技巧中的方法!
Week 1
High
2 hours
High
3 hours
Mid
3 hours
Mid
3 hours
Week 2
High
3 hours
High
1 hour
Mid
3 hours
Mid
2 hours
Mid
2 hours
Week 3
High
4 hours
High
4 hours
Mid
3 hours
Mid
3 hours
Week 4
Mid
2 hours
Low
4 hours
Low
2 hours
Low
1 hour
Low
1 hour
◇第 5 - 12 周:深入练习
这里,我列出了 75 个你应该回答的问题,以便为你的编程面试做好充分准备。这些问题列表由Grind 75 工具生成,该工具根据你剩余的时间生成推荐的编程面试学习计划。在那里可以找到更多选项,例如按难度、主题、替代问题分组进行筛选。
如果您遵循第 1 至第 4 周的学习计划,您就会完成这里的一些问题。您可以跳过它们或重新做一遍。
如果您没有研究过动态规划问题或认为它们不相关,请随意跳过它们。许多动态规划问题无论如何都可以通过递归/回溯来解决。
在练习时,不要忘记尽早运用编码面试最佳实践中的行为和编码面试技巧中的方法!
我们建议使用Grind 75工具,它可以让您跟踪练习进度。
Week 5
Easy
15 mins
Easy
20 mins
Easy
20 mins
Easy
20 mins
Easy
15 mins
Easy
15 mins
Easy
15 mins
Easy
15 mins
Easy
20 mins
Easy
20 mins
Easy
15 mins
Easy
20 mins
Week 6
Easy
20 mins
Easy
20 mins
Easy
15 mins
Easy
20 mins
Easy
20 mins
Easy
20 mins
Easy
20 mins
Easy
15 mins
Easy
30 mins
Easy
20 mins
Easy
15 mins
Easy
15 mins
Week 7
Medium
20 mins
Medium
20 mins
Medium
25 mins
Medium
30 mins
Medium
30 mins
Medium
30 mins
Medium
30 mins
Medium
20 mins
Medium
25 mins
Medium
30 mins
Week 8
Medium
30 mins
Medium
35 mins
Medium
25 mins
Medium
30 mins
Medium
20 mins
Medium
25 mins
Medium
30 mins
Medium
30 mins
Week 9
Medium
30 mins
Medium
30 mins
Medium
30 mins
Medium
25 mins
Medium
35 mins
Medium
30 mins
Medium
25 mins
Medium
30 mins
Week 10
Medium
30 mins
Medium
25 mins
Medium
25 mins
Medium
30 mins
Medium
20 mins
Medium
25 mins
Medium
20 mins
Medium
25 mins
Medium
35 mins
Week 11
Medium
30 mins
Medium
30 mins
Medium
30 mins
Medium
30 mins
Medium
35 mins
Medium
30 mins
Medium
25 mins
Hard
30 mins
Week 12
Hard
40 mins
Hard
35 mins
Hard
30 mins
Hard
45 mins
Hard
40 mins
Hard
45 mins
Hard
30 mins
Hard
35 mins
★留出时间进行自我介绍、期末问答和模拟编码面试
除了学习和练习编码面试之外,您还应该准备自我介绍、最后的问题,并尝试模拟编码面试。
◇准备自我介绍和最后要问的
我建议你花大约 3 个小时来准备自我介绍,并准备一些最后要问的问题。你可以参考这份自我介绍指南和最后要问的问题指南,它们应该可以帮助你相当快地完成这些步骤。
◇安排模拟编码面试
当你完成编程面试学习和练习计划的 60% 时,你应该开始安排模拟编程面试。面试时间通常由面试官提供,因此你可以提前查看并预订。我个人使用并推荐的平台是interviewing.io。在此处阅读有关不同模拟编程面试平台的更多信息。
Last updated