Skip to content

学习路径

算法的学习路径

简介

算法是我们在面试过程中很难绕过去的一个砍。目前,即使是测试工程师,十有八九也会考察你的算法能力。由于日常接触的编程的工作非常少,算法,也就成了大部分测试工程师很难绕过去的一个难题。

算法的学习路径

在 leetcode 首页中,leetcode建议所有的开发者按照如下图的路线进行学习。但是对于测试工程师来说,我们可以适当的降低学习的难度和范围,以实用性为主,尽量降低我们的学习成本。

leetcode学习图谱

以下为测试开发工程师的学习路线

uml diagram

算法的学习平台

leetcode

  • 官网地址:https://leetcode.cn/
  • 适宜人群:有一定的编程基础

leetcode 有丰富的题目以及丰富的不同语言的题解,和各路算法大神的分析思路。是最适合学习算法的平台。

code wars

  • 官网地址:https://www.codewars.com/
  • 适宜人群:有基本语法知识

codewars 的题目相较于leetcode会更简单易懂一点。如果你仅仅是编程的初学者,觉得leetcode的题目太过困难,则可以在这个网站刷题

霍格沃兹测试开发学社教程网站

  • 官网地址:https://python.tutorial.hogwarts.ceshiren.com/
  • 适应人群:没有编程基础的

Python的面试重点中给大家讲过,霍格沃兹测试开发学社的教程网站是配合我们的教学视频进行学习的。整套的课程设计完全遵循PDCA循环法则,力求让每个初学编程的同学能有一种闯关式的过程体验。

算法学习的技巧

  1. 画图:算法的学习过程是非常抽象的。不管是在学习过程中还是复习过程中,如果没有图辅助理解,那么整体的学习效率,包括说记忆效率都是比较差的。
  2. 刷题:算法就和数学题一样,只靠看,不练是无法掌握的。自然刷题也是有明确和清晰的节奏是帮助比较大的。

算法的刷题节奏

  1. 掌握对应算法原理以及基本思路。
  2. 从简单、通过率高的题目开始刷。
  3. 分类刷题(按学习路线的类型刷),一个类型至少完成10~20道左右的题目。
  4. 保持频率和节奏,比如每天投入1小时,完成一道题。

面试算法的技巧

对于大部分人来说,刷算法题主要是为了通过面试,而在面试算法过程中,也是有一些需要注意的技巧的。

  1. 先讲思路:

在碰到算法题大部分同学在第一时间是很难立刻把对应的代码写出来的,在这种时候,可以和面试官说:你好面试官,我可以先大概说一下我的思路吗?

如果能顺利讲出来思路,即使无法完整实现所有代码,对于面试官来说,印象也比代码只写一半要好的多,在这个过程中,也有可能面试官看到你能讲出来思路就点到为止了,无需再对后面的代码做实现了。

  1. 编写代码:

在写代码的过程中,可以先不用特别严谨的讲究没有任何语法错误(毕竟可能是手写)。只要能把大概思路实现出来即可。

  1. 计算时间复杂度:

在写代码的过程中,记得要同步计算一下时间复杂度,面试官可能会提问。有所准备会更好一些。

  1. 考虑代码的性能优化:

到这一步,如果有能力的同学,还可以考虑代码如何还能做进一步优化。并且把自己的想法讲给面试官听,都会给你的面试分数适当加分。