# 113 年文組跨考資工所 台清交正取/央榜首兼找教授心得 考研一路上受過網路上各路人馬的恩惠太多,上岸後希望自己的經歷分享能幫助到跟我有類似背景,或是跟我當初有一樣憂慮的人。 ### 目錄 一、背景 二、成績 三、規劃 四、科目 五、其他建議 六、找教授 七、雜項心得 ## 一、背景 112 管院延畢生,大二開始碰一些數據分析跟 ML/DL 相關的課程,大四下從國外交換回來後,覺得自己的能力果然比較適合資工,因此下定決心轉換跑道。當時有還不錯的 python 跟 C 的基礎,不過也僅止於此,關於資料結構、演算法根本毫無概念,更不用說 OS / 硬體知識。 高中的時候是二類組的,數學底子還不錯,可能是小小的優勢,不過讀管院期間就算有數學相關的課程也真的很水,等到大四時其實已經很生疏了。 其實在出國交換前就已經決定回國後要開始準備資工所的考試了,作為一個跨考生大概清楚自己沒有補習班幫忙的話大概會完蛋,所以一回國後(當時一月)就著光速報了補習班,開啟為期一年的考試之旅:) ## 二、成績 | 系所 | 軟體 | 硬體 | 數學 | 英文 | 加權總分 | 名次 | 最低正取 | 報名人數 | 錄取率 | | --- | --- | ---- | --- | --- | ------- | --- | ------- | ------ | ----- | | 台大資工 | 37 | 41 | 75 | 82 | 161.2 | 正 55 | 159.6 | 1,684 | 3.56% | | 交大資聯 | 49 | 49 | 55 | - | 202.0 | (資甲)正取 | ? | 2,448 | (資甲)2.2% | | 清大資工 | 60 | 64 | 90 | - | 214.0 | 正取 | 167.0 | 1,398 | 4.36% | | 中央資工 | 70 | 79 | 79 | - | 228.0 | 正 1 | 182.0 | 2,340 | 1.88% | 台大非常驚險的以 1.6 分的差距滑進正取(在這 1.6 分內居然有 6 個考生競爭真的是很激烈),再多錯任何一題大概就要離台大而去了。 另外其實我蠻意外中央可以正取 1 的,考完聽大家說今年中央考比較簡單,我還覺得是不是完蛋了我寫起來沒有很從容欸QQ ## 三、規劃 當然每個人都有適合自己的讀書步調,這些都參考看看就可以了:)我總共花了一年的時間準備考試,其中 - 「上半年」指的是「一月~六月」 - 「下半年」指的是「七月~隔年一月」 ### 修課 在備考的同時,我還修了一堆資工大學部的必修課,原因一方面是因為本校有事後輔系的核可制度,只要修滿資工系的 24 的專業必修學分,就可以在畢業時申請輔系;另一方面果然還是出於跨考生的自覺,我不希望自己就算考進資工所後,卻是個只會考試但沒底子的人...**如果已經下決心要轉換領域了,就要做一個紮紮實實的資工人啊!** 底下是我在一年來修過的資工必修課(**粗體**是與考科直接相關的): - **上半年** - **資料結構與演算法** - 機率 - 人工智慧導論 - **計算機結構** - **下半年** - **線性代數** - 自動機與形式語言 - **演算法設計與分析** - 計算機網路 這八門課剛好湊齊 24 學分,再加上現在這學期修了兩門:作業系統跟計網實驗,總共 29 學分,基本上已經幾乎修完大學部的必修課了。資工的每一堂課都很多人想修,作為一個管院的外系生,要加簽到這些課其實沒有很容易呀QQ 回過頭來,這裡想分享一下我覺得邊備考邊修課的好壞處: - **好處** - 直接的好處是,如果修的課剛好就是考試科目,課程內容與補習內容互相呼應,加強印象;如果不是考試科目,其實多少都會沾上一些關係,對考試科目的某些觀念理解上是有幫助的 - 未來進 lab 可以不用再去補學分,而且在上榜後找教授時有證據說明自己有足夠的知識背景,這點對於找到好教授十分關鍵 - 如果(推測)這堂課的老師剛好是那科的出題老師,可以比較容易猜到出題重點 - **壞處** - 直接的壞處當然就是讀書時間會被壓縮,尤其資工的必修課通常都蠻硬的 準備研究所考試,**競爭的重點首重讀書效率、接著是看準備的方向對不對、再來就是比誰擁有的準備時間多**,我覺得自己的讀書效率還算不錯,所以邊讀書邊修課承擔的風險相對低一些,現在考完回頭檢視也覺得效果是挺不錯的,所以個人推薦給覺得自己讀書效率還算高的考生們。 ### 讀書規劃 我相信與其花時間去做精美又鉅細靡遺的讀書計畫,拿這些時間去多算幾題 Jordan Form 還比較值得 XD。所以我的做法是邊讀邊抓大概的讀書進度,依讀完的熟練程度動態分配要多給或少給某科的讀書時間。這是我回顧這一年來實際的讀書進度: - **上半年**:這是我剛開始接觸資工領域知識的時期,什麼都還不懂的同時,生活被四門資工課跟補習進度砸爛,基本上沒有自己的讀書時間:) - **下半年**: - **暑假期間**:把上半年的補習科目(資結、計結跟線代)從頭啃到尾巴。同時補習班在上另外三科(演算法、OS、離散),然後有打工賺點零用錢。 - **學期間 I(9-10 月中)**:邊上課、邊啃演算法、OS、離散。 - **學期間 II(10 月中-12 月底)**:也是上課,同時再回頭啃一遍資結、計結跟線代後,又回頭啃一遍演算法、OS、離散。 - **一月**:成為無情的考古題機器。「寫考古 -> 對答案 -> 檢討 -> 開始盤算自己到底會不會上」持續迴圈一個月直到考前。 上半年我覺得真的是不太 OK 的讀書方式,我強烈地建議考生**如果有補習的話,真的要安排時間在課後去稍微複習一下老師講了什麼,** 不然依我的經驗就是左耳進右耳出,然後時間就過去了,只能靠上課的筆記去勉強回憶。 如果算上學校上課跟補習,我每一科總共都讀過了四遍,個人覺得四遍已經很夠了,如果你也讀到第四遍了,我會建議你開始去針對目標系所微調每一科的準備方向(可參考下方關於每科的建議)。 ## 四、科目 一樣,底下都是我個人的感悟,相關建議要不要採納請自行斟酌 XD。 ### 數學 大家應該很早期就會聽到數學是拿分關鍵的說法,實際上我也覺得確實如此,滑上去看成績就知道我基本上都是靠數學在撐的 XD。 #### - 線性代數 書籍主要以補習班講義為主、台大呂學一教授的上課講義作為補充材料。 這科是我學的最好的一科,因為每一章節前後非常連貫,所以如果觀念沒有理解夠透徹,學到最後會始終有一知半解的感覺;但如果能領悟到精隨,就會突然有醍醐灌頂的效果 XD。像是最後一章的 SVD,就會有一種把前面一到七章累積的東西全都給用上了的感覺,其實挺感動的(?) **清大**今年第一次考線代,顯然老師還不太會拿捏難度,考的非常的簡單,我記得光是會算高斯消去法就可以回答大概五題。 **交大**今年線代題目數字十分醜陋,雖然題目本身不算難,但太難算而算不出來的感覺十分嘔氣...這邊同時給一個誠摯的建議,就是**平常練習考古題時如果有要求計算過程,就乖乖拿張白紙當答案紙,模擬自己在考場上要寫出甚麼計算過程來**,否則就會跟我一樣平常疏於練習,實際考試時花太多時間在寫過程,導致題目寫不完:) **中央**的線代沒有什麼特別的印象,不過記得中央如果考 QR 分解,就是預設矩陣行獨立。雖然大家都知道行不獨立一樣可以 QR 分解,但中央似乎就是覺得只有行獨立矩陣的 QR 分解才叫 QR 分解。 **台大**的線代題通常都是之前不會看過的,需要想一下的題目,這時候觀念理解透徹就很重要。基本上只要觀念摸的夠熟、定理如數家珍,就不用太擔心。 #### - 離散數學 書籍主要也是以補習班講義為主、台大陳健輝教授的講義作為複習材料。 跟線代相反,離散的各章真的很離散,前後通常沒什麼關聯,從數論講到排組、遞迴講到生成函數、圖論講到代數結構,又講到自動狀態機,包山包海。不過我覺得挺好的是,**讀完圖論跟樹兩章後作為先備知識,再去讀圖論演算法(跟資結關於圖的部分),有蠻不錯的效果。** **清大**今年離散難了一些(跟他有開放的考古題那幾年相比),比較有印象的是其中一題是很機車的模除問題要搭配中國餘式定理解,剛好有在考前一晚隨意瀏覽交大早年考古題時練習到;最後一題出了 context-free grammer 推論法則的題目,是蠻罕見的主題,但也幸好我有修過自動機。 **交大**今年離散可能也算難,但有幾題是有在考古題見過面的,所以相對來說比較還好。今年第一題關於女護士的邏輯小遊戲基本上有點像智商測驗,然後今年也又出了一次用邏輯符號表達哥德巴赫猜想[[維基百科](https://zh.wikipedia.org/zh-tw/%E5%93%A5%E5%BE%B7%E5%B7%B4%E8%B5%AB%E7%8C%9C%E6%83%B3)]的題目,但終於有貼心地在考卷上說明這個猜想是什麼哈哈(不然誰知道QQ) **中央**的離散也沒什麼特別印象,但我覺得計算量不輸交大,作為考古練習挺不錯。 **台大**的離散每年都很簡單,有讀有分數,重點應該要放在計算不要粗心,把考試時間留給線代。可能需要注意的是會考代數結構,但通常也沒有太難。 ### 軟體 軟體科目由資結與演算法組成,但基本上學演算法時是離不開資結的。比較麻煩的是有些東西在資結與演算法的課本講法是不一樣的,這就非常討厭,比如說 Fibonacci Heap 的各種操作時間複雜度。關於 Fibonacci Heap 的分歧我有在 ptt 上看到一個神人整理出來的整理,這裡附給大家參考[連結](https://www.ptt.cc/bbs/Grad-ProbAsk/M.1549085126.A.609.html)。 #### - 資料結構 一樣以補習班講義為主、wjungle大大的筆記、以及台大林軒田與蔡欣穆教授合開的 DSA 課程講義為輔。 資結應該是公認最好準備的科目,不過這不代表不需要花時間在資結上,因為一些瑣碎但曾經考過的東西實在是很難防,比如說冷門樹的操作,我看幾次忘幾次。另外,個人建議資結一些跟演算法重疊到的內容,就直接讀演算法就可以了,那邊講得比較詳細。 #### - 演算法 一樣以補習班講義、wjungle大大的筆記為主、偶爾查閱一下 CLRS 演算法可能算是我的罩門,尤其如果是考正確性證明、或 problem reduction 我寫對的把握可能只有一半一半甚至不到。通常如果出題老師稍微用點心,考試上看到的演算法題目很有可能會是沒看過的題目,我個人的經驗是,如果看完題目後的第一瞬間沒有想法,那之後想再久都想不出來,**這時候平常累積的基礎(課本上有寫的經典演算法、常見題型)就會成為你通靈出考題答案的關鍵,** 因為通常都是經典的問題再做延伸而已,實際看到解答後通常都會覺得自己應該要想到的啊 XD。 之前看到有人說演算法的重點在讀懂正確性的證明,但可能我比較沒有慧根,就算花大把時間讀懂了正確性的證明(光是讀懂就燒壞腦袋了),好像也沒有什麼特別的領悟QQ **清大**今年的軟體中規中矩(可能歷年都如此?),但 P-NP 相關的題目特別多,有一面的選擇題全都是 P-NP 理論的題目,而且考的挺細的。 **交大**今年軟體不簡單,有一些些基本題,剩下的就是看造化了,我是寫不完啦QQ **中央**感覺今年題型有比歷屆考古題要活一點(真不像中央)。 **台大**今年就是滅國式的大刀了,題目非常精彩,我也完全招架不住,只考了 37 分,就算是 108 交大資演那種惡魔我也至少有 40 幾。最後一題手寫考了從沒考過的 linear programming,但我光要寫完前面選擇題就有困難了:) ### 硬體 計組跟 OS 彼此間息息相關,同時也是我覺得作為資工系的學生最應該要熟悉的內容(但我目前也還在努力),畢竟要成為一個與電腦天天為伍的人,就不能不瞭解電腦。 #### - 計算機組織 依然以補習班講義與 wjungle 大大的筆記為主,白算盤則是挑選了一些章節來讀。 計組其實不是很新手-friendly,當初我決定轉資工後第一堂課就是上計組,assembly 差點沒把我嚇退,不過熟悉內容之後就會開始感受到計組有別於其他五科,有著稍微不同的風格。計組跟作業系統都是很底層的東西,學起來會有種正在觸碰真理的感覺,越來越能了解你眼前的電腦是怎麼運作的。 Pipeline 跟 Memory (通常)是整個計組考最重的環節,但是近年來的考試越來越不喜歡出這些傳統考試愛考的主題。比如說**台大**的計組考試一直以來都很謎(但其實出的很好),不會出那種考古題上可能出現的題目,而是希望你有足夠的「計組素養」。如果有以台大為目標,課本基礎讀到一定程度後,**建議可以多關注一些「課本上不會有的內容」,比如說新上市的 CPU、GPU 或是更新的硬體科技報導,或是看到一些不懂的電腦詞彙,就隨意翻翻維基百科上的解釋。** **交大**今年出了挺過分的 x86 題,也開始跟台大一樣不按理出牌,已經越來越不是那種認真讀書就會有分數的考試。話說今年出了兩還三題第二章加法器跟乘法器的題目,我本來就有點半放掉那邊的章節了居然給我通通考出來QQ。 **清大**一如既往地中規中矩,而**中央**也是一如既往的考古到不行,整份考卷大概一半以上的題目都看過了。 #### - 作業系統 我依然以補習班講義與 wjungle 大大筆記為主、恐龍本則是挑了專門(資安、分散式系統、Case Study)的章節來讀。 有從頭到尾看一遍清大周志遠教授的 OCW,我覺得講得相當好。[link](https://ocw.nthu.edu.tw/ocw/index.php?page=course&cid=141) OS 跟計組之間的觀念相輔相成,有了一科的知識另一科的學習就會更有效率,如果要我選的話,我個人覺得先讀計組,再讀 OS 的效果比較好,畢竟 kernel 就是架在硬體上運行的,由下而上的 bottom-up approach 我覺得觀念比較順。 話雖如此,OS 可以考的東西也是無遠弗屆,基本上所有 OS 有用到的技術都可以成為題目,同時**台大**跟**交大**也很喜歡出系統程式相關的題目,對跨考生而言 linux 雖然有用過但實在不算熟悉QQ 如果有時間的話,我會推薦去找機會跟 linux 相處(安裝 VM 大概是最方便的做法),畢竟就算考上了你八成還是逃不掉要熟悉 linux 的。 比較需要提醒的是交大會考資安,中央會考網路,台大以前會考分散式系統(近期似乎比較沒有?),可以根據自己的目標稍微讀一下恐龍本後面的對應章節。 ## 五、其他建議 考試期間我有一些觀察,這裡想提出來跟大家分享討論。 1. **在討論群裡回答問題** 我覺得這件事帶來的好處比大多數人想的都還要多,自己在回答別人問題的同時,因為會怕答錯尷尬,所以送出之前都會再三確認自己的觀念有沒有錯,無形間形成了很好的複習機制,印象也會很深刻,我在第一次回答別人之後就發現了。 2. **需要戒社交軟體 & 遊戲?** 還是一樣老話一句,大家各有適合自己的方法,不過就我而言,我是完全沒在限制這些消遣的,不如說因為這段期間非常需要休閒活動來紓壓,知道對自己而言有那些紓壓方式特別有效,我覺得反而更重要。就像前面提到,重點在於讀書效率,只要自己覺得消遣沒有佔據到讀書時間,我覺得就沒有關係。沒在讀書的時間除了吃飯睡覺外,我大概只會做三件事:打羽球、玩原O(好宅)、追動漫(更宅)。 3. **掌握基本題,就有台清交?** 這是坊間流傳的一句箴言,事實上我看過版上有人稍微計算過,如果把「基本題」定義的合宜,其實清交確實如此,但台大可能需要一點緣分。但每個人對基本題的理解實在是差太多,所以我其實更相信另一句話:**「只要你有一定的毅力與覺悟,至少不用怕沒學校念。」** 4. **關於考古題** 我非常精準地留了一個月來練考古,從 1/1 元旦開始寫,直到 2/1 清大考試,每天都寫台清交其中一間一年的考古題,一個月的時間其實偏少,並不是因為我覺得一個月足夠練好手感,而是期末真的太忙所以從一個半月縮減成一個月 XD,但也因此這一個月我每天都很認真寫。 但話說回來,**這裡也想勸戒之後的考生不要太依賴考古題**,其中一個理由你可能因為考古題錯判趨勢(比如我觀察近兩年台大軟硬體都變簡單,就有點朝著不對的方向準備),另一個理由是現在資工所考試人數真的太多人了,教授開始不想讓只會狂刷考古題的人拿高分,所以出題開始變得不照著課本出傳統的考題,而是把題目設計成讓那些真的對電腦科學有 sense 的人才答得出來。也因此我上面才會推薦大家去多修資工系的課,讓自己更接近本科生一點,培養自己在這方面的 sense。 5. **關於原文書** 我自己推薦去讀計組、OS跟演算法的原文書。台大蠻常直接把 CLRS 的定理搬出來當考題(就算是寫在課本上定理直接考出來,一樣是難題);計組因為有太多神奇的硬體技術本來在原文書上就寫得比較簡略了,各路參考書翻譯後又寫得更精簡,導致那些主題根本有看沒有懂,所以推薦讀原文書;OS 的話就是推薦後面依需求選讀的章節。原文書用的詞不會到太艱澀,邊讀邊查單字是一定讀得懂的,但畢竟重點不會像參考書以條列式呈現,原文書都是藏在段落文字中,閱讀起來是比較耗時的。 6. **考試當天** 這裡只是想提醒看到的人,**如果需要住宿,真的簡章公布那天就要訂房間**;然後考試當天路上絕對給你塞爆,尤其清交跟中央,你能提早多少出發就提早多少。考中央那天我要不是剛好遇到路上有其他人在揪團搭計程車,又超剛好在路上攔到一台空車,根本沒辦法準時到考場,因為計程車跟本叫不到,公車也超小台塞不下。講誇張一點,能否抵達考試場地真的有點變成測試內容,~~儼然有一種獵人試驗的既視感 XD~~ 7. **一些考題爭議** \[4/9 更新\] 準備到後期應該就會發現,各科之間會有明明在講同個觀念,但內容彼此互相牴觸的情形,這真的非常討厭,因為考在同一張考卷裡就不知道哪種回答才是對的,例子有一堆,如上面講的 Fib. Heap & Binomial Heap 時間複雜度(DS <-> Algo)、root level 是 0 還是 1 (DS <-> Algo)、RAID 3 還多少能不能平行讀寫(OS <-> CA)、Availablity 跟 Reliability 有沒有區別(OS <-> CA)、Complete Tree 定義(DM <-> DS)等等不勝枚舉。同時每年考古題都會有很多爭議(尤其交大),答案非常詭異,申訴後還硬拗不改答案,也是很容易寫到生氣。 這種時候我會勸大家放寬心,這些瑣碎的考試煩惱在你考完後會覺得根本就是些芝麻爛事,雖然你確實可能會因為這些爛爭議失去一些分數,但通常這種狀況不會影響你會不會上某一間學校,而且所有考生也都面臨跟你一樣的困境,不用太在意,把精神專注在提升自己的基礎實力才是重要的。 ## 六、找教授 在考場上廝殺完,接著找教授又會是另一場廝殺,你**必須**在放榜後的一兩天內寄信開始跟教授約面談時間,如果你等你想到的時候再寄,除非你真的有被某種神祕力量保佑,否則就是準備被雷兩年以上。 ### 寄信 113 年的放榜日程是這樣:清、交、央在 3/1 同時放榜,台大則是在 3/8 放榜,我那時因為覺得自己大概跟台大無緣,所以清交一放榜我就用力寄信。記得一定要附 CV 跟大學成績單,這是基本。**教授很忙,你的目標是讓教授能有效率地了解你,除非你超屌躺著都有人要你,否則你有義務提供關於你的背景給教授參考。** 我面談一位交大教授時,從他投影出來的螢幕上看到他的 gmail 有八萬多封未讀信件,這不包含促銷內容或社交網路分類的信,主收件匣就是有 80,000 封以上未讀。教授就是這麼忙。 我聽說跨考生很難約到教授,所以我寄的特多,信件內文還算寫得有誠意。以下提供我的數據參考: - **清交合計**:我寄了大約 15 位教授,其中 10 位有回覆,1 位回覆已滿、1 位回覆要我跟實驗室學長姊談過後有興趣再去找他、其餘 8 位有約到第一波面談。我雖然在信中提到希望以線上為主,但大部分教授都會還是請你到系館一趟,我就這樣連續三天台北新竹折返跑。 - **台大**:我寄了 10 位教授,其中 7 位有回覆都有讓我面談。 噢另外,記得寄信是寄給教授,不是寄給實驗室,不要跟我一樣耍笨搞混。交大有些教授的個人網頁上還留著 nctu 結尾的 email,這個 email 是寄不出去的,記得要找 nycu 結尾的 email。 ### 面談 我的理解是,通常第一輪面談教授只是會把有興趣的學生聚在一起,然後開始講解實驗室研究方向,順便讓大家問問題,所以這時不太會篩人,並通常會說有興趣的學生,再寄信跟教授約第二波面談。熱門的教授此時是會約到 10~20 個學生來面談的。 第二波面談才是教授選人的環節,不同教授有不同的方式,有人有出小測驗、有人會針對履歷提問,這邊的準備方式,除了基本的自我介紹之外,建議熟悉一下自己在履歷上提到的專案/專題各種細節,還有多準備一些問題問教授(該問什麼網路上應該都查得到),展現你對他實驗室的興趣。也一樣建議第一波面談完有興趣就趕快約第二次面談,晚人一步是非常吃虧的。 **如果你也一樣是商管院的學生,「比較會面試」可能是少數相較資工本科生來得有優勢的地方,要好好把握!** 教授通常都會覺得本科生的表達能力訓練太少,這時候商管學生就是該拿出平常被報告跟面試轟炸出的軟實力的時候了:) ## 七、雜項心情 轉資工是很重大的人生抉擇,跨考生既然決定跨考,想必一定有屬於你的理由。我曾經聽過一些學長在入職後透過自學、寫 side project 成功轉職工程師的故事,這些故事都給了我一些勇氣,讓我覺得自己既然還在學,就更沒有理由不追求真正適合自己的領域,與其就這樣從不適合自己的大學科系畢業,我更應該咬著牙衝一把。 我做了這決定其實是很任性的,補習花錢、因為延畢得在外租房子而更燒錢,明明畢業後就應該趕快工作賺錢了,現在反倒成為花家裡錢的罪魁禍首,全因為我「覺得」自己想走資工。我爸看每年資工所報考人數多得嚇人,就覺得我個文組仔大概是考不到,心裡雖然是這麼想的但還是願意出錢讓我闖一闖,我真的是非常發自內心地的感謝。但我也因此無形中背負了這些期待,再加上在決定轉換跑道後,生活與日常接觸的事物與朋友們的交集漸漸地變少,周遭的人大概不會太理解你正在面對的事物,壓力值也會隨之膨脹。只能說還好我足夠幸運,否則我無法想像在另一個平行時空中我如果都落榜了,我會怎麼看待自己。 另外,其實我在大三時有嘗試雙主修資管系,但那時候沒成功,估計是因為讀書計畫寫得太像資工 XD,現在我反倒感謝那時的審查教授沒有讓我讀資管,因為那可能又要開啟另一條麻煩的人生故事。 一路上收到非常多的幫助跟鼓勵,我也十分能理解作為考生(尤其跨考)的痛苦,接下來的考生因為考生人數逐年增加,大概也不會更輕鬆。所以我很希望自己能幫助到有需要的人,如果需要,有什麼問題想討論的也都歡迎來私訊連繫,我很樂意提供我的觀點。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up