有關電腦系統的輸出入周邊設備,下列何者錯誤?
A. 鍵盤(Keyboard)
B. 滑鼠(Mouse)
C. 程式計數器(Program Counter)
D. 印表機(Printer)
參考解答
- 答案:C. 程式計數器(Program Counter)
解析:程式計數器(Program Counter,PC)是 CPU 內部暫存器,用於指示下一條將執行指令的記憶體位址,屬於中央處理器核心元件,並非輸出入周邊設備。鍵盤、滑鼠為輸入裝置,印表機為輸出裝置,三者皆屬電腦系統的輸出入周邊設備。
當CPU 遇到「條件式跳躍(Conditional Jump)指令」且條件成立時,下列何者會發生?
A. CPU 停止執行任何指令
B. CPU 會將特定的數值放入算術邏輯單元(Arithmetic Logic Unit)中
C. CPU 將條件跳躍指令中的位址放入程式計數器(Program Counter)中
D. CPU 會重複執行剛剛執行的指令
參考解答
- 答案:C. CPU 將條件跳躍指令中的位址放入程式計數器(Program Counter)中
解析:條件式跳躍指令(conditional jump)執行時,CPU 先依算術邏輯單元(ALU)運算後產生的條件旗標(如 zero、sign、carry)判斷條件是否成立。條件成立時,CPU 會把指令中指定的目標位址載入程式計數器(Program Counter, PC),下一個指令改由該位址抓取(fetch),這就是跳躍;若條件不成立,PC 只照常指向下一道指令。因此 C 正確。ALU 負責運算並產生旗標,不會被「放入特定數值」;CPU 也不會停止執行或重複執行同一指令。
儲存數字-19 到一個8 位元的記憶體空間中,若指定表示法是符號與大小表示法(sign-and-magnitude),有關轉換後的表示法,下列何者正確?
A. 11101101
B. 00010011
C. 01101100
D. 10010011
參考解答
解析:符號與大小表示法以最高位元當符號位,負數設為 1,其餘 7 位放絕對值。19 = 16+2+1,二進位為 0010011,補足 7 位後為 0001 0011;加上符號位 1 得 1001 0011。B 是 +19;C 的數值為 108;A(11101101)其實是 -19 的二補數表示(256−19=237),並非符號與大小法。故選 D。
在二補數的加法運算中,當兩個負數相加時,下列那一種情況表示發生溢位(overflow)?
A. 結果是負數
B. 結果的最左邊符號位元變成1
C. 結果是零
D. 結果是正數
參考解答
解析:n 位元二補數的表示範圍是 -2^(n-1) 到 2^(n-1)-1。兩個負數相加,其正確的和必定為負;若相加後的結果符號位元變成 0,也就是結果顯示為正數,代表實際的和已小於下限 -2^(n-1),因而發生溢位。實務上的判斷法則是:兩個運算元同號,但結果的符號與運算元相反,就是溢位。選項 A 的結果是負數,這是負數相加的正常情形;選項 B 的符號位元為 1,同樣只是正常結果;選項 C 的和為零,兩個負數相加不可能得到零。以上三者都不是溢位的判準。
假設X 和Y 為布林變數,符號「*」、「+」和「~」分別代表AND、OR 和NOT 三種運算子。考慮以下布林函數F(X, Y) = X*(~Y)+Y,則函數F 與下列何者等價?
A. X*Y
B. (~X)*(~Y)
C. ~(X*Y)
D. ~((~X)*(~Y))
參考解答
解析:化簡 F = X·(~Y) + Y。依吸收律 A + (~A)·B = A + B,令 A = Y、B = X,可得 Y + X·(~Y) = Y + X = X + Y。選項 D 依笛摩根定律 ~((~X)·(~Y)) = ~(~X) + ~(~Y) = X + Y,與 F 等價。其餘選項:A 為 X·Y,僅在 X、Y 皆為 1 時成立;B 為 (~X)·(~Y),僅在兩者皆為 0 時成立;C 為 ~(X·Y) = ~X + ~Y(NAND),真值表與 F 不同。
能自我複製的惡意軟體稱為:
A. 病毒(Virus)
B. 木馬(Trojan horse)
C. 蠕蟲(Worm)
D. 間諜軟體(Spyware)
參考解答
解析:蠕蟲(Worm)能自行複製,並透過網路主動傳播,不需要依附在其他程式或檔案上,也不必使用者操作即可散播,例如曾造成大規模災情的衝擊波、紅色警戒。病毒(Virus)必須寄生於宿主程式,靠使用者執行才會感染;木馬(Trojan horse)偽裝成正常程式,本身通常不具自我複製能力,主要作用是開後門;間諜軟體(Spyware)則是蒐集使用者資訊。因此「能自我複製」是蠕蟲的關鍵特徵。
在交通繁忙時間的時候,常常會出現所有車輛都無法移動的狀況,下列何種方法最能防止這種情況的發生?(提示:在作業系統中有一個概念和車輛無法移動的情況很類似)
A. 所有車輛進入交叉口後不得後退
B. 讓每一條道路上能前進的車輛數變多
C. 車輛只能在有明確通行權時進入交叉口
D. 允許車輛長時間等待
參考解答
解析:此情境對應作業系統的死鎖(deadlock),其四個必要條件為互斥、持有並等待、不可搶佔與循環等待。要求車輛「先確認有通行權才進入交叉口」,等於必須先取得所需資源才持有資源,破壞了「持有並等待」條件,因此能預防死鎖。選項 A 的進入後不得後退,近似「不可搶佔」,反而使循環等待更難化解;選項 B 增加道路容量只是延後壅塞發生;選項 D 允許長時間等待,只會讓僵局持續。
電腦中何種記憶體,在關機後資料會遺失?
A. PROM
B. ROM
C. RAM
D. EPROM
參考解答
解析:RAM(隨機存取記憶體)屬於揮發性記憶體,必須靠電力維持電容或正反器的狀態,一旦關機斷電,內容便會消失,故稱為揮發性。ROM、PROM 與 EPROM 皆為非揮發性記憶體:ROM 在出廠時即燒錄內容,PROM 可由使用者燒錄一次,EPROM 可用紫外線抹除後重新寫入;三者斷電後資料仍會保留,因此不會因關機而遺失。
圖形處理器(Graphics Processing Unit, GPU)最初是為加速圖形處理而設計,許多圖形相關運算需要進行大量的運算。下列何者圖形處理任務最依賴GPU 的加速能力,因為它需要大量運算與平行處理?
A. 即時渲染一個具有光影效果的3D 動畫場景
B. 編輯圖片的顏色與亮度
C. 將一張高彩度的靜態圖片顯示在螢幕上
D. 壓縮圖片以節省儲存空間
參考解答
- 答案:A. 即時渲染一個具有光影效果的3D 動畫場景
解析:GPU 具有大量簡化核心,擅長資料平行、吞吐量大的運算。即時渲染含光影效果的 3D 場景時,須對每個頂點與像素執行著色、光照計算、紋理取樣等相同運算,且要在極短時間內完成大量平行計算,最依賴 GPU 加速。調整圖片的顏色與亮度屬於簡單的逐點運算;將靜態圖片顯示在螢幕上,主要取決於輸出介面與記憶體頻寬;圖片壓縮多為串列式演算法,運算量與可平行度都遠低於 3D 渲染。
多媒體(Multimedia)是多種資訊傳輸媒介或多個不同型態的資訊,常見的影像副檔名有jpg、gif、png、tif 等,各具有不同的影像儲存方法、表達及壓縮能力,下列何種影像儲存格式為破壞性壓縮?
A. gif
B. jpg
C. png
D. tif
參考解答
解析:JPEG(.jpg)採用破壞性壓縮,透過離散餘弦轉換捨棄人眼不易察覺的高頻資訊,壓縮率高但畫質不可完全還原。GIF 採用 LZW 無失真壓縮且限 256 色;PNG 採用 Deflate 無失真壓縮支援真彩色;TIFF 多為無壓縮或無失真壓縮(亦可選用 JPEG 壓縮,但預設非破壞性)。
根據以下三個表格,以及以下的SQL,給出查詢結果:SELECT SSNFROM Works_On w, Employee eWHERE w.SSN = e.SSN AND e.Salary>=25000AND PNO IN (SELECT SSNFROM Works_On wo, Office fWHERE wo.PNO = f.PNO AND f.Name = 'Research & Development')EmployeeOfficeSSNNameSalaryPNOName155Chen295001Accounting193Liu210002Human Resource221John310003Research and Development229Nancy30000247Sean25000Works OnSSNPNO15511931221222932473
A. 229 247
B. 229 221
C. 155 247
D. 空集合
參考解答
解析:子查詢先將 Works_On 與 Office 依 PNO 聯結,篩出部門名稱為 Research and Development(PNO=3)的紀錄,取出其 SSN 為 229、247。外層條件寫成 PNO IN (229, 247),但 PNO 欄位值只有 1、2、3,不可能等於 229 或 247,故沒有任何資料符合;這是查詢把 SSN 誤當成 PNO 比較所致,結果為空集合。選 D。
關於關聯式資料庫的概念,下列敘述何者正確?
A. 外鍵(Foreign keys)可以是空值(null)
B. 在同一個資料表格中,兩筆資料可以有同一個主鍵(primary key)
C. 在同一個資料表格中,屬性可以根據情況對應多個不同的定義域(domains)
D. 外鍵(Foreign keys)不能指到自己
參考解答
- 答案:A. 外鍵(Foreign keys)可以是空值(null)
解析:外鍵允許為 NULL 值,表示該屬性暫無參照對象(如員工尚未分派部門)。主鍵不得重複且不得為 NULL(實體完整性);同一資料表每個屬性僅對應單一定義域;外鍵可自我參照(如員工表的主管欄位參照同表主鍵)。
假設整數陣列int CAT[80],且每個整數占用4 bytes。若元素CAT[0]在記憶體中的位址為1000,則元素CAT[30]的位址,下列何者正確?
A. 1320
B. 1120
C. 1000
D. 1030
參考解答
解析:元素位址計算公式:Base + index × size。CAT[0] 位址 1000,整數佔 4 bytes,CAT[30] 位址 = 1000 + 30 × 4 = 1120。選項 A 1320 對應 index 80;選項 D 1030 錯誤以 1 byte 計算。
若數學式AB*CDE-^*是以後置式(Postfix)表示法呈現,則其中置式(Infix)表示法,下列何者正確?
A. A**B-C^(D-E)
B. A*B-(C^D)*E
C. A*B-C^(D*E)
D. (A*B)*(C^(D-E))
參考解答
解析:由左而右掃描後置式 AB*CDE-^*:A、B 先入堆疊,遇 * 時取出得 (A*B);接著 C、D、E 入堆疊,遇 - 得 (D-E);遇 ^ 時取出 (D-E) 與 C,得 C^(D-E);最後遇 *,取出 (A*B) 與 C^(D-E),組合成 (A*B)*(C^(D-E))。故選 D。
下列Python 程式碼的執行成果為:y=[1,2,3,4]y.pop(1)print(y)
A. [2,3,4]
B. [1,3,4]
C. [1]
D. [4]
參考解答
解析:list.pop(index) 移除並回傳指定索引元素。y=[1,2,3,4] 索引 1 為值 2,pop(1) 移除 2 後列表變為 [1,3,4],print 輸出即為 [1,3,4]。選項 A 為 pop(0) 結果;選項 C、D 與 pop 行為不符。
有關二元樹(Binary tree)的敘述,下列何者正確?
A. 每個節點(Node)最多有2 個子節點(Child node)
B. 每個節點都恰有1 個父節點(Parent node)
C. 每棵二元樹都有1 個根節點(Root node)
D. 每棵二元樹都最少有1 個節點
參考解答
- 答案:A. 每個節點(Node)最多有2 個子節點(Child node)
解析:二元樹的定義是每個節點最多擁有兩個子節點,也就是左子樹與右子樹,因此 A 正確。B 不成立,因為根節點沒有父節點;只有非根節點才恰有一個父節點。C 也不成立,因為空樹(empty tree)沒有任何節點,當然也沒有根節點,只有非空二元樹才恰有一個根節點。D 同樣不成立,二元樹允許節點數為 0 的空樹,並不要求至少有一個節點。作答時要特別留意「最多」與「恰有」的差別,以及空樹這個邊界情況。
為能夠在資料儲存或傳輸有更好的效率,使用壓縮技術。一個有名的技術稱為霍夫曼樹編碼(HuffmanTree Coding)。假設在一篇文章裡,出現A 的次數是45 次,B 是20 次,C 是25 次,D 是6 次,E是33 次,而T 是28 次,以此數據建構一棵霍夫曼樹。有關編碼ACAT 需要多少位元?
A. 7
B. 8
C. 9
D. 10
參考解答
解析:霍夫曼編碼每次取頻率最小的兩個節點合併:D6+B20=26,26+C25=51,T28+E33=61,A45+51=96,最後 61+96=157。由此可得各字元的位元長度:A 在根下一層為 2 位元,T、E 亦為 2 位元,C 為 3 位元,B、D 為 4 位元。ACAT 需 2+3+2+2=9 位元,故選 C。若用固定長度編碼,六個字元至少需 3 位元,ACAT 要 12 位元,可見霍夫曼編碼確實較省。
建立如下無向圖(Undirected Graph)之最小生成樹(Minimum Spanning Tree),其各邊權重總和為多少?
A. 45
B. 48
C. 52
D. 53
參考解答
解析:無向圖之最小生成樹(MST)可利用 Kruskal 演算法或 Prim 演算法求解。依演算法步驟,依各邊權重由小至大依序挑選,且避免形成封閉迴路(Cycle),直到將圖中所有頂點完全連通。將所選取的生成樹邊集合之各邊權重加總,其最小權重總和為 52,故正確答案選 C。A(45)、B(48)權重過小不足以使全圖節點連通,D(53)則非最小權重組合。
關於圖形資料結構(Graph)的基本特性敘述,下列何者正確?
A. 所有圖形的邊都有方向性
B. 一個圖形一定是一個連通的結構
C. 圖形中可能存在節點沒有與其他節點相連
D. 圖形結構中不可能存在環狀的連結
參考解答
解析:圖形由節點(vertex)與邊(edge)組成,邊可以有方向(有向圖)也可以沒有方向(無向圖),所以 A 的「所有邊都有方向性」不成立。圖形不必然連通,可能分成數個連通分量,故 B 不成立。節點允許沒有任何邊與之相連,形成孤立節點(isolated vertex),因此 C 正確。圖形也可以含有環(cycle),例如無向圖中三點兩兩相連即構成環,所以 D 不成立。
對於排序(Sorting)的敘述,下列何者正確?
A. 快速排序(Quick Sort)速度快,無論在何種資料情況下都能有O(n logn)的效能
B. 插入排序(Insertion Sort)最差的情況下,所花時間是O(n2),但平均情況的效能會是O(n logn)
C. 合併排序(Merge Sort)平均情況的效能是O(n logn),且為穩定排序(Stable Sort)
D. 堆積排序(Heap Sort)平均情況的效能是O(n logn),且為穩定排序(Stable Sort)
參考解答
- 答案:C. 合併排序(Merge Sort)平均情況的效能是O(n logn),且為穩定排序(Stable Sort)
解析:合併排序(Merge Sort)將序列不斷對半分割再逐層合併,每層合併成本為 O(n),共約 O(log n) 層,因此平均與最差皆為 O(n log n);合併時若遇相等元素,可優先取左半邊者,維持原相對次序,故為穩定排序,C 正確。快速排序最差情況(如已排序資料卻固定挑端點為基準)會退化為 O(n²);插入排序平均仍為 O(n²);堆積排序雖為 O(n log n),但交換過程會破壞相等元素的相對次序,並不穩定。
依下圖的二元搜尋樹(binary search tree),採後序走訪(postorder traverse)的數值順序為:
A. 6 18 10 34 46 40 20
B. 6 10 18 20 34 40 46
C. 20 10 6 18 40 34 46
D. 6 18 34 46 10 40 20
參考解答
- 答案:A. 6 18 10 34 46 40 20
採用循序搜尋法尋找資料,所需搜尋時間的平均情況(average case)會在何時發生?
A. 要尋找的目標資料是陣列的中間元素
B. 要尋找的目標資料不存在於陣列
C. 要尋找的目標資料是陣列的最後元素
D. 要尋找的目標資料是陣列的最後元素或不存在於陣列
參考解答
解析:循序搜尋(sequential search)從陣列開頭逐一比對。平均情況假設每個位置被搜尋的機率相等,則比較次數為 (1+2+…+n)/n = (n+1)/2,這正是目標落在陣列中間位置時的情形,故選 A。若目標在最後一個元素,需比對 n 次;若目標不存在,也必須比對完 n 個元素才能確定,兩者都屬於最差情況(worst case),而不是平均情況,因此 B、C、D 都不正確。
在C/C++語言中,以#開頭的指令,編譯器會在下列那一個階段處理?
A. 當成註解,不處理
B. 前置處理時
C. 連結(Link)時
D. 偵錯時
參考解答
解析:在 C/C++ 中,以 # 開頭的敘述稱為前置處理指令(preprocessor directive),例如 #include、#define、#ifdef、#pragma,由前置處理器在編譯前先處理:把標頭檔內容插入、進行巨集展開與條件式編譯等。處理完的程式碼才交給編譯器(compiler)做語法分析並產生目的碼(object code),最後由連結器(linker)合併所需函式庫。因此這類指令是在前置處理階段處理,故選 B;它並非註解,也不在連結或偵錯階段處理。
給定下列變數宣告:int a[10], value = 100, *p;則下列指令何者語法錯誤?
A. p = &value;
B. p = a;
C. a = p;
D. *a = *p;
參考解答
解析:陣列名稱 a 是不可修改的左值,不能將指標 p 指派給 a,因此 a = p 語法錯誤。p=&value 合法,p=a 合法(陣列退化為指標),*a=*p 合法(透過指標存取元素)。
關於程式語言語法(Syntax)與語意(Semantics)的敘述,下列何者錯誤?
A. 設計程式時,程式碼即使有語意錯誤,但是只要程式的語法正確也能執行
B. 編譯器或解譯器無法發現程式碼中的語意錯誤
C. 當程式碼違反程式語言的規則時,例如拼字錯誤,則程式一定無法執行
D. 當程式執行結果不符合預期時,可知程式碼存在語法錯誤
參考解答
- 答案:D. 當程式執行結果不符合預期時,可知程式碼存在語法錯誤
解析:語法錯誤會導致編譯失敗無法執行;語意/邏輯錯誤通常能編譯執行但結果錯誤。編譯器可抓型別不匹配等語意錯誤,但無法抓邏輯錯誤。執行結果不符預期表示存在邏輯/語意錯誤,而非語法錯誤。
考慮以下C 語言程式片段,執行後data[]的內容,下列何者正確?int data[]={10,20,30,40,50},n=5,i;for(i=0;i<n/2;i++){data[n-i-1]+=data[i];data[i]=data[n-i-1]-data[i];data[n-i-1]-=data[i];}
A. 10,20,30,40,50
B. 50,40,30,20,10
C. 50,30,10,20,40
D. 30,20,10,40,50
參考解答
解析:迴圈 i=0,1 交換對稱元素:i=0 使 data[0] 與 data[4] 交換(10↔50);i=1 使 data[1] 與 data[3] 交換(20↔40);中央 data[2] 不動。最終為 50,40,30,20,10。
根據下列C 語言程式,那個執行結果正確?int f(int x){if(x>10)return x+2;else if(x<8)return x+3;elsereturn x+1;}
A. f(7),f(10)的傳回值分別是10,12
B. f(8),f(9)的傳回值分別是9,10
C. f(9),f(10)的傳回值分別是10,12
D. f(10),f(11)的傳回值分別是11,12
參考解答
- 答案:B. f(8),f(9)的傳回值分別是9,10
解析:f(8):不大於10且不小於8,走 else 回傳 8+1=9;f(9) 同理回傳 9+1=10。其餘選項中 f(10)=11、f(11)=13,與各選項數值不符。
下列那段C++程式碼是輸出數字1 到10,使用for 迴圈最適合寫法?
A. for (int i = 1; i <= 10; i++) cout << i;
B. for (int i = 10; i >= 1; i--) cout << i;
C. for (int i = 1; i < 10; i++) cout << i;
D. for (int i = 0; i <= 10; i++) cout << i;
參考解答
- 答案:A. for (int i = 1; i <= 10; i++) cout << i;
解析:for 迴圈的三個要素是起始值、繼續條件與遞增方式。A 以 i=1 起始、條件 i<=10、每次 i++,因此依序輸出 1、2……10,最符合題意。B 由 10 遞減到 1,輸出順序顛倒;C 條件為 i<10,只會輸出 1 到 9,漏掉 10;D 從 0 起算且條件為 i<=10,會多輸出 0,共 11 個數字。故選 A。
假設a、b 皆為正整數,則以下函數的回傳值,應為下列何者?int A(int a, int b){int c = 0;int i, j;for(i = a; i >= 0; i--)for (j = b; j > 0; j--)c++;return c;}
A. a*b
B. a!*b!
C. a*(b-1)
D. (a+1)*b
參考解答
解析:外層迴圈 i 由 a 遞減至 0(含 0),共執行 a+1 次;內層迴圈 j 由 b 遞減至 1(條件 j>0),共執行 b 次。內層每執行一次就把 c 加 1,故 c 的總次數為 (a+1)×b,函數回傳 (a+1)*b。A 漏算 i=0 的那一列;C 誤認 j 只跑 b-1 次;B 把計數誤為階乘相乘,均與雙層迴圈相乘計數的原理不符。故選 D。
呼叫下列C 語言的函數sum(),會回傳值為何?int sum(int ans, int n){if(n==1)return ans;return sum(ans+(n-1)*n,n-1);}
A. 當呼叫sum(0,5)時,回傳值為38
B. 當呼叫sum(0,6)時,回傳值為69
C. 當呼叫sum(0,7)時,回傳值為111
D. 當呼叫sum(0,8)時,回傳值為168
參考解答
- 答案:D. 當呼叫sum(0,8)時,回傳值為168
解析:遞迴 sum(0,n) 計算 Σ(k-1)*k,k=2..n。sum(0,8)=7*8+6*7+...+1*2=56+42+30+20+12+6+2=168,其餘 n 值結果與選項數值不符。
在開發一個學生管理系統時,需要儲存100 位學生的成績,且要求能夠快速透過座號(索引)查詢成績。若只使用「陣列」這種結構,則在「陣列」已滿的情況下,要再新增第101 位學生成績時,通常該如何處理?
A. 直接在記憶體最後方再配置空間,無須更動既有陣列
B. 只能將前50 位學生成績刪除,釋放出空間
C. 宣告一個更大的陣列並把資料複製過去
D. 利用彈性插入功能直接擴增陣列大小
參考解答
解析:陣列在宣告時即固定大小,若已滿要新增元素時無法直接擴增,需宣告一個較大的新陣列,將原陣列所有元素逐一複製到新陣列,再將新元素加入新陣列並以新陣列取代原陣列。A 誤:陣列無法在記憶體最後方直接擴展而不影響結構;B、D 均非陣列的標準做法。
有關物件導向式(Object-oriented)程式語言敘述,下列何者錯誤?
A. C
B. Java
C. Python
D. JavaScript
參考解答
解析:C 語言屬於程序導向(Procedural)語言,並非物件導向式語言。Java 為純物件導向、Python 支援物件導向、JavaScript 亦支援物件導向(原型導向),故錯誤者為 C。
下列何項網路服務,可協助應用程式將www.moe.gov.tw 轉換成140.111.14.50?
A. SMTP
B. DNS
C. FTP
D. ARP
參考解答
解析:DNS(Domain Name System)負責將網域名稱(如 www.moe.gov.tw)解析為 IP 位址(如 140.111.14.50)。SMTP 用於電子郵件傳送、FTP 用於檔案傳輸、ARP 用於 IP 位址解析為 MAC 位址,皆與網域名稱解析無關。
通訊傳輸媒介中,有關引導式媒介(Guided media),下列何者錯誤?
A. 雙絞線
B. 紅外線
C. 光纖
D. 同軸電纜
參考解答
解析:引導式媒介(Guided media)需透過實體路徑傳輸信號,包括雙絞線、同軸電纜、光纖等。紅外線屬於非引導式媒介(Unguided media),透過空氣或真空以無線方式傳輸,故選項 B 錯誤。
DNS 查詢過程中,若本地DNS 伺服器沒有快取結果,下一步會向下列何種伺服器發出請求?
A. 轉發伺服器(Forwarding Server)
B. Web 伺服器
C. TLD 伺服器(Top-Level Domain Server)
D. 根名稱伺服器(Root Name Server)
參考解答
- 答案:D. 根名稱伺服器(Root Name Server)
解析:DNS 遞迴查詢流程中,若本地 DNS 伺服器無快取,會先向根名稱伺服器(Root Name Server)查詢,再依序向 TLD 伺服器及權威名稱伺服器查詢。故下一步應向根名稱伺服器發出請求。
邊界閘道協定(Border Gateway Protocol, BGP)是用於網際網路中,自治系統(Autonomous System,AS)之間交換路由資訊的標準協定。有關BGP 中的AS_PATH 屬性,可以用來達成下列何種功能?
A. 防止路由迴圈
B. 實現負載均衡
C. 確定管理距離
D. 提供QoS 保證
參考解答
解析:BGP 的 AS_PATH 屬性記錄了路由經過的自治系統編號序列。若收到的路由更新中已包含本身的 AS 編號,即表示可能產生路由迴圈,BGP 會捨棄該路由,故可用來防止路由迴圈。BGP 並非主要以 AS_PATH 實現負載均衡、管理距離或 QoS 保證。
在實現Web 應用的離線功能時,下列何種技術組合最為完整?
A. LocalStorage + AJAX
B. Service Worker + Cache API + IndexedDB
C. WebSocket + SessionStorage
D. Web Workers + Cookies
參考解答
- 答案:B. Service Worker + Cache API + IndexedDB
解析:要實現完整的 Web 離線功能,常用 Service Worker 攔截網路請求、Cache API 快取靜態資源、IndexedDB 儲存結構化資料,三者搭配可支援離線瀏覽與資料存取。其他選項僅涵蓋部分功能,無法達成最完整的離線應用。
某系統使用RSA 進行加密,發現每個使用者需要一對密鑰(公鑰和私鑰)。這種加密方式屬於下列何種類型?
A. 對稱式加密(Symmetric Encryption)
B. 非對稱式加密(Asymmetric Encryption)
C. 哈希加密(Hash Encryption)
D. 開放式加密(Open Encryption)
參考解答
- 答案:B. 非對稱式加密(Asymmetric Encryption)
解析:RSA 屬於公開金鑰加密系統,每個使用者擁有一對金鑰:公鑰(公開給他人加密或驗證)與私鑰(僅本人持有解密或簽章),屬於非對稱式加密(Asymmetric Encryption)。對稱式加密僅使用單一金鑰,雜湊並非加密、開放式加密亦非此分類。
在伺服器受到DoS 攻擊時,最有可能會出現下列何種問題?
A. 資料外洩
B. 檔案損毀
C. 網頁遭到竄改
D. 網路服務中斷
參考解答
解析:DoS(Denial of Service,阻斷服務)攻擊的目的,在於耗盡伺服器的網路頻寬、連線數或運算資源,使合法使用者無法取得服務,因此最典型的後果就是網路服務中斷。資料外洩屬於機密性被侵害,例如遭竊取或側錄;檔案損毀屬於對完整性或可用性的破壞,例如勒索軟體加密檔案;網頁遭到竄改(defacement)則屬於對完整性的攻擊。這三者的動機與手法,都與 DoS 以「讓服務無法使用」為核心的本質不同。
社交工程(Social engineering)為一種收集資訊的手法,通常由下列何種來源收集?
A. 翻找垃圾桶
B. 利用搜尋引擎搜尋不小心外洩的資料
C. 用工具掃描內部網路
D. 利用人性弱點欺騙他人,以獲取機敏資料
參考解答
解析:社交工程鎖定「人」這個最薄弱的環節,手法包括假冒身分、電話詐騙、釣魚郵件、假借問卷或求助等,利用信任、好奇、恐懼、貪小便宜等心理弱點,誘使對方主動交出帳號密碼或機敏資料。翻找垃圾桶(dumpster diving)與利用搜尋引擎尋找外洩資料(公開來源情報),雖然也屬於蒐集情報的手法,但偏向實體管道或公開來源,並未直接操弄人性;用工具掃描內部網路則屬於技術性偵察,與社交工程的定義有別。