看板 Gossiping作者 empireisme (empireisme)標題 [問卦] 學演算法資料結構的理由時間 Fri Apr 3 20:38:41 2020
如題
我看台灣很多公司的職缺
無論是前端還是後端
實務上用到演算法跟資料結構的人
是不是根本超少阿
像是演算法上一堆排序
內建的函數根本就有了
google 前端工程師的技能
https://i.imgur.com/Pq28STO.jpg
感覺這些東西也不是學了一堆演算法跟資料結構就會了
感覺學了那些最重要的幫助就是
幫你推資工碩班還有刷leetcode
想問幾個實際的問題
學了演算法跟資料結構就可以寫成
小遊戲 通訊軟體 購物網站嗎?
還是學了可以讓netflix的影片不再lag?
真心求問
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.91.75.186 (臺灣)
※ 文章代碼(AID): #1UXovK0L (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1585917524.A.015.html
→ james732: 資料結構跟演算法是最基礎的基礎ㄅ3F 04/03 20:41
推 shala: 用不到但你學不會就代表比較笨6F 04/03 20:42
推 eknbz: 這基礎啦 就像二元一次聯立方程 現實生活數學沒這麼簡單 但是從這延伸出去的7F 04/03 20:43
→ rex44391: js的execution stack不就是資結的stack嗎9F 04/03 20:44
→ twflash: 笑死人 暴露自己程度10F 04/03 20:45
我零程度才發問阿
所以學了可以讓netflix不再lag嗎?
※ 編輯: empireisme (219.91.75.186 臺灣), 04/03/2020 20:46:53
噓 neverfly: 演算法又不是只有排序,先學會分析程式的瓶頸在哪才能改善啊11F 04/03 20:46
推 alvinpon: 不是用不到,是台灣的軟體工程師沒用到。沒用到不是錯,只是當要調整系統的效能時,你就要懂資料結構與演算13F 04/03 20:47
→ rex44391: 試著了解更底層,你就會發現無處不是基本功15F 04/03 20:47
推 silverair: 讚讚讚,都不要學直接call內建的16F 04/03 20:47
推 eknbz: 原po是剛唸大學嗎? 碩班以上應該能逐漸瞭解大學基礎科目18F 04/03 20:47
114研究生 修過數理統計 倖存分析 類別資料等
→ eknbz: 的用處19F 04/03 20:47
→ rex44391: 也只有試著去了解,才能進步20F 04/03 20:47
→ neverfly: google search的本體就一個文字框一顆按鈕,但背後就是22F 04/03 20:48
→ neverfly: 大量演算法讓你能在一秒內得到結果24F 04/03 20:48
推 snakeooxx: 業界實際用到的超少沒錯 最多就 hash 和 balanced tree26F 04/03 20:48
→ snakeooxx: 的原理和複雜度要有基本理解就足夠了28F 04/03 20:48
※ 編輯: empireisme (219.91.75.186 臺灣), 04/03/2020 20:50:09
→ neverfly: 學了不會讓你netflix不再lag,但netflix工程師不學你會lag到爆30F 04/03 20:49
推 zzro: 有用喔 面試HR會問你各種排序的平均最佳最差時間32F 04/03 20:49
→ eknbz: Netflix包含伺服器 資料庫 網路工程 太廣了33F 04/03 20:49
→ snakeooxx: 效能優化和學不學演算法也沒有很直接的關係 但比賽打久了你看 json serialize 這類功能會直覺很慢
對優化會有部份幫助 只是一般優化都是針對 bottleneck最後的重點還是怎麼做 profiling 去找問題根源34F 04/03 20:49
→ rex44391: 還有比如immutable.js確實能提升執行效率
他用到很多樹,假如fb不開源給你用,你就得自己寫38F 04/03 20:51
推 eknbz: 當然有些教科書上的東西和產業逐漸脫節,不用一直重做輪子;不過訓練你的分析方式、釐清脈絡還是有用
但瞭解一下輪子是怎麼製造出來的,還是有幫助40F 04/03 20:56
→ rex44391: 比如統計,假設你不懂Metropolis Hastings的原理,你要怎麼調校44F 04/03 20:58
推 applebg: 演算法是發明,跟發明產品一樣46F 04/03 21:00
可以說明一下嗎?
※ 編輯: empireisme (219.91.75.186 臺灣), 04/03/2020 21:03:23
→ kinda: 前端工程師是文組,英文強就好。非本科更好,方便砍薪水。48F 04/03 21:07
推 kiss78832: 演算法喔...個人認為很多API都寫好了,除非公司自己的業務邏輯可能還稍微用的上啦...不然通常你能把api搞懂,效能自然不會太差50F 04/03 21:35
推 pokemonoxo: 我覺得演算法對前端來說算是加分項,但是資料結構真的真的很重要,不管你學那種語言,懂點資料結構絕對會幫助你很快理解,看程式碼的思考會很不一樣53F 04/03 21:42
推 kingstongyu: #INCLUDE(MATH.H)可以解決很多數學問題56F 04/03 22:03
推 chang505: 等你用到就懂了 了解其運作方式可以解決很多問題58F 04/03 22:12
推 ReverieKai: 演算法廣義上還包含了解決任意問題的步驟 就是leetcode那類的 解決的步驟就是演算法 快跟慢的差別而已59F 04/03 22:31
推 DarkerDuck: 對於Google這種大公司來講,效能差一點成本就差很大更不用說用對資料結構和演算法差別通指不只一點
當然你只想要當那種交差了事的SOHO,那就隨便了61F 04/03 22:53
→ Kazimir: 資料結構是真的實戰要用 演算法就像古文是讓你欣賞的
希望你多看大師作品以後能夠學個一招半式64F 04/03 22:55
推 hsnuconan: 工程師是有分等級的 低端的工程師確實用不到 就只是個碼農 這種人寫出來的東西只是大學生的作業66F 04/03 23:05
推 s910: 超重要好不好69F 04/03 23:20
→ nevikw39: 高中生不只要會 stl,disjoint set, segment tree 都得背起來70F 04/03 23:28
噓 gaowei16: 還真的可以讓串流不lag
還能寫推薦系統72F 04/03 23:34
噓 ywchenz: 學代數前,要先會加減乘除吧!74F 04/04 01:47
噓 jyunwei: 你的優點就是自知之明,但也就這個了75F 04/04 01:57
推 jengjye: 資料結構是讓你了解到電腦系統中,如何將一般泛用型態的資料儲存到以二元表示系統中的方法..
我是不覺得能夠說沒學這個就不能寫好程式,但在分析方面是有很大程度幫助的
至於演算法就是實實在在的解決問題了..
這說沒用的話那就是你太低端了沒用到76F 04/04 02:08
推 holebro: 就真的沒用還一堆雲資訊人出來狡辯82F 04/04 03:13
推 pyrochlore: 真的用到很少,被過份強調了,改善效能什麼的自己動腦分析就可以了83F 04/04 05:30
--