Re: [請益] 思考能力不強

看板Soft_Job作者 (重出江湖)時間9年前 (2014/10/23 21:11), 9年前編輯推噓12(1207)
留言19則, 13人參與, 最新討論串2/3 (看更多)
※ 引述《badcode (Person of Interest)》之銘言: : 老實說不強還太過委婉了 : 小弟是某國立科大的資管系大四生 : 專題是用java寫的小程式,只有簡單的檔案傳輸和一些小功能而已 : 對於寫程式這方面算得上有興趣,但不強,可能得常常上網查stackoverflow等網站 : 前陣子考了一張OCJP (有很大一部份是用背的),覺得自己java的程度非常之弱,於是又買 : 了些書來加強自己,之後有打算學習開發Android app : 但在實作一些經典問題的時候 (如 http://openhome.cc/Gossip/AlgorithmGossip/ ) : 發現自己的思考能力簡直是差到不行,排序或搜尋那些可能做的出來,但8 queens或騎士 : 的旅程那些簡直是想破頭還沒有半點頭緒,看了解說之後可能會豁然開朗 (也可能是一知 : 半解) : 我知道有些問題在面試時會被拿出來考,萬一寫不出來或寫得太差可能就被扣不少分 : 不知道各位先進們是怎麼培養解決問題的思考能力? : 常看到有些人說只出得起香蕉當然只請得到猴子,我深深地覺得自己就是那猴子... 看你的敘述 我猜你應該以前都沒有在玩類似ACM之類的解題系統吧 解題目我認為有兩個必要要素 1.你對使用的語言的熟悉聊解程度 程式語言本身就是把你的思想翻譯成電腦看得懂的語言 如果你對使用的語言本身就不熟(就你說的你Java很弱) 那麼你就不可能會想到要用這語言的什麼特性來解決問題 就像你只懂國中單字 那麼你是絕對不可能寫出莎士比亞等級的文章 我以前寫是使用C語言 也是藉由寫題目我才知道「哇賽原來還有這種寫法」 一些奇奇怪怪但又合情合理的寫法 這些寫法一般中規中矩的教課書絕對看不到 也因為這樣讓我對程式語言的基本語法的應用更加純熟 2.如果第一個假設為真(你沒寫過解題系統) 那麼我建議你應該要先從簡單的題目做起 很多東西不是一蹴可幾 解題目也是要從簡單的題目開始解 培養你思考題目的sense 我想有寫過題目的人大概都可以了解 當你看完題目的時候大概就可以想出要用什麼方式解決(如果這題目沒超出你等級太多) 當然這一切的前提還是建立在你對程式語言本身要夠熟 第二你題目要寫的夠多 第三資料結構、演算法這些東西也要夠熟 照你的敘述你根本就是內力不夠就想學天山折梅手 所以你怎樣就是過不了天山折梅手的歌訣這關 你內力不夠 你的六脈神劍想射出一脈都有問題 即便是ACM決賽等級的隊伍 我相信也不是每個人初學階段看到題目就硬想 而是花了很多時間從基礎題目開始練習 等到寫到夠多遇到難一點的題目用以前的經驗 跟在書上學習到的知識融會貫通進而破解題目 一直不斷的重複這個步驟 這些人練習的時間是你難以想像的 看過某位奧林匹克競賽銀牌的經歷 真的深深覺得高手除了天份就是不斷練習了 你現在大四老實說才開始起步已經有點晚了 強者我同學大一就開始在寫ACM的題目 到畢業時也已經解了幾百題有 書上的題目你沒辦法自己想出解答很正常 這些都是前人智慧的結晶 如果光靠你自己就能想出書上題目的解答 那麼這本書也沒存在的必要不是嗎? 我推薦你可以去高中生解題系統上練習 裡面的基礎題滿簡單的 你現在大四你可以挑戰從現在起到你明年畢業寫個100題AC 拼一點的話就200題AC 解題的過程中你會常用到Java的一些工具 久了你對Java的熟悉度也能提昇不少 還有 其實業界多數的工作要求的是你對程式工具的熟悉 多數工作不會管你ACM寫多少題 看的是你會用哪些工具像是Java、C#、JavaScript、Python… 你用過哪些?你多熟?你用這些工具寫出過什麼作品? 這才是業界多數重視的東西 雖然這樣講很奇怪 但台灣多數工作只要你程式交的出來、會動就OK了 你程式內容寫得再爛也不會有人去注意 頂多以後接手的人倒楣而已 會注重你演算法功力的公司大概只有頂尖的公司才可能看你這部份 但絕對不是說演算法不重要 就像華山派的劍宗、氣宗 劍宗可以速成就像那些工具用過很容易就學會 但練到最後容易遇到瓶頸 因為程式語言本身就只是解決問題的工具 重點還是你解決問題的方法 氣宗練的慢就像是資料結構、演算法 但練成後威力無窮不管什麼工具到你手上都能輕鬆破敵 如果你真的很怕被當猴子的話 那就趁專題的時候多摸一些技術 是用Java的話就去研究JavaEE相關應用與技術 並且應用在你的專題上 這樣出去面試就能拿你的專題來說服對方 切記不要什麼東西都摸什麼都略懂略懂 最後到頭來人家只會覺得你沒辦個精的 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.19.49 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1414069895.A.D61.html

10/23 22:46, , 1F
推!
10/23 22:46, 1F

10/23 23:55, , 2F
講得真好 大推 看到大四有點晚抖了一下.......
10/23 23:55, 2F

10/24 01:17, , 3F
leetcode OJ, ACM OJ
10/24 01:17, 3F

10/24 02:05, , 4F
大四不算晚,不要等到工作好ㄧ陣子才覺醒...
10/24 02:05, 4F

10/24 03:13, , 5F
怎麼會晚呢 不嫌晚的!
10/24 03:13, 5F

10/24 03:14, , 6F
如果出社會工作後依然不怠惰學習 後發先至可期也
10/24 03:14, 6F

10/24 09:27, , 7F
台灣公司那邊說得很好 同感
10/24 09:27, 7F

10/24 10:02, , 8F
其實後來岳不群用出奪命連環三仙劍時就已經自打嘴巴
10/24 10:02, 8F

10/24 10:02, , 9F
10/24 10:02, 9F

10/24 10:04, , 10F
根本沒有什麼劍宗速成但有瓶頸這檔事,純粹是人不夠
10/24 10:04, 10F

10/24 10:04, , 11F
厲害劍招不夠強罷了XD
10/24 10:04, 11F

10/24 10:46, , 12F
大四根本不算晚, 除非你寫程式只打算寫到 3x 歲, 不然三
10/24 10:46, 12F

10/24 10:47, , 13F
年在職業生涯根本只是個零頭而已
10/24 10:47, 13F

10/24 16:47, , 14F
瞭ㄌㄧㄠˇ解 了ㄌㄧㄠˇ解 聊ㄌㄧㄠˊ解(x)
10/24 16:47, 14F

10/24 22:02, , 15F
推這篇 大四不晚 終身學習才是正解
10/24 22:02, 15F

10/26 00:15, , 16F
大四算晚的話那我這出社會3年才開始學寫程式的怎麼辦 XD
10/26 00:15, 16F
請不要誤會我講的不是學怎麼寫程式 我會說大四晚那是因為解題目通常需要想很多時間 有時候解比較有難度的題目一題可能就要兩三天 甚至要一個禮拜才能AC也不是不可能 一般人出社會光是學那些framework就已經學不完了 更別說回家還要繼續寫題目 基本上真的有這麼狂熱的人 大一進去甚至高中就已經在寫題目了 大四才來問這問題的人 我不太相信出社會後還能白天學工作上要用的語言 晚上想演算法解題目 你真的這麼狂熱也不會大四才來問這問題 我前面說了這種功力是細水長流累積下來的 大學四年是你有最多時間思考的階段 出來工作後雜事、俗事一堆 我相信一定也是有人出社會工作後繼續寫題目 但我也相信那也一定是屬於極少數的人 ※ 編輯: aoksc (118.160.30.175), 10/26/2014 00:54:40

10/28 08:57, , 17F
好文
10/28 08:57, 17F

10/28 23:30, , 18F
這麼說...我也去看看那些題目來朝聖一下好了
10/28 23:30, 18F

11/23 02:43, , 19F
11/23 02:43, 19F
文章代碼(AID): #1KIFw7rX (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1KIFw7rX (Soft_Job)