[心得] 110資工/網媒所考試心得
一、背景
交通大學電子工程學系應屆,系排70%左右。考科六科都修過,但是都是修電子/電機系
開的課程,整體來說強度跟考研有不少差距。
二、成績
我只有報兩校三所,雖然標題是資工所但我一間叫資工的都沒上XD
數學 資演 計系 英文 錄取 總分
台大網媒 X. 95 56 70 正2 158
台大電信丙 76 77.5 X. 68 正6 160.3
交大資聯 50 70 54 X 多工正取
好讀版
https://i.imgur.com/tGdf0rN.jpg
三、補習與否
討論到爛掉的問題,我覺得考資工所就是一場資訊戰,特別是針對台大資工每年虛無飄渺
的考題,你掌握的資源越多、知道要準備甚麼內容、查資料的能力越強,在這場考試中就
越有機會出線。而補習班的教材是可以用的,但我覺得要考台大資工只靠補習班其實不太
夠,且有太多例子證明不補習也可以成為高手。隨著近年來補習班的資源漸漸在網路上被
開源,有沒有補習也就沒有差很多了。重點還是你有沒有好好掌握、利用手中的資源,將
其效益最大化。
我自己的考量是因準備時間只有半年左右,需要讓各科快速進入狀況才下定決心去補。
若目標是台大且準備時間再長一些,我認為可以考慮不用補。
五、準備時辰
三下:
這個時候還在資訊蒐集的階段,就是翻翻往年的心得文,加上學校課蠻重的,只有一點點
進度:
修了113電機系的作業系統 (強度不夠,幫助不大)
看完一遍清大周志遠的作業系統OCW
7月中-9月中:
這個階段我給自己的目標是大致了解各科的大鋼。
由於很早就確定要考電信丙和網媒,所以我的離散是放推狀態。
這段時間基本上就是每天補習班報到,固定早上開始至少聽2節,回家後把當天的上課內容
全部理解完畢:
依序上完線代(全)、離散上冊、資結與計組
演算法我只有在學校聽台大陳縕儂的ADA和MIT演算法 OCW,OS沒上任何課程。
9月中-10月底:
補習結束,這個階段就是再把補習班的教材念過一遍:
念完線代、資結、計組、演算法第一遍,離散懶得念圖論只念1~5章
11月:
因為大家都說OS準備起來的CP值很低(實際的感想也是這樣),加上三下剛修完課還有微弱
印象,因此我便決定不補習,拖到這個時候才開始認真處理作業系統:
再看一遍周志遠OS OCW
看了ptt wjungle大的作業系統上課筆記,搭配恐龍本與台大薛智文教授出版的作業系統教
科書把OS掃過一遍
除離散外各科大致看過第二遍
12月:
開始刷考古/看CLRS、白算盤、恐龍本,實力從這個時期指數成長,
並針對演算法/硬體做更深入學習,補足補習班不強調的部分
離散念第二遍(一樣圖論以外的內容)
基本上一天至少會刷2份考卷
刷了:
台大電機丙 100~109 (資結、計系)
台大電信乙 101~109 (工數--線代部分)
交大資聯 103~109 (資演、計系)
MIT 演算法 期中期末
1月:
刷爆考古,每天默寫各科大綱/內容來鞏固已掌握的知識,且不斷找新題目做來訓練自己
的臨場反應,有時間的話攝取課外硬體知識以防台大計結的暗箭:
刷了:
台大電信丙 108、109 (資演、線代)
台大資工 100~109 (資演、計系)
清大資工 101~108 (計系)
104~109 (計科的軟體部分)
中央資工 103~109 (資演,我覺得題目不錯)
MIT演算法 期中期末
四、各科準備方法
資料結構: 補習班正課、筆記、台大電機顏嗣鈞教授投影片與期中期末、資工蔡欣穆教授
投影片、原文書
流程: 補習班正課、筆記
=> 顏嗣鈞教授投影片
=> 電機丙考古、顏嗣鈞教授的期中期末
=> CLRS(Hashing章節)、資工蔡欣穆教授投影片、Horowitz原文書
=> 刷各校考古、筆記默寫
若目標是台大資工的話補習班筆記大致上夠用,筆記內每個出現過的證明都要會證。
資工近年很愛考各種樹狀結構的樹高分析與數學歸納法證明,如RB tree、AVL Tree、各種
Heap、disjoint set的Height。我是搭配蔡欣穆教授投影片,把裡面出現過的全部證明搭
配Horowitz原文的敘述一起服用。此外Hashing的各種證明各校都很愛考,需要補上CLRS
的Hashing章節,把所有證明念起來。
然後我覺得補習班在高等樹那一章教的很奇怪@@,如binomial Heap、Fibnocci Heap兩者
差別定義不明確,2-3-4 Tree沒教Top-down、不強調2-3-4 Tree與紅黑樹的操作關聯性等
等,而這些都是近年電機丙/電信丙考爆的東西,因此要考這兩所的人可能需要一些特化訓
練。
為了應付電信丙/電機丙的特化題型,我是把顏嗣鈞教授的投影片當作主軸,再刷完他的期
中期末(都有解答,讚讚)
基本上近年的考題範圍都沒有超出這份投影片的內容,只是著墨深度的問題而已,因此可
以把這份投影片看成是必須研讀的大鋼再去做其他延伸,最後補上電機、電信丙的歷屆來
補足弱點。
重點是把各種Heap與Tree資料結構的操作與時間複雜度(Best\worst\amortized cost)記得
滾瓜爛熟,特別是2-3-4 Tree、紅黑樹的Top-down與Bottom-up的Insertion/Deletion都要
會。
總而言之,這科應該是所有考科內最簡單的,最難也就是考驗各個資料結構的證明,要跟
其他考生拉開差距的話,關鍵就是把所有投影片、筆記內的證明推的行雲流水。
-----------------------------------
演算法: 補習班講義、CLRS原文書、MIT 演算法OCW與期中期末、台大陳縕儂教授ADA OCW
、geeksforgeeks
流程:
陳縕儂ADA => 補習班講義刷3遍
=> 刷geeksforgeeks DP題目、部分考古
=> 讀CLRS、MIT 6.006\6.046挑章節看
=> 刷考古、MIT期中期末
特別感謝108網媒正一的心得文提供讀演算法的大方向。
https://reurl.cc/GdajnG
為何Dijkstra在無negative weight edge時才有greedy property?
正確性的哪一部分需要其edge為非負?
為何Kruskal可以greedy挑edge以得MST?
為何Prim’s algo 是對的?他跟Dijkstra的差異為何?
Maximum flow/minimum cut等價定理的證明?
其重點就是去理解每個演算法的正確性
知道”為什麼”他是對的,而不是只記每個演算法的運作結果。
這些都是補習班不太強調的內容,往往難題就只要改一下那些經典演算法就有解答,像台
大就考了好幾次類Dijkstra/Prim’s algo的題型,交大近年的考題也很愛拿演算法的正確
性開刀。
因此我認為讀CLRS是有其必要性的,像去年台大甚至出了probabilistic analysis、rand
omized quicksort的分析,沒看過原文幾乎不可能會。
當然CLRS這麼厚是不可能讀的完的,我會推薦考生先以補習班講義有的章節開始下手,特
別是將圖論演算法部分正確性證明徹底搞懂,之後可以再針對資結部分與考古題遇到的相
關章節鑽研。
至於原文書的題目我寫了amortized analysis、Hashing與NP-complete的題目,其他的話
要不要寫就見仁見智,我覺得可以直接刷MIT的期中期末做練習。
而我也認為Amortized Cost快重出江湖了,目前台大資工出過的2題amortized analysis都
是CLRS的習題,要準備這方面的話可以參考看看。
(題外話,我覺得總有一天會考Dynamic Table的手寫分析,在CLRS17.4)
而MIT的考題真的出的非常棒,練習他的期中期末真的可以幫助驗收你對這個演算法到底有
沒有徹底理解,刷到後來還會發現有題目484在某幾年台大資演裡出現過。
我自己時間不太夠,覺得念的蠻囫圇吞棗的,如果時間允許的話把所有年份的題目徹底理
解,台大軟體大概就穩了。
此外,近年的決勝關鍵大概就是NP-完全與reduction證明,台清交近4年都在這裡考爆,這
部分我算是有額外拉出來做準備。
流程:
陳縕儂ADA、補習班講義打基礎
=> 看MIT6.046的NP-Complete章節
=> CLRS題目、考古與網路資源整理成reduce map
這邊真的非常難唸,我大概花了一個多月才大略掌握住這個部分
這邊附上我自己的reduce map供參
(字很醜,只是讓想了解的人知道我在這部分念了什麼東西)
https://i.imgur.com/O4fDWQQ.jpg
我考前一個月每天都會花兩個小時把這個map全部證明推過一遍(結果今年考全單選= =)
(不負責任預測:
明年會考vertex-cover和independent-set的交互reduction,觀念性強且簡單好證)
總而言之,ALGO這科就是確保自己有徹底理解每個演算法為什麼是對的,並不斷找新題做
練習。
演算法的CP值沒有大家說得那麼低,甚至我認為這科是拉開差距的關鍵。
資源:
MIT期中期末(2011以前):
https://courses.csail.mit.edu/6.006/oldquizzes/
MIT期中期末(2020以前):
https://courses.csail.mit.edu/6.006/
NP筆記:
https://drive.google.com/file/d/1ShDDStfx24dZB0RgpQzSBFshYdA9zpTs/view?usp=sharing
-----------------------------------
計組計結:
補習班正課與課本、白算盤、清大資工周志遠平行程式設計OCW、CMU計結投影片、異質計
算原文書、交大電子劉志尉教授計算機結構投影片、計結原文書
這科讀完補習班的東西應該是基本中的基本,考台大的話需要針對平行化部分做更深入的
學習。
我先從白算盤開始精讀第六章(當然前面五章也有翻),到了GPU有點不知道在講三小後就不
斷跑去找資源念,後來翻到周志遠教授在這堂課的GPU、CUDA部分講得非常棒,清楚解釋了
GPU的內部構造與其現代的設計考量,此後我又找了CMU的計算機結構投影片介紹GPU那一段
唸起來。
隨後又看了一本我覺得非常棒的書:
heterogeneous computing hardware and software perspectives(異質計算)
這本書是台大資工系主任洪士灝教授在4.5月左右於FB推薦的電子書,那時候限時免費下載
我就立馬載了下來,結果拖到12月才看ㄏㄏ。
這本書深入淺出了電腦的發展與現代瓶頸、整個異質架構的種類、Design Principle等等
,其中不乏台大資工出過的考題(Arm big.LITTLE、Google TPU...)我自己覺得在看完前幾
章後,搭配白算盤第六章會有不一樣的體悟,而此時我對台大計結考古題很多都能講出一
個所以然。
這本書頁數不多卻都非常精華,我個人非常推薦,但這本書已經沒有限免了,我也不知道
現在網路還找不找得到,我直接放出來好像也會有版權問題,有興趣閱讀的人可能要另外
想辦法搞到他了。
在最後一個月刷了一些台大考古後我才意識到台大的考科好像真的叫"計算機結構",所以
想說還是應該要稍微了解計結的內容。
我拿了系上劉志尉教授的投影片快速看過,並稍微翻過計結的原文書,主要是把計結裡有
介紹到的平行化方法做一個大統整,很多白算盤和補習班課本念起來怪怪不舒服的地方在
這裡都有獲得解答。
此外,我有在這時候多去閱讀了一下這幾個月發生的硬體大事,因為台大往年常常會把當
年發生過的硬體事件直接放入考題,這部分也需要額外準備,我主要就是閱讀Apple M1的
設計架構與考量,並結合自己在計組/計結學過的知識加以解釋。
很多人會認為台大硬體難以準備,但我覺得只要有認真念過白算盤,考試的時候想辦法以
自身所學過的知識推論並加以包裝,其實都能拿到不錯的分數(今年除外)。
資源:
CMU計結投影片:
https://course.ece.cmu.edu/~ece740/f13/doku.php?id=schedule
周志遠平行程式設計:
https://ocw.nthu.edu.tw/ocw/index.php?page=course&cid=231
異質計算原文書:
https://www.amazon.com/Heterogeneous-Computing-Hardware-Software-Perspectives/dp/1450360971
劉志尉教授計結投影片:
http://twins.ee.nctu.edu.tw/courses/ca_20/lecture/
-----------------------------------
作業系統: ptt wjungle筆記、清大周志遠作業系統OCW、恐龍書、台大薛志文-作業系統
這科我覺得就真的是非本科的罩門,東西又多又雜,而台大考古題的可參考性又幾乎是0
我搭配前人的筆記與OCW學習,很囫圇吞棗的翻完恐龍書,最後看薛志文作業系統的分散式系統,最後效果其實沒有很好。
若是非本科的話不需要擺太多心力在這科上,把時間拿去念軟體跟計結的CP值會比較高。
-----------------------------------
數學:
我只有念線代放離散,加上很多心得文都有深入探討數學怎麼念,我就不贅述了。
主要是想推薦想考電信所的考生一本書:
Elementary Linear Algebra: A Matrix Approac
有興趣的話去比對109台大電信乙的工數和這本的是非題,根本8成一模一樣= =。
雖然不知道出電信乙工數的教授會不會出電信丙的線代,但這本書含有大量的T/F題型
我認為還是很值得一寫,我有不少觀念就在刷這本時被導正。
五、考題
我就針對台大資工/網媒來講:
我把軟體跟硬體刷了10年左右,很多人會直接放棄寫硬體的考古題
但我的想法是:要是連平常看到一張考卷都掰不出什麼東西,又要怎麼期待我能在考場上神
來一筆?因此我還是有演練台大硬體,其實就是練習把所有你學過的硬體知識掰進作答區就
對了。
台大很多考題看似詭異,其實只是在考驗你對硬體的design principle有沒有自己的想法
,若有確實經過理解並寫出個所以然,通常教授給分都很大方。
關於捉放某些章節
我的想法是台大去年線代考了Jordan Form、軟體考了Probabilistic Analysis已經可以說
明台大真的沒有什麼說不會考的了,哪年演算法再考一次Geometric Algorithm都不意外。
所以考台大的話絕對不能抱持著"這題應該不會考吧"的心態,最好是念到無死角。
誠如某張經典meme:
https://i.imgur.com/rt9Jul8.jpg
不過今年題目非常詭異
資演過份簡單,幾乎整份都是基本題,最後一題reduction有認真念過subset-sum相關證明
應該就推得出來,我沒念離散不會自動機,果斷放棄拿95分。
計系明顯換人出題,作業系統那種出題方式讓運氣成分增加不少,而計結部分回歸基本盤
,幾乎沒考平行化部分,外界傳言會入考題的M1晶片今年也沒出,搞得我念那麼多東西完
全沒優勢很像白癡XDDD
然而我認為可以把今年的出題風格當作特例,準備方向不要因為今年的風格大變而有所動
搖,平行化的部分還是非常重要、申論題還是要練、每年發生的硬體大事還是要持續關注
。今年網媒的決勝關鍵我認為是資演最後一題reduction和整個計結部分。
六、其他
<讀書會>
我沒有加任何讀書會和群組,身邊也只有幾個要考電子所的同學一起念,基本上遇到讀書
問題我都要想辦法自己解決和找答案。不過比起直接問人得到一個破碎的答案,我更享受
自己去找出答案的過程,我常常為了找出一個答案多閱讀了好幾篇文章/原文書章節,這也
在無形之中累積了不少東西,我覺得這才是學習真正的過程。不過要這樣做的話一定要有
會耗費極大心力與時間的心理準備。
<作息/娛樂>
我覺得不一定要逼迫自己早起,我就是那種早起會要我的命的人
念書這半年除了前期上補習班的課要很早起來以外
我大概都睡到10點~10點半左右,從早上11點念到晚上精神渾沌,有時候可能9點就念不下
去回宿舍打LOL,有時候爆氣直接唸到一點,總之就是掌握自己的節奏就好,不需要強迫自
己跟別人一樣。此外,休閒娛樂需要減少但不要完全剃除,這半年我幾乎念完回宿舍都會
打個幾場Aram,LOL世界賽/Among us實況我也沒少追,反正每天能專注的時間就是這樣,
考試又那麼辛苦,讀書以外的時間就盡力耍廢就對了。
<當天考試>
不要滑ptt/Dcard
當天中午硬體考完就有暗黑仔在動作了
印象很深是在ptt有人考完就說"今年台大資工平均沒80甭想上榜/晚點用數學虐大家"這種
垃圾話,當時是覺得我計系沒有考得很好,中午吃飯看完這些話就覺得台大應該涼了,心
態直接炸裂。還好我是考網媒,如果是考資工我大概數學就爆了。
七、後記
考研的最大難關就是心態,我自己是蠻容易唸到心態炸裂的
看著身邊的人每個推甄就上榜,我還在念一堆虛無縹緲的書,沒幾個人轉來念資工,也不
知道結果會不會是好的而這半年念書之餘又發生不少鳥事要我分神處理(錢包證件不見、行
車糾紛鬧到警局、書放在24K被偷...etc),考台大前一天身體還出狀況跑去急診,考試那
兩天我都吃止痛藥/打止痛針度過,考研的壓力伴隨著一堆小事不斷接踵而來真的會讓人崩
潰,有段時間真的壓力大到很想跳竹湖= =
因此找到自己排解壓力的方式真的非常重要,
我是沒有女朋友可以吐苦水。
平常除了跟戰友講幹話,我更常一個人晚上跑去交大後草原的步道(我不知道那裏的名字..
排球場籃球場後面那邊)聽音樂走個一、二個小時,補血完成後就繼續回來讀。
我覺得我的歷程可複製性並不是很高,打這篇的用意除了想整理這半年做過的事與心境,
更希望的是能分享一些除了補習班以外的資源與真實的準備心路歷程,畢竟板上也很多補
習相關心得了,我再打也不會差太多。
八、感謝
感謝電工系K三少這半年的陪伴,謝謝你們在最後一個月我錢包不見時借我錢吃飯= =
感謝爸媽在我考台大前一天身體出狀況時帶我去急診
感謝阿絜每天的睡前嘴砲、在考試前半個月百忙之中陪我去處理交通糾紛
感謝Gavin每天晚上跟我互傳垃圾話紓壓,沒想到還跟鬼一樣申請上CMU
感謝每個幫我加油的人
沒有大家的幫助我根本無法走進考場考試
(各種層面上)。
最後也打氣一下,時間絕對不夠讓你精通各科,但時間也絕對沒有少到無法做好準備,不
要被每年5%的錄取率嚇到了,做好準備的人真的沒那麼多。
半年真的可以做很多事!!!!!!
-----
Sent from JPTT on my iPhone
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.172.198 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/graduate/M.1617943589.A.02D.html
留言