我是非本科,以前听过很多人的说法说刷题甚至资料结构算法根本只是应付面试用,一点都不重要,进去公司就用不到了
但我必须说这种说法不完全正确。
我在进现在这家公司前,刷了600题,经典的题目大概来回做了10遍
来这家公司后,我接到了一个很复杂的任务,大概是仓储物料的分派系统,某个物料根据某些逻辑所以被分配到哪个厂区,中间很多特殊需求但我不想讲太多
为了让程式高效能化,我手写了树的节点,用BFS和DFS来遍历(不同用途),节点用priority queue排序,然后也用到deque来资料处理,map就不说了,太常用了
就算我训练过了,我还是觉得这个任务非常难,中间有太多奇怪的需求
我完全可以说,要是我没有反复练习leetcode,我都不可能完成这个任务
个人认为leetcode前400题很多题目是真的经典,弄懂题目的意义甚至只是知道这类型的问题有什么解法,在工作遇到类似的问题都可以直接套
当然有些公司不会有像我们这么难的逻辑,可能进去之后就是前端串后端API,或是刻CSS,甚至进去是当PM,那当然不会感觉到刷题的重要性
但如果真的想在软工这通路走久走稳,真心推荐学好算法和资料结构,然后经典题目要弄懂