4/20
一大早六點起床換好衣服 吃完早餐
六點半出門
今天是我爸載我去面試
所以交通問題不用煩惱
不過有個小插曲
我爸7:00左右到公司 說要健檢 一下就好
結果7:50才好
我整個心情超賭爛==
開始擔心會不會遲到 不過好險是沒有
時速最高飆到130==
9:40面試 大概9:00到學校
剛進校門 配合M漢肺炎疫情管理 量個體溫
就開車到理工院門口 跟著標示走就到報到處了
到報到處簽個名 然後學姊們會給一些資料 問卷之類的
面試完交給她們就好 接著到旁邊的休息室開始發呆
想說有臺南資工面試過了 來跟教授聊天而已
結果看有人出來說第二間有點硬 害我心跳越跳越快
發呆了半小時後終於要上場了
嘉大資工面試有兩關 黑臉嘛 我是覺得還好
不過嘉大會問專業問題 面試前看能不能準備一下搜尋和排序的演算法
泡沫排序 暴搜 都可以
可以的話就多準備快速排序法 二分搜
記個時間複雜度 以防萬一
線搜(或暴搜):O(n)
二分搜:O(log(n))
快速排序 合併排序 堆積排序:O(nlog(n))
泡沫排序 選擇排序 插入排序:O(n^2)
重點是要理解 然後能完整的講出來
不然教授一問你還是會破功
(先說抱歉 有些句子有標點符號 有些沒有 可能會看得有點辛苦 我也懶得改了)
<第一關面試>
先說格局
兩間關卡的格局都一樣
我就用左右來描述是哪個教授好了
右教授:請先來個自我介紹
我:好 我是來自中山高中的XXX,我平常的興趣是寫寫程式,我先大概講一下我的程式設計經歷,我第一次接觸程式語言是在高中程式多元選修,C語言,那C語言相對別的程式語言,相對啦,是比較low-level的(組合語言笑而不語),所以幫助我在學其它語言有一個基礎在。那我在高二時加入資訊研究社,我學了第二個程式語言 Python,那Python相對是比較接近應用層面的程式語言,所以我在高二升高三時,用一些套件來做出了聊天室的指令機器人,其實在寫這機器人的過程我學到滿多的,例如我有寫提醒功能嘛,那就要存取一些資料,所以我認識到了json,還有英文單字搜尋功能嘛,就用到爬蟲,那寫爬蟲,就有稍微認識了HTML,像這些東西都是我在寫這個時才知道的。在來是高三後,我在學測後學了Java,那學java主要是因為我很清楚我要讀資工了,所以我看課程地圖,有看到物件導向這門課,所以我就自己學了一些,用物件導向的觀念還有Java寫出了俄羅斯方塊。那我之所以報考資工是因為目前我寫得都是比較接近應用的,那資工其實是在學比較底層的,所以我想加入資工,來加強這方面的知識。
(自我介紹這部分 因為有打聽到教授那邊是沒有筆電的 所以我稍微調整了自介的敘述 把作品和心得講得更細一點 讓他們比較有印象)
左教授:你寫程式有沒有遇過什麼困難,都怎麼解決的?
我:有阿 一定會遇到困難,像我在寫俄羅斯方塊的時候,就遇到很多java語法上的問題,還有物件導向那些觀念的東西。那基本上觀念類的我大部分都是看影片之類的去理解,語法上的話大多是去stack overflow搜尋這樣。
左教授:你寫程式有跟其他人合作過之類的經驗嗎?因為其實未來寫程式是要和別人合作的,那你有可能會成為一個leader,你要怎麼解決成員的爭執
我:合作嗎...(想) 沒有耶...
左教授:那除了程式外 有沒有跟別人合作過的經驗?
我:平常的話是沒有啦 頂多就課業上做報告會合作。
左教授:好那就以做報告來說好了,如果你跟組員遇到一些問題怎麼處理,像如果組員都不做事,你要怎麼辦?
我:我覺得我第一個方法當然就是先溝通啦 如果真的沒辦法的話 那我就自己..對 自己做這樣
左教授:這樣你心裡不會抱怨嗎 組員都不做事
我:當然抱怨是一定有的啦 不過至少我自己做我可以學到東西
左教授:如果他們爭執呢?
我:我的話一樣是先嘗試溝通啦,不然就是要統一一個架構
左教授:那如果他們 例如AB一個說要寫這樣 一個說要寫那樣 你要怎麼處理
我:恩...這有點棘手,那我就不太清楚了(我一個邊緣人能掰成這樣我也真佩服我自己)
教授們和我都同時笑了
右教授:沒事啦,我們只是想知道你在處理團隊問題時會怎麼解決,當然一個人自己解決也是一個很好的方法,只是說未來團體在寫程式時會遇到這樣的問題,沒事沒事。
右教授:好 那時間關係 就先到這邊吧
我:好 謝謝教授
接著就走出教室 休息一下
等等再第二關
在等第二關時有點焦慮
但又有點期待(?
想看看大家說的黑臉教授是怎樣
<第二關面試>
這關兩個教授 一男(左 比較和善)一女(右 表情普通)
女的問專業問題 其實也不難啦
有寫過題目的都不用怕
右教授:請先來個三分鐘自我介紹
(我不太清楚是不是我耳包 有可能教授是說30秒鐘 不過內心聽到三分鐘有點驚訝 不知道能不能撐那麼長 但是表情依舊保持自信 反正就照講 要聊學習歷程我有的是)
我:<自我介紹>
(跟上面差不多)
右教授:既然你C學到了指標之前 你怎麼沒去考APCS 因為我這邊沒看到你APCS成績
(APCS 全名:大學先修程式測驗 考4題實做+25題選擇 平常沒在寫題目去考會很挫折喔 我高一被打擊過就不太想考了)
我:痾..是有考過 在高一的時候考的 考得滿爛的 對(觀念3 實做2 廢到爆QQ)
右教授:好 你說你學過C了 那如果班裡面你要找成績最高的人的話 你要怎麼搜尋?
(好問題 這邊就是我有準備的了 不過我回答得不是很好我覺得)
(關鍵字:"搜尋" 腦袋浮現線搜和二分搜 我想說如果要驚豔教授的話 講二分搜比較邱)
我:恩.. 如果要高效的話就二分搜吧
右教授:恩 二分搜的條件是什麼?
我:要排序過(好險面試前有把 圖解演算法 這本書拿出來複習)
右教授:恩 要排序過 那你會怎麼排序?
(關鍵字:"排序" 這時候就可以看出差距了 一般學過程式的高中生會說泡沫排序或選排 如果有再額外了解演算法的或有玩competitive programming 會認識到quick sort, merge sort, heap sort 基本上挑一個講就好 quick sort和merge sort會比較好講 heap sort會牽扯到tree的資料結構 所以不太建議 畢竟時間有限)
我:如果要高效率的話 應該就是用快排 痾 快速排序法
右教授:那請你稍微解釋一下快速排序法的原理
我:恩... 快速排序法的話 假設有一整個數列好了 那我們隨機選一個p..p.. 那叫pivot嗎?
右教授:(點頭
我:對 那選了一個pivot之後 假如我們要從小排到大好了 那我就把所有比pivot還要小的值全部放左邊 比pivot大的放右邊 然後就一直divide and conquer重複的遞迴下去這樣
右教授:(點了頭 看向左教授 感覺是要換他問了
左教授:我看你的成績在高二突然變很高喔,是有什麼原因嗎?
我:喔 其實我在高一時已經想往資工這方面來走了,然後我有上網查,發現資工要的分數滿高的,所以...對.. 我從高二就開始準備了(這部分是臨時唬爛的XD 唬爛同時也要強調申請動機)
左教授:看來你程式這部分學得還不錯喔 你說你有學了Java 你可以說一下物件導向的優勢在哪裡嗎?
我:我覺得是整個程式的結構比較分明吧 相比於程序導向的話
左教授:這樣說有點籠統 有沒有一個具體的表示方法?
(靠 這部分我沒準備 只好靠一些名詞來搪塞過去和撐時間了)
我:(沉默... 我覺得可能還要搭配design pattern會比較好吧
左教授:(眼睛稍微一亮) 所以你有學過design pattern了嗎?
這時候鈴聲終於噹了 終於撐過來了...
我:痾 我沒有很深入了解啦 只有聽過一些名詞 像工廠模式 單一模式那些的 不是很熟悉
左教授:好 ok 那就到這邊了
我:謝謝教授
---------
面試完的我 面帶笑容地走出去
覺得應該是穩了 畢竟大部分都有回答 而且也沒有很緊張
不過在跟朋友討論後發現
不對阿
最大值快速排序排好了直接拿最尾端的就好了啊
幹嘛還要二分搜
這點應該是我面試回答唯一的遺憾吧@@
之後補成績
給學弟妹的建議:
資訊科系的個人申請其實相對其它科系是好準備很多的 因為很多東西在網路上都有 關鍵就是看你想不想學 還有你能不能整理成屬於你的 成品也相對好做出 如果想抓住教授眼球 那麼就要好好善用這部分的優勢 當然啦 前提是你要能顧好課業 不然也過不了個申一階
-----------------------
更新
嘉義資工正取
可以開始寫uva囉~
話說資工怎麼會這麼多女中的...