# 清交APCS組/交大資工(資安組)/成大資工(智慧系統組)面試/上機考心得 我學測英文考爆,所以填的都是這些特殊的組別 數學15、自然14、英文11、國文12,APCS 5/4 競賽打得比較少主要是專題 # 清大APCS組 | | 學測成績(數A+自+英)20% | 備審資料40% |口試40%| | -------- | -------- | -------- | ------| |我| 40/45 | 不知 | 不知 | #### 結果:備取6,看來我英文真的太爛 有發一個名牌要別再身上 還有發一個必上清華的小餅乾,蠻好吃的,有點像小林煎餅 ## 第一間 第一間學長會幫忙開好簡報,一進門就會開始計時5分鐘自介,超過一點點時間沒關係,我大概也超過15秒左右 1. 你的興趣算是蠻多元的,你進大學後會想鑽研哪方面? 答: 我覺得密碼學中的數學還蠻有趣的,...(然後講了一些AES和RSA的數學原理) 2. 強化學習是怎麼學的?(我備審的東西) 答: 我回答是看一個台大教授在youtube上強化學習的教學,從Q Learning一路看到DQN和各種技巧。(我一開始忘記那個台大的教授叫甚麼名子) 教授問我是李宏毅嗎? 我說對,教授還笑了一下 3. 有沒有計算自動菌落計數器的誤差率?(我備審的東西) 答: 我沒有預料到會問這個,我以為會問一些圖像處理的專業問題,不過我回的好像不錯,我把數據和原因講完後,教授還回了一句make sence 如果和我一樣做很多專題的話,可以在自介多講一點,基本上我整個面試都圍繞著專題。完全沒問競賽的東西。 ## 第二間 第二間一進去教授就會叫你抽一題。 我的是老鼠走迷宮,有給一張圖,題目如下。(回答我就不打了,都是經典問題) 1. 要如何構建一個老鼠走迷宮的遊戲? 一開始我以為迷宮長怎樣是已知的,後面教授才和我說包含如何生成路徑和牆壁甚麼的。 2. 要如何找到最短路? 如何使用recursive的方法找? 如何使用非recursive的方法找? 3. 如果有多條路徑,要怎麼找到最短的? ## 總結 清大教授感覺都蠻友善的,第一間的教授不會問太刁鑽的,感覺就是要確認一下我對自己作品的熟悉度。第二間的教授也會引導回答方向。 # 交大資工(APCS) | | 學測成績(數A)20% | 備審資料35% |口試45%|總分| | -------- | -------- | -------- | ------|--| |我| 15/15 | 86.59 | 89.33 |90.51| #### 結果:備取3(我滿意外的,我以為會備10幾,而且他口試給我的分數比想像的高) 三個教授,一分鐘自我介紹,五分鐘問問題 (問很多經典問題,我就不打我的回答了) 1. 一分鐘自我介紹 2. 為什麼APCS實作只有4分 3. 你說你數學不錯,那你擅長的是數列還是幾何 4. 講解一下費氏數列(感覺是因為上一題回答數列所以問這個)? 5. 要怎麼用程式算 6. 可以用DP以外的方法嗎 7. 可以不開陣列嗎 8. 如果只是要求最後一項有什麼比較快的方法嗎 9. 費氏數列到很大的項數後,尾數會不會循環,要怎麼證明(後來有給提示,$10^{10}前會出現循環$) ## 總結 大部分題目都不難,除了最後一題數學證明我當下沒想到,出來和同學討論才想到。 我聽同學的過程幾乎都有被問擅長什麼,(他們回答DP之類的),然後接下來也都會被問相關的問題。可能是因為我自我介紹有講我數學不錯,所以教授才從數學問(還被問不擅長的DP,不過問的題目沒有很難就是了) 過程中完全沒有問我做的專案(我備審主要是專案製作,競賽比較少),不知道是比較重視競賽還是覺得不需要問(看歷年紀錄有說重視專案的,也有說重視競賽的)。 交大雖然面試時間比較短,但面試的問題感覺比較難,過程也比較有壓迫感,感覺表現的不是很好。(但最後看成績好像還行) 補:最後還有一點時間,卡車原本要問我資安的問題,然後發現我有報名資安組,他就說算了,資安的問題下午再給其他教授問。(所以感覺他們有互通情報?) # 交大資工(資安組) | | 學測成績(數A)20% | 備審資料35% |口試45%|總分| | -------- | -------- | -------- | ------|--| |我| 15/15 | 91.03 | 96.33 |95.21| #### 結果:正取(我面試表現不錯,被審也有資安的東西,但沒想到會正取,而且口說也太高) 三個教授,一分鐘自我介紹,五分鐘問問題。 1. 一分鐘自我介紹 2. 在競賽與檢定中你最印象深刻的題目和算法 3. 講解一下Base64的原理 4. 為什麼會想要學密碼學?(我備審的東西) 5. RC4加密算法中的IV是幹嘛的 6. 你AES密鑰是實作幾位元的 7. 聽過Side-channel attack嗎 8. 你實作AES時,覺得自己實作和利用開源資源的差別是什麼 9. 你是用什麼填充方法 (可能還有其他問題但我忘了) ### 總結 感覺比APCS組更重視備審東西,也有可能是我備審有資安的東西所以才有被問。不過也沒有問太多非常艱澀的東西(我原本以為會叫我證明RSA的數學原理之類的) # 成大資工(智慧系統組)上機考 | | 學測成績(數A+英)35% | 備審資料40% |上機考25%|總分| | -------- | -------- | -------- | ------|----| |我| 26/30 | 90.53 | 50/100 最終成績所有人都乘1.2,我變60 |81.55| 結果:正取3 最低正取分數:72.05 最低備取:65.03 分數分布(76人考) $75*1$ $50*2$ $40*3$ $20*12$ $10*19$ ## 其他資源 第一名打的題解 https://hackmd.io/@chrislaiisme/113_PA_NCKU_TEST 完整題目 https://hackmd.io/@binghua/rJyxJdiQA ## 上機考過程與題目 當天9.30可以進去,10.開始機器測試,10.30開始考試 10.30後,學長會在前面講解題目在幹嘛,我聽完第一題後就直接開始寫的,第一題也很簡單,可以邊聽學長講話邊寫程式。 整個題目算是一個題組,要製作一個電子名簿。總共有九個功能。 名簿中每個人都有三種屬性 1.名子 2. 編號 3. 顏色 (保證名子不重複) 一開始會輸入一個$n$,代表有$n$次操作($n<10^5$) 採聯集計分 ### 功能1-加入一名子到名簿中 輸入1人的名子、編號、顏色 編號保證在$10^{18}$內 顏色保證在$100$內 保證第一次操作會是功能1 輸入: ``` name number color ``` ### 功能2-改名 輸入1人的編號和一新的名子 並將此編號的人改成新的名子 輸入: ``` number name ``` ### 功能9-查詢顏色 輸入一名子,輸出該人的顏色 輸入: ``` name ``` ### 1-A [包含功能1,2,9] (10分) 保證操作次數只有100次($n<100$) :::success :::spoiler 解法 直接開陣列就會過 ::: ### 1-B [包含功能1,2,9] (10分) $n<10^5$ :::success :::spoiler 解法 開map ::: ### 功能4-建立朋友關係 先定義朋友關係,當A與B為朋友B與C為朋友時,A與C也為朋友 輸入兩名子(還是編號我忘了,但沒差),將兩人設為朋友 輸入: ``` name name ``` ### 功能3-查詢朋友關係 輸入兩人名子(還是編號我忘了,但沒差),查詢兩人關係 如果兩人是朋友輸出YES 如果不是朋友輸入NO 輸入: ``` name name ``` ### 2-A [包含功能1,3,4] (10分) :::success :::spoiler 解法 DSU 記得要路徑壓縮 沒有union by size沒差 ::: ### 2-B [包含功能1,2,3,4,9] (10分) :::success :::spoiler 解法 一樣 ::: ### 功能5-字典序 輸入一個名子a、編號與顏色(就是和功能1一樣的輸入),並將其加入名簿,並輸出字典序小於a的名子中,字典序最大的那一個。 輸入: ``` name number color ``` ### 3 [包含功能1,5(忘了還有沒有其他的)] (10分) :::success :::spoiler 解法 upper_bound ::: ### 功能6-最長公共前綴字串查詢 輸入一個字串(長度小於10),找出所有名子內和該字串最長的前綴字串 並輸出 輸入: ``` string ``` ### 4 [包含功能1,6] (15分) :::success :::spoiler 解法 $n<10^5$ 輸入字串長度又很小 就直接暴力解 ::: ### 功能7-範圍查詢 輸入兩數字l,r 輸出l,r範圍內的編號共有幾人 輸入: ``` number number ``` ### 5 [包含功能1,7(忘了有沒有2)] (10分) :::success :::spoiler 解法 map upper_bound + lower_bound 算距離 聽說官解是map+離散化bit ::: ### 功能8-改顏色 輸入名子or編號與一顏色 並修改此人的顏色 輸入: ``` name color number color ``` :::success :::spoiler 解法 一樣map ::: ### 功能10 輸入一個顏色,輸出同顏色共有幾對朋友關係。 輸入: ``` color ``` :::success :::spoiler 解法 DSU ::: ### 6 [包含全部功能] (10分) 有一些限制但我忘了 ### 7 [包含全部功能] (15分) 無限制 ## 總結 題目難度感覺正常,但時間真的少,一個半小時,加上我實作有點燒,我完全寫不完,被第一名電神狠甩25分。 ## 報考建議 1. 如果你和我一樣,因為準備學測太久沒寫程式,可以寫寫看AP325當復健,裡面題目都不難,我考前花了大概一個禮拜寫個四、五十題,手感就回來了。可以看看我的復健記錄[學測後復建AP325練習紀錄](/DmAelxUnRyGpYKwbrtjarg) 2. 如果你沒寫過程式,就去寫zerojudge基礎題庫,寫個三、四十題,再去寫AP325(可以寫前面的單元就好,要熟練運用stack、queue、deque、priority queue、set、map等),也可以寫CSES的sorting and searching