Re: [讨论] 软件工作真的有需要刷题吗?

楼主: fshfsh (鱼~*)   2021-08-20 18:14:13
我是非本科,以前听过很多人的说法说刷题甚至资料结构算法根本只是应付面试用,一点都不重要,进去公司就用不到了
但我必须说这种说法不完全正确。
我在进现在这家公司前,刷了600题,经典的题目大概来回做了10遍
来这家公司后,我接到了一个很复杂的任务,大概是仓储物料的分派系统,某个物料根据某些逻辑所以被分配到哪个厂区,中间很多特殊需求但我不想讲太多
为了让程式高效能化,我手写了树的节点,用BFS和DFS来遍历(不同用途),节点用priority queue排序,然后也用到deque来资料处理,map就不说了,太常用了
就算我训练过了,我还是觉得这个任务非常难,中间有太多奇怪的需求
我完全可以说,要是我没有反复练习leetcode,我都不可能完成这个任务
个人认为leetcode前400题很多题目是真的经典,弄懂题目的意义甚至只是知道这类型的问题有什么解法,在工作遇到类似的问题都可以直接套
当然有些公司不会有像我们这么难的逻辑,可能进去之后就是前端串后端API,或是刻CSS,甚至进去是当PM,那当然不会感觉到刷题的重要性
但如果真的想在软工这通路走久走稳,真心推荐学好算法和资料结构,然后经典题目要弄懂
作者: bill1992 (我是魔法的踪迹)   2021-08-20 18:37:00
为什么要自己写
作者: MoonCode (MoonCode)   2021-08-20 18:54:00
想刷的就刷 价值自行寻找 但我刷不太动Leetcode hard 就会有算法搭配资料结构一起用的场景真的是写了才知道可以用各种组合来解决问题软工就是要写出可维护可解决问题的 code不过大部分公司只要可维护就好 大部分问题都是crud
作者: DrTech (竹科管理处网军研发人员)   2021-08-20 19:13:00
嗯,看完只觉得,以前大学或研究所的基本功作业,现在几乎都要靠刷题来学。甚至是非本科系的人,连基本功要不要学,有没有用到工作都还在讨论。难怪要靠题目来刷掉人。
作者: Apache (阿帕契)   2021-08-20 19:16:00
笑了
作者: DrTech (竹科管理处网军研发人员)   2021-08-20 19:17:00
真正有量产或多人使用的产品,这些资料结构与计算复杂度都是基本功而已。
作者: juijuijuijui (瑞瑞)   2021-08-20 20:32:00
那是你工作有需要你才会觉的要但没刷过不会知道关连,看工作类型啦
作者: enthos (影斯作业系统)   2021-08-20 21:25:00
99%的技术在书本和论文都有写,所以要多做笔记The Art of Computer Programming(TAOCP)及其他1000本书https://www.udemy.com/course/datastructurescncpp/
作者: BBSealion (海狮)   2021-08-21 14:51:00
CS 基础知识绝对是重要的,刷题只是学习途径之一,刷过头刷到走火入魔当然没意义,反过来如果你看课本就能掌握核心 CS 知识,那说不用刷题也完全可以,至于面试时如果把这种 CS 核心知识好却没刷过题的人刷掉,那就面试方式自己要检讨了
作者: deangood01 (跨斯欧鹅)   2021-08-24 04:26:00
资料结构这种大一必修基本科目 被搞得好像研究所进阶选修一样高尚,就知道市场上良莠不齐,那个是你必须会的,不是什么多要求学的

Links booklink

Contact Us: admin [ a t ] ucptt.com