半路出家申請國內資工研究所
申請交大資工丙正取、台大網媒備取的歷程與省思
文章移至新個人網站:
終於都放榜了,所以可以來寫心得。如副標題,推甄上108學年度交大資工所丙組,然後台大網媒所只有備取 10。
我承認標題與某專頁有點似曾相似(半路出家的軟體工程師:咦?),內容也有點老生常談,不過還是不寫不快,所以決定來分享一下整個過程。
動機
本來沒有想要念研究所的,直到今年暑假去 CloudMosa 實習的經驗,讓我深深覺得自己程度不足,而且是資訊工程方面上的基礎學問,讓我決心要念研究所,希望能盡量把沒機會學的都學會。關於 CloudMosa 的經歷可以參考一下這篇。
一個軟體工程師如果只會寫程式,那就是碼農,說穿了就只是會寫程式的高級勞工罷了。我當然不甘心當個碼農,希望成為有價值的工程師,所以知識學問和研發創新的能力固然少不了。
念研究所只是一種訓練自己成為有價值的工程師的途徑之一,厲害的傢伙可以只有學士,甚至不需要大學畢業,一樣可以培養出一樣出色的能力,但我自認不是那種料。我大學不是資工系,程式知識幾乎都自學,但資工系的課幾乎都沒修,因為光應付生機系必修就飽了,而且我花太多時間跑去業界實習。
我認為透過就讀研究所,把原本該培養的資工底子練成應該是最好的方法。對我而言念研究所是補齊學問的手段。若是我大學就念資工系,那麼我今天說不定就不會想念研究所了。我認為動機很重要,若是只是想刷學歷,那樣真的念的沒意思。
申請
我大學成績不好,因為都在自己寫程式,系上機械相關的必修基本上擺爛。所以最後推甄時的排名是台大生機系 46%。
我的強項是實作能力、開源經驗、業界工作經驗。恰好交大資工和清大資工有專門收實務專長的學生的組別,所以打從想申請研究所就是我鎖定的目標。
本來想要清交都投,但我在真的報名的時候覺得很麻煩,想說反正都一樣,就挑了有好朋友在的交大資工所(其實還因為清大要繳的東西太麻煩)。另外還投了台大網媒所,因為我聽說網媒所比較不看成績。
以下這篇當初給我滿多參考,我的準備資料大致上也是模仿他。
這邊就有樣學樣,也貼上我的備審資料吧!
自傳最多三頁,這些內容其實我能壓縮在一頁(清大規定一頁,不過後來沒用上)。台大資工跟交大資工的報名系統都會叫你寫一堆經歷,而那些經歷其實又會寫在自傳上,所以滿多重疊的,基本上我的作法就是把我在自傳上寫的東西直接拷貝在報名系統上。
再來是讀書計畫,一樣的情況,本來打算投清大的,清大規定要用英文寫(但他自傳卻規定用中文?),然後看了一下台大跟交大,都沒特別規定語言,所以就直接用英文交了。
英文我沒找人修飾過,所以可能文法錯誤連篇 XD
自傳跟讀書計畫都有給專題指導教授洪士灝老師幫忙審查過。第一次給老師看之前其實已經給朋友看過,沒想到老師審查的時候還是被砲轟 XD 。像是公司做過的產品不解釋別人不會知道,我原本想說審查老師應該會去查,但後來想想即使我附上連結審查教授大概也不會去點,所以不管是公司還是產品都有簡單的描述(不過台達電夠有名,就沒介紹了)。此外就是一些小細節,例如稍微提一下應用到的技術細節、除了寫工作期間還要註明是每週幾天、多放一些 reference,即使教授沒去看也夠有樣子。
面試
我從來沒去過交大,面試當天是學姊在客運站帶我去搭交通車,然後帶我走到系館和介紹交大環境。我能體會以前別人出國有同鄉來接機的那種溫馨感,自己跑去一個陌生的地方還有人陪伴,真的非常開心!
交大資工丙組有 10 個名額,有 4 個因為審查成績優異所以直接過,然後我是要面試的那個。我想不透我的審查資料為啥很低分,不過我猜大概也是成績作祟吧,畢竟我成績真有夠爛。
雖然叫做面試,但其實也有筆試,美其名性向測驗。筆試很誇張,共九題,前面五題似乎都跟機器學習有關,像是問 RNN 與 CNN 差異與應用情境、強化學習的 Agent 怎麼訓練,然後一題考數位電路、一題要你分享開源經驗和分析版本管理工具、一題考什麼是 socket 和要怎麼用、一題演算法(兩個有序非嚴格遞增數列 A 和 B,在 O(lg N) 找出 A + B 合併後序列中的中位數)我真的覺得機器學習考太多,畢竟這不是數據科學或人工智慧所。
面試只有 7 分鐘,自我介紹我大約講一分鐘,講的內容其實就是自傳內容,全部唸過一次大約就這麼久。我有著重在我貢獻 Mozilla/Servo 方面,畢竟貢獻算多,加上還拿到協作者的身份,夠講好幾分鐘。教授有問我貢獻了哪些,所以解釋開發瀏覽器的一些細節。「以後想做什麼?」「軟體工程師。」「會寫哪些語言?」「最擅長 JS,但其他也都會寫」最後我提到我開發的 WxKitty ,最後有教授問我那你有用到什麼 AI 嗎?在雲朵辨識上我有用到,其實文字回應我也可以吹牛一下,只是當時有點緊張,不然就隨便繞幾個術語像是 sequence to sequence 之類的。過程中我有提到我大一是大氣系的,WxKitty 也是一個很大氣的專案,七分鐘到離開之後,我在門口還可以聽到教授他們很在討論說是一個喜歡大氣的學生。
不過這次面試的負責教授到底有多愛 AI,考卷跟面試都要問一下 XD
而且好像大家都很喜歡問你會不會寫某種語言,但其實語言只是工具,真正厲害的軟體工程師精通各種語言,視情況需要可以隨時切換,所以我真的認為問人家會不會寫 python 很沒意義。
總之面試算是滿輕鬆的,就是聊聊你說出的東西,也沒有太針對技術細節作為難,不過 7 分鐘有點趕,我前一個學生似乎沒講完,我也沒講完。
推甄結果
交大資工丙
最後我面試分數是 92,被審資料 79,應該是靠面試拉分錄取的。至於為什麼面試分數高,這我也不清楚,畢竟書面資料和面試的東西基本上一樣。
台大網媒
網媒所只要交備審資料,內容跟我丟交大一樣。相較於臺大資工所,網媒所已經比較不看成績,但就我申請的結論而言,成績還是最重要,即使我認為我的經歷已經算豐富了。
交大比較早放榜,其實看到交大的書面分數這麼低,就覺得台大沒希望了,連擺明說要收實務專長的交大分數都給這麼低(這樣說其實不太對,因為我不知道平均和標準差,但我假設高分是 90s),申請唯有成績高的台大基本上絕對會更慘。
總結來說,國內的申請結果算是在意料之內,也驗證了自己的懷疑。交大資工丙丁戊和清大資工乙組應該真的不只看成績,畢竟我申請上了。而我原本抱著一絲期待,是否能靠其他表現突破成績限制,看來我的表現還是太差,所以只看成績的台大不予錄取,但是若是 ACM 第一名或是在 IEEE 發表論文,我想又是另當別論。
結論
在國內申請研究所真的還是成績為重,推甄到底還是成績單上的遊戲,不過好險清大、交大、中央資工都有開設特別的組,專收像我這樣半路出家的資工人。打從一開始我就只考慮申請,畢竟從小考試,連研究所也要用考的,實在非常累人,能幸運申請到學校是最好的結果。
一路上受到許多人幫忙與賞賜,讓我不對累績經驗和成長。感謝林博雄教授找我去大氣系寫軟體,開始了資工練等之路。感謝王可言博士給了我第一份實習工作。感謝沈修平博士給我機會實習見識到超強的工程師水準。謝謝洪士灝教授專題指導和協助。謝謝許多工程師與我互相切磋。
希望這篇能幫到未來一樣想申請資工所的人,祝大家在追逐資工夢的路上一路順風!
如果你覺得這篇文章對你有幫助,請幫我拍拍手做為鼓勵!
About Me
Liu, An-Chi(劉安齊). A software engineer, who loves writing code and promoting CS to people. Welcome to follow me at Facebook Page. More information on Personal Site and Github.