115 中央大學資工所軟體工程組推甄
初審
參見上一篇的交大推甄。交的東西都差不多,只差在不用準備分工表之類的。
筆試
全手寫,三小時
觀念題
六題選五題作答,配分都一樣。
- 你寫了一個爬蟲,發現 CPU 閒置,都在等伺服器回應,你怎麼用非同步方式優化?
- 也要解釋什麼是同步、非同步
- 你是電商平台的 QA 工程師,平台需求如下:
- 系統後台可以設定會員等級(普通、黃金、鑽石)的折扣率
- 普通會員沒有折扣
- 黃金會員有 95 折
- 鑽石會員有 9 折
- 折扣僅適用於商品總價,不包含運費
- 描述你會怎麼測試,什麼是白箱測試、黑箱測試,各別設計兩個測試案例,並說明為什麼。
- 如果你推上去後發現一堆沒找到的 bug,怎麼修效率最高?
- 新人工程師寫了 try catch,資深工程師說脫褲子放屁,分析他們的觀點跟盲點。
- 要怎麼解決這種程式碼簡潔 vs 可讀性、執行效率 vs 開發效率的衝突?
- 網頁伺服器回應 1000 個請求,與轉檔 10 個影片檔,你會使用 multi-threading 還是 multi-processing?為什麼?
- 客戶說系統有 bug,要用 git 回退,怎麼在不影響現在 commit 的情況下回退?
- 怎麼以最少次數找出有問題的 commit?
- OOP 的 interface 設計初衷?過度使用會怎樣?
List list = new ArrayList();跟List list = new LinkedList();反映出 OOP 的什麼特性?
實作題
- LeetCode 101. Symmetric Tree
- 資料庫正規化是什麼?將給定資料表正規化到第三正規化。
- 手刻模擬 4x4 的 2048 遊戲(超噁心
- 二分搜尋,lower bound
- 無限背包問題,但有最大重量與最大體積限制
- Magic 153,輸入一個正整數 n,將 n 的每個位數立方和相加,重複此過程,判斷最後是否會回到 153。