Day 12:甄試模擬題練習(選擇題強攻)
8 大常考選擇題型的真實範例與詳解,涵蓋邏輯運算、迴圈、陣列、SQL、Big-O、二分搜尋等。
今天要開始拿真槍實彈的選擇題來練手感。甄試考的不是艱深的理論,而是「你有沒有見過這種問法」。這是 13 天轉職甄試衝刺大綱的 Day 12。
📅 前言:選擇題比的是「反射」,不是「思考」
甄試選擇題的重點是熟悉題目的「問法」和常見的陷阱設計。今天用幾個典型例題,示範每種常考題型長什麼樣子,之後找到題庫就能照這個節奏練習。
⏳ 常見題型範例(附解答與解說)
1. 邏輯運算判讀
若
isMember = true,amount = 400,執行isMember && amount >= 500的結果是?
A. true B. false C. 語法錯誤 D. undefined
答案:B。 amount >= 500 是 false(400 不夠 500),AND 只要有一邊是 false,結果就是 false。
2. 迴圈跑幾次
以下程式碼,
console.log總共會被執行幾次?for (let i = 0; i < 5; i++) { console.log(i); }
A. 4 次 B. 5 次 C. 6 次 D. 無限次
答案:B。 i 從 0 開始,跑到 i < 5 不成立為止(也就是 i = 0,1,2,3,4,共 5 次)。
3. 陣列索引
let arr = [10, 20, 30];,arr[3]的值是?
A. 30 B. undefined C. 0 D. 報錯無法執行
答案:B。 陣列索引是 0、1、2,沒有索引 3,存取不存在的位置會得到 undefined(不是報錯)。
4. 函式回傳值
function add(a, b) { a + b; },console.log(add(2, 3))會印出什麼?
A. 5 B. undefined C. 23 D. 報錯
答案:B。 這個函式忘記寫 return,所以雖然有計算 a + b,但沒有把結果交出去,呼叫端拿到的是 undefined。
5. SQL 查詢結果
SELECT name FROM users WHERE age >= 18;這句話的意思是?
A. 刪除 18 歲以上的使用者 B. 撈出 18 歲以上使用者的姓名 C. 新增一筆 18 歲的使用者 D. 把使用者的年齡改成 18
答案:B。 SELECT 是讀取資料,不是新增/修改/刪除。
6. Stack / Queue 觀念
依序把 A、B、C 放進 Queue,第一個被取出的是?
A. C B. B C. A D. 無法判斷
答案:C。 Queue 是先進先出,最早放進去的 A 會最先被取出。
7. Big-O 判斷
兩層巢狀迴圈,每層都跑 n 次,複雜度是?
A. O(n) B. O(log n) C. O(n²) D. O(1)
答案:C。 巢狀迴圈疊兩層,通常對應到 O(n²)。
8. 二分搜尋步驟
用二分搜尋在排序好的 1~100 找答案,最多大約需要幾次才能找到?
A. 100 次 B. 50 次 C. 約 7 次 D. 1 次
答案:C。 每次砍半,100 → 50 → 25 → 13 → 7 → 4 → 2 → 1,大約 7 次左右就能收斂,這就是 O(log n) 的威力。
⏳ 建議配速
- 每天練習 30~40 題(含檢討時間)。
- 準備一本「錯題本」,把答錯或猶豫過的題目抄下來,寫上「為什麼會錯」。
- 練到後期,重點應該放在「重複做錯的題型」,而不是一直做新題目。
🎯 目標
- 熟悉 8 大類常考題型的問法與陷阱
- 建立錯題本,開始累積自己的弱點清單