Skip to main content

确定目标

算法练习的目标是能够在 OA 平台以及现场面试中正确分析问题,解释思路,并且较快速度完成高质量的代码。

note

切勿花费过多时间进行算法正确性分析与论文研究,这并不是面试考核的要点。

Big Five 面试官在面试结束后需要对求职者进行评分,我们可以从他们的评分标准中更直观地了解我们需要达到的水平:

分数解题能力代码能力沟通能力
0-20 分不懂得如何分析题目,即使多次提示也无法理解题目没有写任何代码思路混乱,无法沟通
20-40 分经过提示后对题目有一定理解,能够给出思路代码大幅偏离正确解法或者无法将思路转变成代码能够与面试官简单沟通,并说出自己的理解
40-60 分能够给出暴力解,经过提示后可以给出次优解代码风格和架构有问题,代码有错误但没有检查出来较清晰地表达自己的思路,但是与面试官互动不足
60-80 分能够给出次优解,经过提示可以给出最优解代码逻辑没有明显问题,但是细节有不少问题清晰表达自己的思路,与面试官对题目有一定探讨
80-100 分能够给出多种解法,并且分析不同解法的优劣代码命名良好,架构清晰,核心代码有注释清晰表达自己的思路,与面试官对题目进行深入探讨
note

面试和竞赛不一样,即使一道题目你无法完全解答,你也可以展现自己的沟通以及题目分析能力。面试官会从多个角度来评价你的能力。

自我检查

你可以通过以下标准来检查自己的算法准备情况,达到此标准代表你能够通过大部分公司的算法面试:

  • Leetcode 周赛连续三周做出三题
  • 90% 题目能够分析出时空复杂度
  • 熟悉常见的 OA 平台的 IDE,如 Hackerrank, CodeSignal
  • 熟悉其他内容中的特殊解法以及代码模版