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