113 地方特考四等 電信工程 計算機概要 考古題詳解
第 1 題2 分
一般而言,處理器利用下列哪一個元件,記錄下一個要抓取的指令的記憶體位址?
核心觀念
處理器在取指令時,需要知道下一個要讀取的指令位於哪個記憶體位址。負責保存這個位址的暫存器是程式計數器(Program Counter,PC)。一般情況下,處理器取出一條指令後,PC 會更新至下一條指令的位址;若執行跳躍或分支指令,PC 則會改為指定的目標位址。
解題方法
題目問的是「記錄下一個要抓取的指令的記憶體位址」的元件。辨認關鍵在於「下一個指令位址」:這正是程式計數器(PC)的功能,因此選 (B)。
選項分析
第 2 題2 分
為提高運算效能,超純量(superscalar)處理器通常採用亂序(out-of-order)及預測式執行(speculative execution)的方式執行指令。然而,當指令發生例外(exception)狀況或遇到中斷(interrupt)時,可能必須刪除某些已預先執行指令的結果,使處理器的狀態倒回某循序指令結束時的狀態,做到 precise interrupt。
下列超純量處理器中的微架構機制,何者是用於實現 precise interrupt 的必要機制?
核心觀念
本題考查超純量處理器如何在亂序執行及預測式執行下,仍維持精確例外(precise exception)或精確中斷(precise interrupt)。
處理器內部可讓多條指令同時執行,且指令完成的順序可能與程式順序不同。若發生例外或中斷,處理器必須能呈現一個一致的狀態:較早指令的結果已完成,較晚指令的結果尚未影響架構狀態。這需要依照程式順序提交指令,並能捨棄尚未提交的指令結果。
解題方法
辨認題幹中的關鍵要求:指令可能已亂序或預測式執行,但發生例外、中斷時,必須回到某個循序指令邊界的處理器狀態。能保存指令完成資訊、依程式順序提交結果,並在例外時清除較後指令結果的機制,是重排序緩衝器(reorder buffer, ROB)。
選項分析
- (A) instruction dispatcher:錯誤。 指令派送器負責將解碼後的指令送往適當的執行單元或保留站,不負責依程式順序提交結果,也不負責回復例外狀態。
第 3 題2 分
假設某一塊記憶體的大小為 (Mega Byte),該記憶體的每個字組(word)大小為 -Byte,則 CPU 至少要有多少條位址線,才足夠定址該記憶體的一個字組?
核心觀念
位址線數決定 CPU 可表示的不同位址數。若每個位址對應一個字組, 條位址線可定址 個字組,因此要先算出記憶體共有多少個字組,再找出足以涵蓋該數量的最小 。
本題依一般計算機概要慣例,。
解題方法
記憶體總容量為:
每個字組為 ,所以字組總數為:
因此需要 個不同位址,至少須有 條位址線,因為 條線可提供 個位址。
第 4 題2 分
十進位數 以二進位表示時,其數字為下列何者?
核心觀念
十進位轉二進位,可用「除以 2 取餘數」法:每次將商除以 ,記下餘數,直到商為 。由於每個餘數代表一個二進位位元,將餘數由下往上排列,即為二進位表示。
解題方法
依序將 除以 ,記錄各次餘數:
| 除法 | 商 | 餘數 |
|---|---|---|
由下往上讀取餘數,得到 。
也可用位權驗算:
第 5 題2 分
電腦 CPU 中的 ALU 單元,下列何者為主要功能?
核心觀念
CPU 的算術邏輯單元(ALU,Arithmetic Logic Unit)主要負責執行算術運算與邏輯運算,例如加減、比較、AND、OR 等。暫存器負責暫存資料;控制單元(CU,Control Unit)則負責解讀指令並協調各單元的作業。
解題方法
辨認 ALU 的名稱即可切入:其中的「算術邏輯」指出它處理的是運算。因此,詢問 ALU 的主要功能時,應選擇描述「執行運算」的選項。
選項分析
第 6 題2 分
假設你只有 -to- 解多工器(demultiplexer)的元件可以使用,則總共需要幾個 -to- 解多工器元件,才能組合成一個 -to- 解多工器?
核心觀念
-to- 解多工器(demultiplexer,DEMUX)有 個資料輸入端與 個選擇端,可將輸入訊號導向 個輸出端之一。若要形成 -to- 解多工器,可逐層擴充:每個元件的 個輸出端,都能接到下一層 個解多工器的輸入端。
解題方法
先由最末層往前推算所需元件數:
- 最末層需要 個輸出端,因此需要 個解多工器。
- 這 個元件的輸入端由前一層供應;每個前一層元件可提供 路輸出,因此前一層需要 個。
- 再往前一層,需要 個元件。
總數為:
第 7 題2 分
將下列三進位數值 轉換為九進位,何者正確?
核心觀念
三進位每兩位可以直接合併成一位九進位,因為 。因此,從三進位轉換成九進位時,從小數點往左每兩位分成一組,再逐組換算;不足兩位的最左組在前方補 。
解題方法
將 從右往左每兩位分組:
各組換成九進位的一位數:
依序排列,得到:
選項分析
第 8 題2 分
若作業系統沒有做好程序排程(process scheduling),使得某些程序 、、 不斷地獲得使用 CPU 的機會,但某一程序 卻長時間無法使用 CPU,這種現象稱為:
核心觀念
本題考查作業系統的程序排程與「捱餓」(starvation)。捱餓是指某程序長時間無法取得所需資源或使用 CPU;即使其他程序持續獲得服務,該程序仍不斷等待。
解題方法
題幹指出 、、 不斷獲得 CPU 機會,而 長時間無法使用 CPU。這表示排程不公平,使 持續等待,符合捱餓的定義。
選項分析
- (A) 捱餓(starvation)—正確。 某程序長期得不到 CPU 或其他資源,正是捱餓。
- **(B) 死結(deadlock)—錯誤。
第 9 題2 分
下列何者不是使用虛擬記憶體的主要好處?
核心觀念
虛擬記憶體(Virtual Memory)讓作業系統將程式使用的位址空間,對應到實際的主記憶體與輔助儲存裝置。程式不必一次全部載入主記憶體,只有目前需要的部分才會載入;若所需頁面不在主記憶體,就會發生缺頁,作業系統再從輔助儲存裝置將它載入。
因此,虛擬記憶體的主要好處包括:讓程式的位址空間不受實體記憶體容量直接限制、提高多工環境下可同時執行的程式數量,以及減少程式開始執行前必須載入的內容。虛擬記憶體的存取則可能因位址轉換與缺頁處理而增加時間。
解題方法
辨別選項描述的是「虛擬記憶體的管理效益」,還是「記憶體存取速度的提升」。虛擬記憶體藉由延後載入與頁面置換管理記憶體,並不會讓主記憶體本身變快;一旦缺頁,還需讀取速度較慢的輔助儲存裝置,存取延遲反而可能增加。
選項分析
- (A) 程式不再受到實際記憶體之可用空間的限制:正確。 程式可使用比目前可用主記憶體更大的虛擬位址空間,作業系統再按需將程式頁面載入主記憶體。這不是表示實體記憶體完全不受限制;
第 10 題2 分
假設某一張彩色影像的解析度為 ,每個像素的顏色採用「索引顏色(indexed color)」(也可稱為「調色盤顏色(palette color)」)來編碼,假設使用的調色盤顏色設定為 色,則編碼此張彩色影像需要多少位元?
核心觀念
索引顏色以每個像素儲存一個「調色盤索引」,而不是直接儲存 RGB 各色通道的數值。可表示的顏色數為 時,每個像素所需位元數為:
影像的總位元數則為「像素總數 × 每像素位元數」。
解題方法
調色盤有 色,因此每個像素的索引需要:
影像共有:
所以影像像素資料所需位元數為:
選項分析
第 11 題2 分
下列何種記憶體的處理速度最快?
核心觀念
本題考記憶體階層的存取速度。一般而言,記憶體越靠近處理器,存取速度越快,但容量通常越小、成本也越高。典型速度由快至慢為:
暫存器(Register)位於處理器內部,用來暫存指令執行時所需的資料、位址或運算結果,供處理器快速存取。
解題方法
先辨認選項中的記憶體階層,再比較存取速度。暫存器直接供處理器運算使用,存取速度通常快於快取記憶體與 RAM,因此本題選暫存器。
選項分析
第 12 題2 分
某個關聯式資料庫中,原本已有二個關聯(relation)表 和 ,若想產生一個新的關聯表 ,包含同時存在於關聯表 和關聯表 中的元組(tuples),則該使用下列哪一個關聯運算?
核心觀念
關聯代數的 交集(intersection) 會產生同時出現在兩個關聯中的元組。以集合表示,新關聯表 為:
也就是只有同時存在於 與 的元組會列入 。
解題方法
題目要找的是「同時存在於關聯表 和 中」的元組,直接對照關聯運算的意義即可:兩個集合共有的元素稱為交集,因此應使用 intersection。
關聯代數中的交集通常要求兩個關聯相容,也就是欄位數相同,且對應欄位的資料型態相容。
選項分析
第 13 題2 分
下列何者是目前常見的資料庫管理軟體?
核心觀念
本題考查常見軟體的用途分類。資料庫管理系統(Database Management System,DBMS)用來建立、管理及查詢資料庫;MySQL 是常見的關聯式資料庫管理系統。
解題方法
辨認各選項的主要功能,找出專門用於資料庫管理的軟體。文書處理、簡報製作及社群通訊軟體都不屬於 DBMS。
選項分析
- (A) Word:錯誤。 Microsoft Word 是文書處理軟體,主要用來編輯與排版文件。
- **(B) PowerPoint:錯誤。
第 14 題2 分
下列為 C 語言中宣告的一個陣列 ,何者為此陣列第一個元素的記憶體位置?
核心觀念
在 C 語言中,陣列名稱用在一般運算式時,會轉換為指向陣列第一個元素的指標。因此,對陣列 a[10] 而言,a 代表第一個元素 a[0] 的位址。
解題方法
a[10] 表示陣列有 10 個元素,索引從 0 開始,依序為 a[0] 至 a[9]。陣列名稱 a 在此處轉換成指向 a[0] 的指標,所以第一個元素的記憶體位置可寫成 a,也可寫成 &a[0]。
選項分析
- (A) :錯誤。
$a[0]$是第一個元素的值,不是其記憶體位置;要取得其位址應寫成&a[0]。 - **(B) :錯誤。
第 15 題2 分
若在一個堆疊(Stack)中,依序推入(Push)、、、、 和 等數字,接著執行兩次彈出(Pop),則堆疊頂端的元素應為何者?
核心觀念
堆疊(Stack)採用「後進先出」(LIFO, Last In, First Out)原則:最後推入的元素位於堆疊頂端,執行 Pop 時先移除頂端元素。
解題方法
依序 Push 後,堆疊由底部到頂端為:
兩次 Pop 會先移除最上方的 ,再移除 。此時堆疊由底部到頂端為:
因此,堆疊頂端元素是 。
選項分析
第 16 題2 分
下圖中從節點 至節點 的最短路徑,其長度為何?
(原卷包含圖形,文字擷取未包含圖形內容。)
核心觀念
本題考查加權無向圖的「單源最短路徑」問題。邊上的數字代表兩節點間的距離或成本,要求從節點 到節點 的最小總權重。
可使用 Dijkstra 演算法,或直接比較各條可行路徑的權重:
由於圖中的邊權重皆為正數,Dijkstra 演算法適用。
解題方法
從圖中可得一條重要路徑:
其長度為:
因此:
再比較其他主要路徑:
第 17 題2 分
有一棵二元樹之前序(Prefix)走訪結果為 、、、、、、、。若此二元樹根節點之右子樹的樹根為 ,則此二元樹根節點之左子樹的節點個數為何?
核心觀念
二元樹的前序走訪順序為「根節點、左子樹、右子樹」。因此,前序序列會先列出根節點,再依序列出左子樹的所有節點,最後列出右子樹的所有節點。
解題方法
前序序列是 ,所以根節點為 。題目已知根節點的右子樹樹根為 ;在前序走訪中,右子樹樹根會是右子樹序列的第一個節點。
因此, 之前的節點可分成根節點 與左子樹的節點:
扣除根節點 ,左子樹共有 三個節點。
第 18 題2 分
下列何種樹狀資料結構,不保證為平衡樹(Balanced tree)?
核心觀念
本題考樹的形狀限制,以及這些限制是否足以保證樹高平衡。平衡樹通常要求左右子樹高度差受限,或整棵樹的高度維持在 ;僅符合某種節點排列或子節點數量規則,不一定代表平衡。
解題方法
逐一檢查各選項的定義,並判斷該定義是否限制樹高:
- 若節點必須按層填滿,樹高會隨節點數以對數速度增加。
- 若只限制每個節點的子節點數量,或只要求符合搜尋次序,仍可能形成細長的樹。
選項分析
(A) 完整二元樹(Complete binary tree):錯誤。 完整二元樹除最後一層外,其餘各層都填滿;最後一層的節點由左至右排列。因此,樹高約為 ,不會退化成單側鏈狀,符合平衡樹的高度特性。
(B) 完滿二元樹(Full binary tree):錯誤。 完滿二元樹要求每個節點都有 個或 個子節點,但不限制左右子樹高度差。
第 19 題2 分
何者不是下圖的子圖(Subgraph)?
(原卷包含圖形及各選項圖示,文字擷取未包含完整圖形內容。)
核心觀念
本題考「子圖(Subgraph)」的定義。
若圖 的圖形 是 的子圖,必須符合:
也就是說,子圖可以少掉原圖的頂點或邊,但不能增加原圖不存在的邊。
由題圖可讀出原圖的邊為:
解題方法
逐一檢查各選項中的每一條邊,是否都存在於原圖中。只要某選項含有原圖不存在的邊,就不是原圖的子圖。
選項分析
第 20 題2 分
若以廣度優先搜尋(Breadth-first Search)走訪下圖(從節點 開始),各節點的走訪順序應為何?(若同時有多個選擇,請優先挑選數字較大的節點。)
(原卷包含圖形,文字擷取未包含圖形內容。)
核心觀念
廣度優先搜尋(Breadth-first Search, BFS)按照「距離起點的層級」逐層走訪:
- 先走訪起點。
- 將起點所有尚未走訪的相鄰節點加入佇列。
- 依佇列先進先出順序處理節點。
- 若同時有多個節點可選,依題意選擇數字較大的節點。
解題方法
由節點 開始,圖中節點 的相鄰節點為 。依「數字較大者優先」,加入佇列的順序為:
目前走訪順序:
接著處理節點 。節點 尚未走訪的相鄰節點為 ,依數字較大者優先,順序為:
因此完整的 BFS 走訪順序為:
第 21 題2 分
下列 C 函式為實作何種排序法?
void sort(long list[], long n) { long c, d, t;
for (c = 0; c < (n - 1); c++)
{
for (d = 0; d < n - c - 1; d++)
{
if (list[d] > list[d + 1])
{
t = list[d];
list[d] = list[d + 1];
list[d + 1] = t;
}
}
}
}
核心觀念
本題考辨認排序法的操作方式。**氣泡排序(Bubble sort)**會反覆比較相鄰的兩個元素;若順序錯誤,就交換位置。每一輪掃描後,較大的元素會逐步移到未排序區段的末端。
解題方法
內層迴圈逐一比較 list[d] 與 list[d + 1]:
if (list[d] > list[d + 1])
若左側元素較大,程式便交換兩者。內層迴圈每輪掃描未排序部分,範圍是 d = 0 到 n - c - 2;因此每輪結束時,該區段的最大值會被推到末端。外層迴圈逐輪縮小掃描範圍,直到完成排序。
例如,排序 [5, 2, 4]:
- 第一輪:比較
5與2,交換成[2, 5, 4];再比較5與4,交換成[2, 4, 5]。 - 最大值
5已到末端,後續只需處理前面的未排序部分。
第 22 題2 分
關於利用循序搜尋法(Sequential Search)尋找串列資料的應用時機,下列敘述何者正確?
核心觀念
循序搜尋法(Sequential Search,也稱線性搜尋)是從串列的第一個元素開始,依序與目標值比較,直到找到目標或搜尋完所有元素。它不要求串列事先排序,適合資料量不大、搜尋次數不多,或資料未排序且不值得先花時間排序的情況。
若串列有 個元素,循序搜尋的時間複雜度為 ;搜尋成功時,平均約需比較 次,搜尋失敗時則需比較 次。
解題方法
判斷各選項是否符合循序搜尋的使用情境:資料已排序、大量資料或頻繁搜尋,通常較適合考慮其他搜尋方式;資料未排序且只需搜尋少數幾次,循序搜尋便能直接逐一比對,免去排序的額外成本。
選項分析
第 23 題2 分
以 C 語言撰寫的程式片段如下,執行的結果為何?
int a = 8; a = a >> 2; printf("a=%d\n", a);
核心觀念
>> 是 C 語言的右移運算子。將整數右移 1 位,相當於除以 2 並去除餘數;右移 2 位則相當於除以 。本題的 a 是正整數,因此可直接依此規則計算。
解題方法
初值為 。將 8 寫成二進位:
右移 2 位後,低位補 0:
因此,printf 會輸出:
a=2
選項分析
第 24 題2 分
下列 C 指令的輸出為何?
short s = 32768 / 2; printf("%hd %hd", s << 1, s << 2);
核心觀念
本題考查 short 的範圍、整數提升(integer promotion)、位元左移,以及 printf 格式指定詞 %hd 的作用。
常見平台上,short 為 16 位元,範圍是 至 。運算時,short 通常會先提升為 int;因此左移運算是在 int 型別上進行,不會先以 16 位元 short 的寬度截斷。
解題方法
先計算初始值:
因此 s 的值為 。接著,s 在左移運算前提升為 int:
兩個左移結果都能以常見平台的 int 表示。printf 中的 %hd 會將對應引數轉換為 short 再輸出。若採用 16 位元二補數表示,超出 short 正範圍的值會呈現如下結果:
- 轉成 16 位元二補數的
short,數值為 。 - 轉成 16 位元二補數的
short,數值為 。
所以輸出為:
-32768 0
選項分析
第 25 題2 分
在程式語言的發展過程中,最早被設計出來的高階程式語言 FORTRAN,隸屬於下列哪一種類別?
核心觀念
本題考查程式語言的分類。命令式程式語言以一連串指令描述運算步驟,程式會改變變數或記憶體中的狀態;FORTRAN 是早期為科學與數值計算設計的高階程式語言,屬於命令式語言。
解題方法
依程式如何描述運算來判斷:FORTRAN 程式以敘述句指定計算步驟,例如設定變數、執行運算、依條件分支或重複執行,符合命令式語言的特徵。它不是以物件、函數組合或邏輯規則為主要組織方式。
選項分析
- (A) 命令式(imperative)程式語言:正確。 FORTRAN 以指令描述程式執行步驟,並透過變數與控制流程完成計算,屬於命令式程式語言。
- **(B) 物件導向式(object-oriented)程式語言:錯誤。
第 26 題2 分
執行以下 Python 程式並輸入「65」,下列何者為程式的輸出?
score = int(input())
if (score >= 90): print("A") elif (score >= 80): print("B") elif (score >= 60): print("C") else: print("F")
核心觀念
本題考查 Python 的條件判斷 if、elif、else。程式會由上而下檢查條件;一旦遇到第一個成立的條件,就執行該區塊,並跳過後續分支。
解題方法
輸入 65 後,int(input) 將輸入文字轉成整數,因此 score = 65。依序判斷:
score >= 90: 不成立。score >= 80: 不成立。score >= 60: 成立,因此執行print("C")。
程式輸出 C。
選項分析
第 27 題2 分
考慮下列 C 語言程式的宣告:
union allType { char character; int integer; float real; double doubleNum; };
如果 sizeof(char) 是 、sizeof(int) 是 、sizeof(float) 是 、sizeof(double) 是 ,sizeof(allType) 是多少?
核心觀念
union(聯合)的所有成員共用同一段記憶體,因此聯合所需的大小,至少要能容納最大成員。它不像 struct 一樣把各成員依序排列、累加大小。
解題方法
各成員的大小為:
因此,allType 至少需要 個位元組,才能容納最大的成員 double doubleNum。在本題所給的大小與一般考題假設下,`sizeof(allType) = 8
第 28 題2 分
執行下列 C++ 程式碼後,螢幕印出的數字為何?
int f(int x) { if (x % 2 == 0) return 2 * x; return x + 1; }
int main() { cout << f(f(f(2) + f(3))) << endl; return 0; }
核心觀念
本題考查 C++ 函式呼叫、巢狀呼叫的求值順序,以及 if 條件判斷。函式 f(x) 的規則是:
其中,x % 2 == 0 用來判斷 x 是否為偶數;條件成立就執行 return 2 * x,否則執行 return x + 1。
解題方法
由內而外計算巢狀函式呼叫:
- 計算括號內的兩個函式值:
- : 是偶數,因此 。
- : 是奇數,因此 。
第 29 題2 分
執行下列 C++ 程式碼後,螢幕印出的數字為何?
int f(int m) { static int n = 0; n++; return (m + n); }
int main() { cout << f(f(f(3))) << endl; return 0; }
核心觀念
函式內的 static 區域變數只初始化一次,並在多次函式呼叫間保留其值。因此,f 每執行一次,n 就加 ,且函式回傳當次的 。
巢狀函式呼叫會先計算最內層,再將其回傳值作為外層呼叫的引數。
解題方法
由內而外逐次計算:
- 最內層
f(3):n從 加至 ,回傳 。 - 中間層
f(4):n從 加至 ,回傳 。
第 30 題2 分
C 函數 bar() 的執行,產生下列何輸出結果?
void bar(void) { int i, j; for (i = 0; i < 5; i++) { for (j = 0; j < i + 1; j++) printf("*"); printf(" "); } }
核心觀念
本題考查 C 語言的巢狀 for 迴圈,以及迴圈內 printf 的執行次數。外層迴圈控制列數,內層迴圈控制每列印出的星號數。
解題方法
外層迴圈中,i 依序取 。每一輪內層迴圈的條件是 j < i + 1,因此該輪會印出 個星號。內層迴圈結束後,執行一次 printf(" "),在該列星號後印出一個空格。
i | 星號數 | 該輪輸出 |
|---|---|---|
| 0 | 1 | * |
| 1 | 2 | ** |
| 2 | 3 | *** |
| 3 | 4 | **** |
| 4 | 5 | ***** |
合併各輪輸出為:
第 31 題2 分
給定以下類別定義:
class A { public: f() { cout << "$$$"; } A() { cout << ":::"; } A(int a) { cout << "***"; }
private: };
若在 main() 中執行以下指令,則將產生的輸出為何?
A *p = new A; A v(1); v.f(); p->f();
核心觀念
本題考 C++ 物件的建構子呼叫時機與成員函式呼叫:
new A會在動態配置的記憶體中建立一個A物件,並呼叫無參數建構子A。A v(1)會建立物件v,並呼叫帶一個整數參數的建構子A(int a)。- 呼叫
f只執行函式本體,不會再次呼叫建構子。
解題方法
依程式執行順序,記錄每一步印出的字串:
-
A *p = new A;建立動態物件時呼叫A,輸出:::。 -
A v(1);以整數1建立物件時呼叫A(int a),輸出***。 -
v.f;執行f,輸出$$$。 -
p->f;透過指標呼叫動態物件的f,再輸出$$$。
依序串接,結果為:
選項分析
第 32 題2 分
執行下列 C++ 程式碼後,螢幕印出的數字為何?
int main() { int A[3][4] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24};
int *p1 = A[1];
int *p2;
p2 = p1 + 4;
cout << *p2 << endl;
return 0;
}
核心觀念
本題考查二維陣列的記憶體排列方式,以及指標加法。C++ 的二維陣列採「列優先」排列:同一列的元素在記憶體中連續存放。
A[1] 是第二列的起始位置,因此 p1 指向 A[1][0]。對 int* 指標加上 ,會向後移動 個 int 元素。
解題方法
將陣列依列排列如下:
| 索引 | 元素 |
|---|---|
A[0] | 2, 4, 6, 8 |
A[1] | 10, 12, 14, 16 |
A[2] | 18, 20, 22, 24 |
因此:
p1 = A[1],指向A[1][0],值為10。p2 = p1 + 4,向後移動四個int的位置。
第 33 題2 分
關於乙太網路(Ethernet)的敘述,下列何者錯誤?
核心觀念
乙太網路(Ethernet)是區域網路(LAN)的技術,主要在資料連結層運作,透過媒體存取控制(MAC)位址識別同一區域網路中的網路介面,並以訊框傳遞資料。乙太網路的實體層則規定訊號如何透過傳輸媒介傳送,媒介可以是雙絞線、同軸電纜或光纖等有線媒介。
解題方法
逐項核對乙太網路的網路層級、位址類型與傳輸媒介。乙太網路主要提供實體層與資料連結層的功能;傳輸層則負責端對端的資料傳輸服務,例如 TCP 或 UDP。因此,若選項把乙太網路說成架設在傳輸層上,便是層級混淆。
選項分析
- (A) 以 MAC 位址來彼此傳遞訊息:正確。 乙太網路訊框包含來源與目的 MAC 位址,網路介面及交換器據此在區域網路中傳送訊框。
- **(B) 乙太網路可以架在傳輸層上:錯誤。
第 34 題2 分
網路通訊設備交換器(Switch)是屬於 OSI 網路協定第幾層?
核心觀念
OSI 七層模型中,交換器(Switch)一般指依據乙太網路訊框內的 MAC 位址轉送資料的設備,屬於資料連結層(第 2 層)。交換器會學習 MAC 位址與連接埠的對應關係,並據此將訊框送往目的設備所在的連接埠。
解題方法
判斷網路設備屬於哪一層,可看它主要依據什麼資訊轉送資料:
- 依據實體訊號或位元傳送:實體層。
- 依據 MAC 位址與訊框轉送:資料連結層。
- 依據 IP 位址路由封包:網路層。
- 依據連接埠號碼進行端對端通訊:傳輸層。
題目所稱的 Switch 是一般乙太網路交換器,依據 MAC 位址轉送訊框,因此屬於資料連結層。
選項分析
第 35 題2 分
有關光纖通訊(Fiber-optic communication),下列何者可為其軸心材質及傳輸原理?
核心觀念
光纖通訊利用光在纖維中的傳播來傳送訊號。光纖的主要結構包括纖芯(core)與包覆於外側的包層(cladding);纖芯通常以玻璃製成,且折射率高於包層。
光線在纖芯與包層交界處入射時,若符合全反射條件,便會反覆在纖芯內反射並沿光纖傳播。因此,光纖的主要傳輸原理是光的全反射。
解題方法
題目要辨認兩件事:光纖的軸心材質,以及訊號沿纖維傳輸的原理。
先判斷材質:一般光纖的纖芯採用玻璃等透明介電材料;「矽」是元素名稱,並非本題所稱光纖軸心的標準材質描述。再判斷原理:光在纖芯與包層交界處反覆全反射,沿光纖前進。因此,應選「玻璃纖維、光全反射」。
選項分析
第 36 題2 分
對於 IP 位址(IPv4)的敘述,下列何者錯誤?
核心觀念
本題考查 IPv4 的傳統類別定址(Classful Addressing)、網路位址與主機位址的區分,以及特殊用途的 Loopback 位址。
IPv4 位址長度為 32 位元。傳統類別定址依位址最前面的位元判別類別:
| 類別 | 第一個八位元組範圍 | 預設網路/主機位元數 |
|---|---|---|
| Class A | 1–126 | 8/24 |
| Class B | 128–191 | 16/16 |
| Class C | 192–223 | 24/8 |
其中 127.x.y.z 保留作為 Loopback 位址,0 與 255 等特殊範圍也不適合直接套用一般主機位址規則。
解題方法
先看各選項敘述的關鍵條件:主機位址全為 1、127 開頭,以及 IP 位址的第一個八位元組。判定類別時,只需將位址的第一個數字與類別範圍比較;判斷 Class C 網路的主機位址數量時,則依其預設主機位元數計算。
選項分析
- (A) 正確。 在一般子網路中,主機位址欄位全為 1 是該子網路的廣播位址。例如某網路的主機欄位為 8 位元,全部設為 1 即代表對該子網路廣播。此規則指的是主機欄位,不是整個 IPv4 位址全為 1。
第 37 題2 分
有關 OSI 模型中傳輸層(Transport Layer)的協定,下列何者正確?
核心觀念
本題考查傳輸層中 TCP 與 UDP 的服務特性,以及應用層協定使用的傳輸方式。
- TCP 是面向連線的可靠傳輸協定,具備錯誤檢查、重傳、流量控制與壅塞控制等機制。建立連線時使用三方交握。
- UDP 是無連線的傳輸協定,標頭較簡單,不負責確認、重傳或壅塞控制,因此不保證可靠送達。
- 應用層協定會依需求選用 TCP 或 UDP;不能一概認定都採用 TCP。
解題方法
逐項核對各選項是否符合 TCP、UDP 的基本特性:
- 判斷 TCP 是否具有壅塞控制機制。
- 判斷三方交握屬於 TCP 還是 UDP。
- 比較 TCP 與 UDP 是否都提供可靠傳輸與重傳。
- 檢查列出的應用是否全都採用 TCP,尤其留意 DNS 與 PING。
選項分析
第 38 題2 分
有關 RSA 加密系統的敘述,下列何者錯誤?
核心觀念
RSA 是一種公開金鑰密碼系統,安全性主要建立在大整數分解的困難性上。它使用一組彼此相關的公開金鑰與私密金鑰:公開金鑰可供加密或驗證簽章,私密金鑰則用於解密或產生簽章。
RSA 由 Ron Rivest、Adi Shamir 與 Leonard Adleman 於 1977 年提出;Diffie 與 Hellman 提出的是公開金鑰密碼學的重要概念及 Diffie–Hellman 金鑰交換方法,並非 RSA 的發明者。
解題方法
逐項核對 RSA 的系統類型、安全性基礎、發明者,以及金鑰長度敘述。題目問「何者錯誤」,其中把 RSA 的發明者與金鑰交換演算法混為一談的選項,與 RSA 的基本事實不符。
選項分析
第 39 題2 分
有關 UDP(User Datagram Protocol)的敘述,下列何者錯誤?
核心觀念
本題考查 UDP 的傳輸層定位、資料傳遞方式,以及它與 TCP 的特性差異。UDP 是一種簡單、無連線的傳輸層協定,提供多工與解多工功能,但不提供可靠傳輸、流量控制或壅塞控制等機制。
解題方法
逐項判斷敘述是否符合 UDP 的基本特性。關鍵是分辨 UDP 與 TCP 的複雜度及速度:UDP 標頭較簡單、額外控制機制較少,因此通常開銷較低、傳輸速度較快;「較複雜且速度慢」描述的是相反特性。
選項分析
- (A) 正確。 UDP 屬於傳輸層協定,負責在主機間傳遞資料,並以連接埠號辨識應用程式。
- **(B) 正確。
第 40 題2 分
垃圾信件主要因為下列何種協定,很容易捏造不實身分來濫發電子郵件?
核心觀念
本題考查電子郵件傳送協定及垃圾郵件的來源偽造問題。SMTP(Simple Mail Transfer Protocol,簡易郵件傳送協定)負責在郵件伺服器之間傳送電子郵件。傳統 SMTP 傳送流程缺乏充分的寄件者身分驗證,寄件者欄位可被偽造,因此常被濫用來大量寄送垃圾郵件。
解題方法
先看題幹描述的行為:垃圾郵件寄件者「捏造不實身分」並濫發電子郵件。這與郵件傳送時偽造寄件者資訊的問題相符,應選擇負責傳送電子郵件的 SMTP。寄件者驗證不足是垃圾郵件容易出現的原因之一;實務上可透過 SPF、DKIM、DMARC 等機制協助驗證寄件網域與郵件來源。
選項分析
- (A) SMTP:正確。 SMTP 用於傳送電子郵件。傳統 SMTP 未充分驗證寄件者身分,寄件資訊容易遭偽造,因而常被用來濫發垃圾郵件。
- **(B) SNMP:錯誤。