测试基础 练算法题到底有没有用?

张狂天 · 2021年04月09日 · 最后由 张狂天 回复于 2021年04月13日 · 824 次阅读

曾经想问大佬练算法题有没有用,想了下还是自己先练下再问吧。

从简单入手,上下班路上完成,一天一两道算法题,做到现在大概做了一百来个题。

感受是:

1.编程时候懂数学思维(就是数学好的人),对提升代码效率很有帮助。
2.熟练掌握(真的是熟练,因为你每多一点代码技巧就是你做题偷机的一点希望。。)了之前不了解的一些小技巧或方法,比如 zip 把元素打包成元组,string[:] 各种切片。
3.对代码性能方面算有点体会了,比如 list 直接 append 比新建一个 list 性能省很多,同样达成一个目的,不同的算法之间的速度和性能的消耗真的差别很大。
4.写代码时感觉更自信点了,可能是因为天天被算法题蹂躏吧。
5.最重要一点,我觉得不论是测试给团队开发新工具,还是自己练题,其实共同点都是锻炼自己用编程解决问题的能力,
在这方面我觉得算是提升吧。但是如果说你对测试开发的东西一点不了解(比如基本的自动化啥的),去练习
算法,反倒有些舍近求远。

我大概是这么个体会,不知大佬们有什么看法。

共收到 11 条回复 时间 点赞

曾经想问大佬练算法题有没有用,想了下还是自己先练下再问吧。

这个点赞!

对于有没有用这个话题,个人感受上来讲是有用的,主要是锻炼编程思维和代码熟练度,也让自己对写代码更自信。

只是从实际工作上,更多时候关键点是是否使用了适当的框架和用法是否正确,很多逻辑都是比较简单的,类似算法题里面这种复杂度的问题比较少,所以直接改变当前工作这种感觉会相对弱一些,所以容易有 “面试造火箭,进来拧螺丝” 的感觉吧。

我觉得是有用的,尤其数组队列字符串等题目能够有效提升做自动化的效率也对写小工具有很大帮助。也不能只依赖算法题,毕竟日常工作里常用的快速搭框架跑起来、使用各种库、各种类和方法的组织等技能也是很重要的。
另外对测试来说,写代码只是工作的一部分(还不是主要部分),除非是专门开发测试工具平台的开发。

陈恒捷 回复

大佬在哪里刷的题

算法最重要的作用是可以提升代码的运行效率,在要处理的数据不够大或者逻辑不够复杂时,算法的优势并不明显。一般的测试开发能有不错的开发能力就很好了,当然想进大厂的话,算法还是得会,毕竟算法是大厂的门票。

“算法,反倒有些舍近求远。”
长期主义,基础越牢走的越远。

magicyang 回复

大佬是就看见这一句回复的吗?

张狂天 回复

100 题测试够了,开发不够。
再往上就更不够了。
我现在必考算法,中等以上。。。一步一步坚持吧。

magicyang 回复

刚开始搞中等了,感觉直接难出一个等阶,大佬是怎么练算法的?也是刷题还是工作中就练了

张狂天 回复

17 年的时候刷了 200 多,看了一遍算法导论和 mit 的课,没坚持到最后。去年 12 月看了一遍 ucb 的 cs61b 和 cs170,只打周赛。实际还看了一下 c++ 的 stl 实现。
我做性能相关,实际工作中有需求,但也不是很多。

magicyang 回复

我之前看 MIT 的微积分课也没坚持到最后,看了 7、8 节吧,每节都特别费劲,然后还得来回来去看,后面实在看不懂就放弃了,改学《托马斯》的微积分,发现之前学不好的原因是没题练,学了 1/3 写了好几个本子,之后简单看了下线代就看上吴恩达的机器学习课了,就会照着操作,深入也没整明白。机器学习从入门到放弃。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册