为什么要刷题?因为面试要考算法题。因此,刷题主要还是为面试服务的。
不过我想说的一点是,题刷的好不一定代表面试就能表现的好,沟通能力、面试经验同样是非常重要的因素。
面试和平时刷题有什么不同?
一个是时间限制,另一个就是不能调试。
个人认为刷题的流程:
- 思考暴力破解方法,分析为何低效;
- 提升解法,分析复杂度;
- 写代码;
- 验证或者测试。
而面试做题的流程:
- 读题;
- 对问题有疑惑务必问清楚;
- 思考,直至确定一个最终解法;
- 解释这个解法;
- 写代码;
- 假如还有时间,手动测试。
也就是说,面试的时候并没有那么多时间来说思考过程。哪怕说的再好,代码不行还是白搭,不如多花点时间写好代码。
刷题的时候我会把思考过程写的尽量详细,这样是为了方便理解。不过要记住,刷题和面试的区别。