※ 引述《wayne5668944 (wayne5668944)》之銘言:
: 小弟我新鮮的肝(出社會< 3 y)
: 出社會這幾年深深的感受到在工作的應用上與學校學習的差距
: 以前在學校學的時候總是會說怎樣解怎樣解較好怎樣解效能比較快
: 或是怎樣解可以解決什麼問題ex:學校愛考的大數規則
: 排序法怎樣怎樣等等
: 但是出社會後發現這些其實沒啥用到(只有面試在用)
: 反而重要的是例如程式碼有沒有分層看起來易懂好維護
: 資料庫資料的正確性控制(交易應用)和index設定
: 多執行緒的狀況下如何確保程式執行正常
: 程式安全性
: 等等好像比較受重視
: 真的遇到資料集合大的時候也有現成的東西可以應用
: 倒是學校學的東西真的很少用到
: 是所處產業的緣故嗎?
: 還是學校學的跟業界環境真的有落差?
基本上我覺得學校教的是理論基礎 + 基本程式(刷題)能力
若有念碩士,則會在某個領域變成專家,以及做研究的能力
以招募者招募新人來說,會期望這個新人至少有基本刷題能力 + 理論基礎
最重要的是自學的能力
其他什麼前端後端,或是 multi-thread,db index,都是基於這些基礎之上
你如果不懂 tree,你建的 db index 的 b+ tree 概念知道嗎? side effect知道嗎?
如果不懂 OS,你確定你真的懂 multi-thread 嗎?
如果你沒修過資訊安全+網路,那些加密你真的懂嗎?
這些理論基礎反而是最難自學的
因為它不像程式語言可以對工作可以學完直接用
或是工作遇到時,不是一時半刻就能唸完
以 sort 而言,可以當作它是練習資料結構/演算法/複雜度一個非常經典的範例
已達成同樣目標而言,不同算法所花的時間可以有如此巨大的差異
教 sort 並不是因為你工作上會用到
此外,除了頂大,一般大學學生都滿混的,程式設計作業都抄來抄去
這時候跟他們講 clean architecture, OOP, multi-thread 是要講給誰聽
ps.
其實對於頂大/普大的學生所需要教學方式也都不盡相同
頂大學生通常自制力好,可以穩穩教完理論,吸收良好
但對於其他大學來說,如果可以先有類似網頁前後端這類課程盡早入門
等學生有興趣後再安排多一點理論課,可能可以讓比較多學生學得好
ps2.
大學也可以當成跟同學互相切磋互相成長的場所。無論是討論作業、未來方向等
對於初學者在摸索方向階段滿有用