成大資工系特選乙組雜記
可以先看這篇 [成大資工特殊選才](https://stoneapp.tech/cavern/post.php?pid=719)
發文要附圖
感謝telegram鼎力支援圖片壓縮
![ㄋ](https://img.stoneapp.tech/a91082900/a91082900_1.jpg)
---
(12/07 更)
29號當天考~~爆~~完段考也打掃完
宣布下課之後
我就馬上衝回家收行李
大約6:25左右到達北車
我還叫口巴幫我買便當XD
(口巴:氣氣氣)
總之時間到了之後就上車
然後我就達成了第一次搭高鐵的成就
畢竟我是鄉下土包子沒搭過高鐵
然後高鐵宇宙快
不到8點半就到台南ㄌ
轉乘台鐵來到台南火車站
找到住宿的地方
此時大約9點
稍微安頓好後我就去買茶之魔手跟印准考證
回來之後大概10點
然後就洗洗睡了
---
隔天早上
>口巴:起床
>我:SAD
然後我們就出門了
後來我們很順利的到了成大
也很順利的找到資工系的系館
但是找不到正確開啟方式
繞了一下才進去
這時候還不到8點半
集合地點那邊已經有幾個人了
等待的過程中也有好幾個人陸陸續續到達
我們也稍微和其他考生打個招呼
其實是別人來搭話我才會回他們(
之後簽了簽到單和同意錄影的切結書
拿到辨識用的名牌
9點時開放入場
一開始進去時桌上其實沒有東西
之後主考官開始說明考試規則
說完之後就把我們趕出去
說他們要擺放設備
直到9:30左右才能再次進場
原則上是40分開始考試
所以直到開始之前
我們都只能「目視」來檢查設備有無缺漏
---
終於考試正式開始
但是他們說10:10才開放考題下載
所以這段時間請安裝硬體跟燒錄作業系統
---
(02/03 更)
過了很久我才想起來這篇沒更完
雖然可能會有很多忘掉的部分
但是我會盡量把他補完
而且是用未來視
---
#### 先來說明考試器材
```text
rpi本體
變壓器
micro USB電源線
VGA線
HDMI轉VGA線
micro SD卡跟轉卡
rpi盒子跟散熱片
滑鼠鍵盤
```
#### 再來說明一下電腦配置
每個人獨自坐在4個並排的電腦桌前
但有開的只有2台
所以每人有2台電腦
右數第一台(下稱第一台電腦,其餘依此類推)有接網路線
可以用來查資料 一開始的燒錄也是用這台
第二台則是網路線被拔除
我們只是要用他的螢幕來輸出樹莓派的畫面
順帶一提 他的網路線被拔去給樹莓派接了
#### 最後說明考試機制
每個人會拿到一張需求表和一份說明文件
我們的任務就是**按照順序**把需求表上的功能做出來
他們的審核標準是
你完成之後舉手
助教(應該是學長)幫你看完確定沒問題就幫你打勾
我看他們自己有一份審核標準的樣子
可能會要求你做特定操作
看看你有沒有達成要求
這邊附上簡略需求表
| 項目 | 內容 |
| :---: | :------: |
| A | 硬體組裝 |
| B | 更新套件 |
| C | 語法錯誤 |
| D | 物件導向 |
| E | 參數設定 |
| F | 效能優化 |
| G | 新增功能 |
#### 考試開始
作業系統的映像檔和燒錄軟體在SD卡裡
裡面另外還有一些考試說明和操作說明的文件
主考官他們的良心建議是先燒映像檔再裝硬體
因為燒錄實在有夠慢
順便抱怨一下他們的電腦(?
們提供的文件有考試說明的pdf、硬體安裝教學的ppt、燒錄軟體的安裝檔等等
然後我就把它們一起打開
結果我的電腦就卡死了
我當下真的是傻眼
阿不就還好它有回來(
##### 硬體組裝
由於第一個要求就是硬體組裝
所以不管是電腦卡死的時間
還是開始燒錄之後
我都妥善運用時間裝硬體
但結果卻不如預期
**把樹莓派裝進盒子是一大打擊。**
因為把盒子跟蓋子弄反的關係
我甚至蓋好盒子就花了不少時間
誰叫他盒子比較薄 蓋子比較厚 氣
**第二個打擊是接線的不順利。**
把螢幕滑鼠鍵盤接起來本身不困難
但我全部接好之後
畫面卻整個沒有出來
因為我還在懷疑是不是自己沒接好
於是我就持續弄線但沒什麼改變
之後旁邊的助教就跟我說
還是你要用第三台螢幕試試看
我試了之後還是沒畫面
後來決定把電源重接看看
畢竟rpi是連上電源開機
試了之後終於第一次看到畫面(
>助教:所以你要用這一台嗎
>我:我等等接回去
然而接回去之後我發現他一直閃一直閃
只有一瞬間看得到畫面
就整個不能做事的狀態
於是助教又說了:
>設備有要更換的都可以講喔
>你講了我就會幫你換
但那時候我想說到底是不是線沒接好之類的
然後就繼續弄線
後來就死心了
請他幫我**換VGA線**
換完還是一樣
然後請他幫我**換轉接器**
還是一樣之後
他又說
樹莓派也可以換喔
於是就請他幫我**換了樹莓派**
他就直接拿了一台新的過來
我光是把舊的從盒子裡拔出來又花了不少時間
後來連pi都換了之後總算好了一點
但是我想說這樣沒有散熱片欸
我就問他:「可以再幫我拿一組散熱片嗎」
他去前面之後貌似是沒拿到
跟我說「那你先不要貼沒關係」
我心裡OS是 到時候我過熱你要負責嗎
但是我沒辦法說出來(
總之他變成大部分時候都有畫面的狀態
我就想說可能還是哪裡有問題吧
但是算了 反正可以用了
於是勉強算完成了飽受折騰的硬體組裝
這時候大約已經來到10:30
---
(04/11 更)
##### 更新套件
理論上就是pip指令打一打就好了
但是他們好像把防火牆設爛了
所以根本更新不了
主考官他們就說這關直接跳過
順帶一提
這關的過關與否他是要直接跑某個py檔
然後他直接在裡面寫pygame版本要大於多少才跑得起來
我看了也是蠻ㄋ
---
##### 修正語法錯誤
他的檔案裡面有一些低能的語法錯誤
像是沒加冒號 沒加括弧 亂縮排這些的
我 be like
```
run()
while 跑不起來:
修改錯誤
run()
```
---
##### 物件導向
接著是修正程式內的其他錯誤
畫面右上有個menu鍵
但他不會動
下一個任務就是要把他修好
他預設是點下去就黑屏的狀態
可是我一翻就發現menu其實已經寫好了
所以要找到為什麼跑不起來
仔細一看發現他是用一個bundle來傳遞資料
但是打開menu的時候他沒傳參數 然後menu就爆了
把他要的參數加上去即可完成
---
接著是讓動物的技能能正常使用
(簡單解釋一下 他就是一個用彈弓射出動物去吃水果的遊戲
動物有鴨子蝙蝠鸚鵡猴子大象5種
食物有好幾種 獲得分數不一樣但不重要
動物可以在飛行期間按空白鍵發動技能)
- 鸚鵡會用cos波前進
- 猴子會旋轉
- 蝙蝠會一邊畫圓一邊前進
- 大象體型會變2倍
- 鴨子碰到水會游泳(他沒有主動技能)
我跑去看 `animal.py` 然後看到這些鬼東西
```
Monkey.skilll()
Duck.flyiing()
```
改好就會過了(
---
##### 參數設定
照著要求把一些顏色跟什麼鬼的設定好就會過了
然而我卻在這邊犯蠢
畫面上有一個顯示計時的地方
要求是把字體跟顏色改好
我就想說是不是要把計時功能也完成
看了半天發現 應該根本不用
於是我成功浪費一堆時間
這時時間來到12:10
我檢查完這個之後就被趕去吃飯了
---
##### 午餐
從電教出來之後
我們就進到一間會議室吃飯
一進去就聽到他們說
考生不要交談喔
我就只好一臉怨念的看著口巴
午餐有一個便當跟一杯手搖飲料
可是我真的不懂哪個智障想到要買飲料的
午餐時間也才3 40分鐘
然後電腦教室很顯然就不能喝飲料
吃飯那間清好之後會直接是面試的房間
所以也沒辦法放那
你以為每個人都10分鐘喝完?
不過至少飲料是3分糖而不是全糖啦
還不錯喝 便當也好吃
12:40左右要回去繼續考試
某人:請問我們飲料可以帶進去嗎
現場人員:呃不然我們拿進電腦教室後面放吧
拿奇異筆讓你們寫名字
電教:請勿將食物和飲料帶入教室
我們:拿著手搖杯走進去
---
##### 大佬的部份
13:00 的時候
主考官:想提前結束的可以結束了喔
我們會帶你去面試
他一講完就有人要走了
我整個怕爆
##### 效能優化
這部份我最無言
他分兩項
一項是找到越跑越慢的原因並修正
另一項是找到記憶體越用越多的原因並修正
因為程式裡有寫監控系統資源的函式
所以一眼就看的出他會越來越爛
我一開始在猜可能是food或animal從畫面消失之後沒有清掉
於是開始翻pygame文件跟google一堆神奇東東
雖然我把animal清掉了
但其實我測試之後發現 不管有沒有操作
他都會越來越慢然後越吃越多
所以應該跟animal沒關係
至於food的部份
我發現他的畫面上永遠就是10個food
當一個food從畫面上消失時
他會馬上reset到畫面最上方
於是試著改成只有1個food或有30個food
發現效能都沒什麼差別
至此也大概排除了food
只是這邊我已經卡了30分鐘左右
後來我只好繼續看code
然後就發現了一個奇怪的function
它的功能是
它會數現在是第幾個frame
然後重新繪製畫面上的所有物件 `(frame//15) * 1000` 次
我看到之後就順手把他註解掉
然後就變超順了
真是謝謝效能優化
記憶體問體也是用類似的方法解決
我翻一翻發現有個function會在list裡面狂塞東西
註解掉之後就好了
老實說為了慎重起見
我還是有再檢查code有沒有其他會造成效能下降的部份啦
但結論是全都徒勞無功
---
##### 爆掉的樹莓派
大約14:00左右
我的樹莓派開始瘋狂閃爍
個人推測是過熱啦
旁邊一個助教走過來問我說要不要換一個板子
他就拿了一盒已經裝好的rpi
應該是前幾個出來的人用過的
反正他就說把sd卡直接換過去繼續用
原本那個助教就跟叫我換板子的助教說
這是他第三個板子了
:(
---
##### 新增功能
這部份一樣分兩項
第一項是high score功能實作
第二項是timer功能實作
基本上他都挖好洞了
只要在對應的位置把code填進去就會動了
甚至high score功能連method都寫好了
只要檢查一下條件然後把call他的部份補上就沒問題
timer的部份就去翻一下pygame文件
我是設了兩個clock
一個是計時用的
另一個是暫停的時候用的
繼續的時候把暫停時的秒數扣回去
---
至此我總算完成所有要求
於是主考官過來作最終確認
他確認完之後就叫我東西收一收去外面等面試
---
(0120 更)
不知不覺過了超過一年了
甚至窩已經是大學生ㄌ
總之我來把面試篇補完
我記得那時候我應該是2:50左右做完出來
剛好等待面試的queue是空的
所以沒等很久我就進去了
裡面沒記錯的話有3個教授
然後就跟他們面對面這樣
一開始先叫你自我介紹
然後我講的ㄊㄇ有夠爛
總之我是先講了我的學校
然後帶到我開始學程式的契機
最後接到因為喜歡/想繼續學程式
所以才來報考
總之轉得很硬 然後也講的很短
整個就是講完的當下差不多就下去了的感覺
後來有被問的問題大概整理如下
**Q:剛剛有一位說是程設設計專班的,你也是嗎?**
對(我忘記我有沒有說我們是一起來的了)
**Q:你們這個班好像很多人,怎麼只有你們兩個來?**
抱歉我真的忘了我回答了什麼
**Q:那這個班大概都用什麼升學管道?**
不太確定,因為今年第二屆而已,歷年資料不夠多
我還扯到因為108課綱 下一屆這個班就會消失了
**Q:我看你成績好像不錯,怎麼會想來特殊選才?**
我覺得這對我而言就是多一個機會,如果有上我就會去
後來想想覺得這個回答有夠爛
直接老實跟他說對學測沒信心都比較好
**Q:你平常都寫什麼程式?都怎麼學習?**
幾乎都是自學,邊做邊學,有問題就Google
然後我有提到記帳系統 教授他們有追問用什麼語言寫的
我記得我有回答PHP,資料庫是MySQL
**Q:今天的題目簡單嗎?**
我應該是回答還可以 其他的修飾我忘了
後來想想應該分享更多我對題目的意見的
---
大概就這些問題
面試完之後整場考試就結束了
最後的結果是備取1
但這個分數大概也是校名跟在校成績拉的
不然哪比得過各路大神
歷經一年又兩個月
這次終於更完了🎉😈
是說後來做備審的時候回去看
發現當初交的資料做的真的有夠爛
為什麼這樣書審還能過啊(#
2019-12-01 15:16:06
留言
Last fetch: --:--
現在還沒有留言!