Cavern.sigma
Welcome to Cavern.sigma
可以先看這篇 [成大資工特殊選才](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: --:-- 
現在還沒有留言!