考點分析 / 中山 / 軟體

中山資工所軟體考古題八年大統整(108–115)

各年度考點分析

考試形式(八年不變)

  • 考試時間 100 分鐘
  • 不可以使用計算機
  • 全部是問答申論題,沒有選擇題、沒有倒扣
  • 卷面固定註明:「若題目不清楚或你認為需要做某些假設,請在答案開頭清楚說明你的假設」(109–114)
  • 全卷只有 2–3 頁,但題數多(8–10 大題、20–25 個小題)

時間壓力是中山最大的特點:100 分鐘要寫完 20 個以上的小題,平均每題 4–5 分鐘。

OS 與資料結構的比重變化

年度作業系統資料結構題數特色
10860%40%25 小題全是「解釋名詞/說明差異」,含 20 分資訊安全
10970%30%10 題OS 全面轉為計算題
11050%50%9 題比重最平衡
11145%55%9 題資料結構比重最高
11250%50%9 題OS 回到解釋名詞
11360%40%8 題首次出現 20 分填空題
11455%45%8 題填空題延續
11550%50%9 題填空題延續,資料結構回到最標準

108 年是唯一一次考資訊安全(整整 20 分:病毒與蠕蟲、setuid、masquerading、replay attack、non-repudiation),之後沒有再出現。

中山的四個固定題型

這四類題目每年都出現,是最值得針對性準備的:

1. C 程式輸出題(每年 10–15 分)

八年全中,而且風格穩定 —— 一小題考位元運算、一小題考遞迴追蹤:

年度位元運算小題遞迴/指標小題
110(a & (-a)) >> 2(取最低位的 1)—
111—指標算術 &e[2]+4 vs &e[2+4]、全排列遞迴
112(a&~b)|(~a&b)(就是 XOR)帶副作用的遞迴 h(9)
113(d & (-d+1)) + 3分治求最大值,要寫出所有中間輸出
114快速冪 for(c=1;b>0;b>>=1)倍增前綴和
115x ^ y & ~x | y << 2(考運算子優先序)帶 static 變數的遞迴

必背:a & (-a) 取最低位的 1、(a&~b)|(~a&b) 是 XOR、C 運算子優先序 ~ > << > & > ^ > |。

2. 作業系統的四類計算題

題型出現年度
磁碟排程(FCFS/SSTF/SCAN/C-SCAN/LOOK/C-LOOK 的總移動距離)109、110
UNIX i-node 的最大/最小檔案大小109、110、111
TLB 命中率(要達到某平均開銷需多少命中率)110、111
Page table 項目數 / page fault 計數109、110、111

這四類在 109–111 年密集出現,公式建議整理成一張表背起來。

3. 自行推導遞迴式(近年重點)

  • 111 第 2 題|stack 的合法/不可能輸出序列(Catalan number)
  • 113 第 4 題|2×m 磚塊用 L 形與正方形分解的方法數 d(m)
  • 114 第 4 題|n 對括號的合法序列數 p(n)(Catalan 的卷積形式)
  • 112 第 4 題|郵票組合計數 g(i,j)(無限背包,且有面額缺貨)

Catalan number 在中山考了兩次(111、114),卷積遞迴式要能默寫。

4. 填空題(113 年起,每年 20 分)

113、114、115 連三年各出 10 格、每格 2 分,全部來自作業系統教科書的粗體名詞:TLB、MMU、thrashing、dispatcher、dirty bit、reentrant code、daisy chain、raw partition、RAID 6 的 P+Q、AES 金鑰長度、polymorphic virus …

這是投報率最高的準備項目 —— 把 Silberschatz 每章的關鍵名詞整理成卡片,20 分幾乎可以全拿。

資料結構主題出現年度

主題出現年度
排序(複雜度/穩定性/radix 逐趟)108、109、112、113、114、115
樹的走訪與重建110、115
AVL 樹110、114
雜湊(chaining/自訂 rehash/double hashing)108、110、115
MST(Kruskal/Prim)109、115
Heap(heap sort/Fibonacci heap/binomial heap)108、111
BST 插入與刪除111
最佳二元搜尋樹112
遞迴式推導(Catalan 等)111、112、113、114
圖的走訪(BFS/DFS)108
Huffman tree109
**B-tree/B\*-tree/SCC**108

必守的五個主題

  1. 作業系統全書 —— 這是中山和其他學校最大的差異,佔了一半以上的分數。Silberschatz 的排程、記憶體、檔案系統、I/O、死結都要讀完整
  2. C 程式輸出(位元運算+遞迴追蹤)—— 八年全中,每年 10–15 分,練熟就是穩分
  3. 填空題的 OS 名詞 —— 113 年起每年 20 分,投報率最高
  4. 遞迴式的自行推導 —— 近四年的重點,Catalan number 與「枚舉最後一步」的思路要熟
  5. 排序的複雜度與穩定性 —— 幾乎年年出現,是純記憶分

給 116 年考生的策略

  • 先把作業系統讀完整再讀資料結構。 中山的 OS 比重平均 55%,而且很多是可以直接拿分的名詞解釋與填空
  • 100 分鐘、20 個以上小題,時間分配比深度更重要。看到不會的題目先跳過,把會的寫完
  • 不考演算法設計與證明(NP、近似演算法、複雜度證明都沒出現過),準備時可以把這部分的優先級降低
  • 113 年起的 20 分填空題很可能延續,這是最該優先準備的區塊
  • 全卷沒有倒扣,每一題都應該寫,就算只寫得出部分觀念也可能拿到部分分數
  • 卷面允許「說明你的假設」,題目條件不清楚時要主動寫出假設而不是留白

本頁的題型、配分、科目名稱均直接取自各年度試卷標示;主題出現年度為逐題比對後的整理。若發現有誤,歡迎來信指正。

想看完整逐題詳解?

國立中山大學 108–115 全年度完整詳解共 179 頁,逐題推導。

購買 · NT$ 850 先看試閱