112 年 國立中正大學會計與資訊科技學系碩士班資訊組《計算機概論》
第 1 題
- Which of the following do digital signatures provide?
A) Authentication and availability of data
B) Confidentiality and integrity of data
C) Authentication and confidentiality of data
D) Authentication and integrity of data
登入後即可作答並保存紀錄。
核心觀念
數位簽章(digital signature)主要透過非對稱式密碼學達成:
- 身分驗證(authentication):確認訊息確實由特定私鑰持有者所簽署。
- 資料完整性(integrity):確認訊息在傳送過程中未遭竄改。
- 不可否認性(non-repudiation):簽署者難以否認曾對訊息進行簽署。
數位簽章的基本流程如下:
- 對原始資料計算雜湊值:
其中, 為訊息, 為雜湊函數。
- 簽署者使用自己的私鑰對雜湊值進行簽署,產生數位簽章:
- 接收者使用簽署者的公開金鑰驗證簽章,並重新計算訊息的雜湊值。若驗證結果一致,表示訊息來源可信,且內容未被竄改。
數位簽章不負責隱藏訊息內容;若要達成機密性,必須使用加密機制,例如以接收者的公開金鑰加密資料。
解題方法
判斷數位簽章提供哪些安全性質,可從兩個問題切入:
-
能否確認訊息由誰送出?
可以,因為只有私鑰持有者能產生有效簽章,因此提供身分驗證。 -
能否確認訊息是否被修改?
可以,因為訊息內容改變後,重新計算的雜湊值會與簽章中的原雜湊值不一致,因此提供完整性。
至於資料機密性,數位簽章本身不會將訊息內容加密;資料可用性則屬於系統是否持續提供服務的特性,與數位簽章無直接關係。
選項分析
A) Authentication and availability of data
錯誤。
第 2 題
- You are part of a security staff at a highly profitable bank and each day, all traffic on the network is logged for later review. Every Friday when major deposits are made, you're seeing a series of bits placed in the "Urgent Pointer" field of a TCP packet. This is only 16 bits which is not much but it concerns you because:
A) It is normal traffic because sometimes the previous fields 16-bit checksum value can over run into the urgent point's 16-bit field causing the condition.
B) It could be a symptom of malfunctioning network card or drivers and the source system should be checked for the problem.
C) This could be a sign of covert channeling in bank network communications and should be investigated.
D) It could be a sign of damaged network cable causing the issue.
登入後即可作答並保存紀錄。
核心觀念
本題考查 TCP 標頭中的 Urgent Pointer(緊急指標)欄位與**隱蔽通道(covert channel)**概念。
TCP 標頭包含下列重要欄位:
- Checksum:檢查 TCP 標頭與資料在傳輸過程中是否發生錯誤。
- URG 控制位元:表示本 TCP 區段含有緊急資料。
- Urgent Pointer:在 URG 被設為 1 時,指出緊急資料相對於目前序號的位置。
Urgent Pointer 本身是固定的 16 bits。若系統沒有傳送緊急資料,通常不應持續在此欄位放置具有規律性的資料。
解題方法
判斷重點有兩個:
- Urgent Pointer 是否會因正常 TCP 運作而被 Checksum 溢位寫入?
- 題目描述的位元是否具有可疑的時間規律與傳遞目的?
題目指出:
- 所有網路流量都被記錄。
- 每逢星期五、大筆存款發生時,Urgent Pointer 欄位出現一系列 bits。
- 銀行屬於高獲利且高度敏感的環境。
若攻擊者將資料編碼後放入不常使用的 TCP 欄位,即使每次只能傳送 16 bits,也能透過大量封包逐步傳遞資訊。這種利用正常通訊協定欄位隱藏資料的方式,就是隱蔽通道。
題目特別強調「固定時間」與「重大存款事件」,代表這些 bits 可能與特定業務活動有關,具有可疑的規律性。因此應將其視為潛在的資料外洩或秘密通訊跡象,進一步調查封包來源、目的地、URG 位元狀態、欄位內容與傳送頻率。
選項分析
A) 錯誤。
Checksum 是 TCP 標頭中的獨立 16-bit 欄位。其數值即使發生加法進位,也不會「溢位到」相鄰的 Urgent Pointer 欄位。
第 3 題
- What does PKI use to provide some of the strongest overall control over data confidentiality, reliability, and integrity for Internet transactions?
A) A combination of digital certificates and two-factor authentication
B) A combination of the public-key cryptography, digital certificates and two-factor authentication
C) A combination of public-key cryptography and digital certificates
D) A combination of public-key cryptography and two-factor authentication
登入後即可作答並保存紀錄。
這個問題在探討公開金鑰基礎建設 (Public Key Infrastructure, PKI) 如何提供強大的資料機密性、可靠性與完整性控制。PKI 是建立在公開金鑰密碼學的基礎上,並利用數位憑證來管理金鑰和身分。
讓我們逐一分析 PKI 的核心組成要素及其提供的安全保障:
- 公開金鑰密碼學 (Public-key cryptography):這是 PKI 的基礎。它使用一對金鑰(公開金鑰和私密金鑰)。公開金鑰用於加密或驗證簽章,私密金鑰用於解密或產生簽章。這提供了機密性(用公開金鑰加密,只有對應的私密金鑰能解密)和鑑別性/完整性/不可否認性(用私密金鑰簽章,任何人可用公開金鑰驗證)。
- 數位憑證 (Digital Certificates):由信任的憑證機構 (CA) 發行,它將公開金鑰與特定實體(個人、組織、伺服器)的身份綁定。憑證本身由 CA 的私密金鑰簽署,證明了公開金鑰的真實性。這解決了公開金鑰密碼學中如何信任對方公開金鑰的問題,確保了鑑別性。
- 兩因素認證 (Two-factor authentication, 2FA):這是一種身份驗證機制,要求使用者提供兩種不同類型的證據來證明其身份,例如「你知道的」(密碼)、「你擁有的」(硬體金鑰、手機簡訊 OTP)或「你本身」(指紋、臉部辨識)。2FA 主要用於加強「鑑別性」,確保只有合法的用戶才能存取系統。
第 4 題
- An organization plans to receive an automated data feed into its enterprise data warehouse from a third-
party service provider. Which of the following would be the BEST way to prevent accepting bad data?
A) Appoint data quality champions across the organization.
B) Purchase data cleansing tools from a reputable vendor.
C) Obtain error codes indicating failed data feeds.
D) Implement business rules to reject invalid data.
登入後即可作答並保存紀錄。
核心觀念
本題考查企業資料倉儲(Enterprise Data Warehouse, EDW)的「資料品質控制」與「輸入驗證(input validation)」。
第三方資料饋送進入資料倉儲前,應先依據明確的業務規則(business rules)檢查資料,例如:
- 欄位格式是否正確
- 必填欄位是否為空值
- 日期是否合理
- 數值是否落在允許範圍
- 代碼是否存在於主檔
- 欄位間的邏輯關係是否成立
- 資料是否違反唯一性或參照完整性
若資料不符合規則,系統應在載入資料倉儲前直接拒絕,或將資料送至錯誤隔離區(reject/error quarantine area),避免不良資料進入正式資料庫。
解題方法
題目問的是:
預防接受不良資料的最佳方法為何?
關鍵字是「prevent accepting bad data」,也就是在資料正式寫入資料倉儲前,主動辨識並攔截無效資料。
最直接的控制流程如下:
因此,能直接依照資料內容判斷其有效性,並阻止錯誤資料進入系統的措施,最符合題意。
選項分析
A) Appoint data quality champions across the organization.
任命組織內各部門的資料品質負責人。
此作法屬於資料治理(data governance)與責任分工,有助於建立資料品質文化、追蹤問題來源、協調各部門改善資料。然而,它主要是管理與組織層面的措施,無法在資料饋送當下自動判斷每筆資料是否有效,因此不是防止不良資料被接受的最佳方法。
錯誤。
B) Purchase data cleansing tools from a reputable vendor.
向信譽良好的廠商購買資料清理工具。
第 5 題
- Which of the following types of firewalls provide the GREATEST degree of control against hacker intrusion?
A) Application level gateway
C) Screening router
B) Packet filtering router
D) Circuit gateway
登入後即可作答並保存紀錄。
這個問題在比較不同類型防火牆對抗駭客入侵的控制程度。防火牆是網路安全的第一道防線,它們透過檢查進出網路的封包,並根據預設的安全規則來決定是否允許通過。
讓我們逐一分析各選項:
A) 應用層閘道 (Application Level Gateway, ALG) / 應用程式閘道 (Application Layer Firewall):這類防火牆(也常被稱為代理防火牆 Proxy Firewall)位於應用層(OSI 模型第 7 層)。它們能夠深入檢查應用層協定的內容,例如 HTTP、FTP、DNS 等。這使得它們能夠理解特定應用程式的通訊模式,並基於更精細的規則來過濾流量,例如識別惡意指令、防止緩衝區溢位攻擊、過濾特定網頁內容等。由於它能檢查到應用層的細節,因此提供非常精細且強大的控制。
B) 封包過濾路由器 (Packet Filtering Router):這是最基本、最早期的防火牆類型。它工作在網路層(OSI 模型第 3 層)和傳輸層(OSI 模型第 4 層)。它根據封包的來源 IP 位址、目的 IP 位址、來源埠號、目的埠號以及協定類型等資訊來做決策。
第 6 題
- The Magic network has a Class C IP network and has been divided into 5 separate departments located at different places. Which subnet mask will match up your design?
A) 255.255.255.0
B) 255.255.255.192
C) 255.255.255.224
D) 255.255.255.240
登入後即可作答並保存紀錄。
這個問題涉及 IP 位址的劃分 (subnetting)。Magic 網路擁有一個 Class C IP 網路,這意味著其預設子網路遮罩是 255.255.255.0。Class C 網路的預設情況下,前三個八位元組(24 位元)是網路位址,最後一個八位元組(8 位元)是主機位址。
網路被劃分為 5 個獨立的部門,這意味著需要至少 5 個子網路。為了創建子網路,我們需要從主機位址部分借用位元來作為子網路位址。
讓我們計算每個選項的子網路數量:
子網路遮罩的二進制表示法中,連續的 '1' 代表網路位址或子網路位址,連續的 '0' 代表主機位址。
一個 IP 位址有 32 位元。對於 Class C,預設是前 24 位元是網路,後 8 位元是主機。
A) 255.255.255.0
- 二進制:11111111.11111111.11111111.00000000
- 借用了 0 個位元作為子網路位址。
- 這相當於沒有劃分子網路,只有 1 個網路(原始的 Class C 網路),可以支援 個主機。不符合 5 個部門的要求。
B) 255.255.255.192
- 二進制:11111111.11111111.11111111.11000000
- 最後一個八位元組是 11000000。
- 借用了 2 個位元作為子網路位址 (11)。
- 可支援的子網路數量為 個。
- 每個子網路可支援的主機數量為 個。
- 4 個子網路不足以支援 5 個部門。
C) 255.255.255.224
- 二進制:11111111.11111111.11111111.11100000
- 最後一個八位元組是 11100000。
第 7 題
- Which one of following is a reply message by a successful ping command?
A) Time reply
B) Echo reply
C) Message reply
D) Time out reply
登入後即可作答並保存紀錄。
核心觀念
ping 是用來測試來源主機與目的主機之間是否能正常連線,以及測量往返時間(Round-Trip Time, RTT)的網路工具。
在 IPv4 環境中,ping 使用 ICMP(Internet Control Message Protocol,網際網路控制訊息協定),其基本流程如下:
- 來源主機送出 ICMP Echo Request。
- 目的主機收到後,回傳 ICMP Echo Reply。
- 來源主機收到回覆後,計算封包往返所需時間。
因此,成功執行 ping 時所收到的回覆訊息,正式名稱是 Echo Reply。
解題方法
題目問:「成功的 ping 命令所收到的回覆訊息為何?」
關鍵在於記住 ICMP 的兩種對應訊息:
其中:
Echo Request:由發送端送出的回應請求。Echo Reply:由目的端返回的回應訊息。
成功的 ping 必須收到目的主機回傳的 Echo Reply,因此正確選項為 B。
選項分析
- A) Time reply
第 8 題
- Which command will you use to test connection at the network layer?
A) SQL
B) NFS
C) Telnet
D) Ping
登入後即可作答並保存紀錄。
核心觀念
本題考查 OSI 七層模型與各網路指令/協定所屬的層級。
在 OSI 模型中:
- 網路層(Network Layer,第 3 層):負責邏輯定址與封包路由,例如 IP。
- 傳輸層(Transport Layer,第 4 層):負責端對端傳輸,例如 TCP、UDP。
- 應用層(Application Layer,第 7 層):提供應用程式直接使用的網路服務,例如 Telnet、NFS、SQL 等。
Ping 使用 ICMP(Internet Control Message Protocol,網際網路控制訊息協定),並透過 IP 傳送 Echo Request,再等待對方回覆 Echo Reply。ICMP 通常歸類於 TCP/IP 模型的網際網路層,對應 OSI 的網路層。
因此,Ping 可用來測試兩台主機在網路層上的可達性。
解題方法
判斷各選項所屬的網路層級:
- 若指令使用的是 IP/ICMP,主要測試網路層的封包是否能到達目的主機。
- 若指令依賴 TCP 連線與特定服務埠號,則屬於傳輸層以上的測試。
- 若是提供檔案、資料庫或遠端登入等服務,通常屬於應用層。
Ping 的運作流程可簡化如下:
第 9 題
- You have an IP address 20.30.220.40 and subnet mask 255.255.240.0. what's the ranges of hosts address in the subnet
A) 20.30.220.120.30.220.25420.30.220.255
B) 20.30.220.10
C) 20.30.208.120.30.223.25420.30.255.255
D) 20.30.0.0
登入後即可作答並保存紀錄。
核心觀念
本題考查 IPv4 子網路的判斷,核心包括:
- 子網路遮罩(subnet mask)換算 CIDR 前綴長度。
- 由遮罩判斷子網路區塊大小。
- 求出子網路位址、廣播位址與可用主機位址範圍。
IPv4 位址共 32 位元,子網路遮罩為:
其中第三個八位元組 的二進位表示為:
因此遮罩共有:
個網路位元,故此遮罩為:
解題方法
1. 判斷第三個八位元組的區塊大小
第三個八位元組的遮罩值為 ,子網路區塊大小為:
因此第三個八位元組的子網路範圍以 16 為間隔:
題目 IP 位址為:
第三個八位元組 落在:
所以此子網路的第三個八位元組範圍為 至 。
2. 求子網路位址
子網路位址是主機位元全部設為 :
3. 求廣播位址
廣播位址是主機位元全部設為 :
4. 求可用主機位址範圍
子網路位址與廣播位址不能配置給一般主機,因此可用主機範圍為:
選項分析
第 10 題
- Which of following statements is true about audio over IP?
A) The audio over IP requires low delay and high bandwidth.
B) The audio over IP requires low bandwidth and high packet loss rate.
C) The audio over IP requires low packet loss rate and high delay.
D) The audio over IP requires low delay and high packet loss rate.
登入後即可作答並保存紀錄。
核心觀念
Audio over IP 是指透過 IP 網路傳送數位音訊,例如網路電話、網路廣播與即時會議。其主要要求包括:
- 低延遲(low delay):聲音必須即時傳送,延遲過大會造成對話不自然、回音與影音不同步。
- 足夠甚至較高的頻寬(bandwidth):音訊資料具有連續性,音質、取樣率、取樣位元數與聲道數越高,所需資料率越大。
- 低封包遺失率(low packet loss rate):封包遺失會造成聲音中斷、雜音或語音片段消失。
- 低抖動(jitter):封包抵達時間不穩定會使播放不連續,通常需透過 jitter buffer 緩衝處理。
未壓縮音訊的資料率可用下式估算:
因此,音訊傳輸通常需要低延遲、低封包遺失率,以及足以維持音質的頻寬。
解題方法
本題直接比較各選項所描述的網路特性與 Audio over IP 的需求:
- 判斷是否需要低延遲。
- 判斷頻寬要求是否合理。
- 判斷封包遺失率應高或低。
Audio over IP 屬於即時媒體傳輸,必須避免延遲過大;同時,音訊資料需要穩定傳送,因此封包遺失率應低,而非高。四個選項中,只有 A 同時符合低延遲與較高頻寬的特性。
選項分析
A) The audio over IP requires low delay and high bandwidth.
第 11 題
- What is a function of a bridge?
A) Increase broadcast domains
B) Increase collisions domains
C) Decrease the number of broadcast domains
D) Decrease the size of collisions domains
登入後即可作答並保存紀錄。
這個問題在探討網路設備「橋接器」(Bridge) 的功能。橋接器主要工作在資料連結層 (Data Link Layer, Layer 2),用於連接兩個或多個網路區段 (network segments)。
橋接器的主要功能和特性:
- 過濾封包 (Packet Filtering):橋接器會學習每個連接埠的 MAC 位址,並根據 MAC 位址來決定是否轉送封包。如果封包的目的 MAC 位址在同一個網段,橋接器就不會將其轉送到另一個網段。
- 分割碰撞網域 (Collision Domain):橋接器將連接的每個埠口視為一個獨立的碰撞網域。這意味著,每個連接到橋接器埠口的設備(或另一台交換機/集線器)都在自己的碰撞網域內。這樣可以減少碰撞的發生,提高網路效能。
- 不分割廣播網域 (Broadcast Domain):橋接器會將廣播封包轉送到所有連接的埠口(除了接收到廣播封包的那個埠口)。因此,橋接器「不會」分割廣播網域。所有連接到橋接器的設備都屬於同一個廣播網域。
第 12 題
- Which one of following is the best description of a router?
A) Has a single broadcast domain and a single collision domain
B) Has a single broadcast domain and a separating collision domain
C) Has a separating broadcast domain and a single collision domain
D) Has a separating broadcast domain and a separating collision domain
登入後即可作答並保存紀錄。
核心觀念
本題考查網路設備對「廣播網域(Broadcast Domain)」與「碰撞網域(Collision Domain)」的分隔能力。
- 廣播網域:廣播封包可以直接傳遞到的網路範圍。路由器不會轉送一般廣播封包,因此每個路由器介面通常形成獨立的廣播網域。
- 碰撞網域:共享傳輸媒介中,可能互相發生封包碰撞的範圍。路由器的不同介面彼此隔離,不會形成同一個碰撞網域。
因此,路由器能同時分隔廣播網域與碰撞網域。
解題方法
判斷網路設備的關鍵在於:
- 是否會轉送廣播封包,決定廣播網域是否被分隔。
- 是否隔離不同連接埠的資料傳輸,決定碰撞網域是否被分隔。
路由器工作在 OSI 模型的第三層「網路層」,依據 IP 位址與路由表轉送封包。一般廣播封包不會跨越路由器,因此路由器兩側屬於不同廣播網域。
此外,路由器的每個介面都是獨立的網路連接,兩個介面之間不共享同一個碰撞範圍,因此也能分隔碰撞網域。
選項分析
A) Has a single broadcast domain and a single collision domain
錯誤。單一廣播網域與單一碰撞網域較符合 Hub 的特性。Hub 不會分析封包,也不會分隔碰撞範圍;所有連接裝置共享同一個碰撞網域。
第 13 題
- What is the right sequence in decapsulation data?
A) bits, Frames, Data grams, Segments, Data
B) bits, Data grams, Segments, Frames, Data
C) Data, Segments, Data grams, Frames, bits
D) Data, Data grams, Segments, Frames, bits
登入後即可作答並保存紀錄。
核心觀念
本題考查資料在網路接收端進行「解封裝」(decapsulation)時,各層資料單位的正確順序。
以 TCP/IP 模型搭配 OSI 分層觀念表示:
- 應用層:Data
- 傳輸層:Segment
- 網路層:Datagram/Packet
- 資料鏈結層:Frame
- 實體層:Bits
在傳送端,資料會逐層加上標頭,稱為封裝(encapsulation):
接收端的解封裝則完全反向,逐層移除各層標頭:
其中題目選項中的 Data grams 應理解為 Datagrams,即網路層的資料單位。
解題方法
判斷解封裝順序時,只要記住資料在接收端是由最底層逐層往上交付:
- 實體層先接收位元(Bits)。
- 資料鏈結層將位元組成框架(Frames)。
- 網路層取出資料包或資料報(Datagrams)。
- 傳輸層處理區段(Segments)。
- 最上層交付原始資料(Data)。
因此順序為:
選項分析
第 14 題
- Which one of following is used as transmitting and receiving system in data link layer?
A) Bits
B) Ethernet frames
C) TCP packets
D) IP packets
登入後即可作答並保存紀錄。
核心觀念
本題測驗電腦網路中 OSI 七層模型(OSI 7-Layer Model) 與 TCP/IP 協定堆疊 各層的**協定資料單元(Protocol Data Unit, PDU)**及常見協定。
在階層式網路架構中,每一層處理與封裝資料時,有其對應的資料傳輸單位(PDU):
- 應用層(Application Layer):訊息(Message / Data)
- 傳輸層(Transport Layer):區段(Segment,如 TCP)或資料包(Datagram,如 UDP)
- 網路層(Network Layer):封包(Packet,如 IP packet)或資料包(Datagram)
- 資料鏈結層(Data Link Layer):訊框(Frame,如 Ethernet frame)
- 實體層(Physical Layer):位元(Bit / Bit stream)
題目詢問在「資料鏈結層(Data Link Layer)」中,發送與接收系統所使用的單位(傳輸單位/實作協定單位)為何。
解題方法
由題幹關鍵字「data link layer」出發,比對各選項所屬的網路層級與 PDU:
- 資料鏈結層負責節點到節點(Node-to-Node / Hop-to-Hop)的訊框傳送、實體定址(MAC 位址)、流量控制及錯誤偵測。
- 其標準傳輸單位為 Frame(訊框),區域網路(LAN)最廣泛使用的技術即為乙太網路(Ethernet),因此在資料鏈結層傳輸與接收的資料單位為 Ethernet frames(乙太網路訊框)。
選項分析
- A) Bits(錯誤)
「位元(Bits)」是**實體層(Physical Layer, Layer 1)**傳輸的原始資料單位,實體層負責將位元編碼成電子訊號、光訊號或電磁波在實體媒介上發送與接收,並非資料鏈結層的 PDU。
第 15 題
- In the transport layer, which one of the following is used with connection-oriented transmission?
A) Physical Circuit
B) Virtual Circuit
C) Assigned IP address
D) connectionless
登入後即可作答並保存紀錄。
核心觀念
本題考的是傳輸層的兩種傳輸服務:
- 連線導向(connection-oriented):傳送資料前,雙方必須先建立邏輯連線,傳輸期間維持連線狀態,結束後再釋放連線。
- 無連線(connectionless):不需事先建立連線,每個資料單位可獨立傳送。
連線導向傳輸所使用的是虛擬電路(Virtual Circuit),也就是由網路設備與通訊協定建立的邏輯路徑。它不是實體專線,而是讓雙方在傳輸期間具有類似固定通道的通訊關係。
以 TCP 為例,建立連線時會經過交握程序,之後再進行可靠、有順序的資料傳輸。
解題方法
判斷關鍵在於「connection-oriented transmission」的特徵:
- 傳輸前先建立連線。
- 傳輸期間維持連線狀態。
- 資料沿著所建立的邏輯路徑傳送。
- 傳輸完成後釋放連線。
這種邏輯上的固定通道稱為 Virtual Circuit,因此選擇 B。
需注意,虛擬電路不代表真的配置一條獨立的實體線路;它是透過交換器、路由器與協定所形成的邏輯連線。
選項分析
A) Physical Circuit
錯誤。Physical Circuit 是實體電路,代表真正的傳輸媒介或專用線路,例如實體銅線、光纖通道。
第 16 題
- Which OSI layer is associated with the acknowledgement of transmission, sequencing, and flow control across a network?
A) Layer 7
B) Layer 6
C) Layer 5
D) Layer 4
登入後即可作答並保存紀錄。
這個問題在詢問 OSI 模型中的哪個層級負責「確認應答」(Acknowledgement)、「排序」(Sequencing) 和「流量控制」(Flow Control)。這些都是為了確保資料可靠、有序、不丟失地從發送端傳輸到接收端的重要機制。
讓我們逐一分析 OSI 模型各層的功能:
- Layer 1 (Physical Layer):負責傳輸原始位元流,處理傳輸介質、訊號等。
- Layer 2 (Data Link Layer):負責在兩個直接連接的節點之間可靠地傳輸訊框,提供錯誤檢測、 MAC 位址尋址,有些協定(如 PPP)也提供流量控制和排序,但其主要範圍是點對點。
- Layer 3 (Network Layer):負責邏輯尋址(IP 位址)和路由選擇,在不同網路之間轉發封包。它通常是「盡力而為」的,不保證可靠性、排序或流量控制(例如 IP 協定)。
- Layer 4 (Transport Layer):負責提供端到端 (end-to-end) 的資料傳輸服務。它負責將來自高層的數據分割成小段,並在接收端重新組裝。為了實現可靠的、有序的、無差錯的端到端傳輸,它提供了:
第 17 題
- Which method is used to allow a fixed number of data sending before an acknowledge?
A) Caching
B) Buffering
C) Source-quench messages
D) Windowing
登入後即可作答並保存紀錄。
核心觀念
本題考查資料傳輸中的**滑動視窗(Sliding Window)**機制。
在可靠資料傳輸中,傳送端不必每傳送一筆資料就等待接收端回覆確認訊息(Acknowledgment, ACK)。透過視窗機制,可以事先允許傳送端連續送出固定數量的資料單位,再等待接收端確認,以提升傳輸效率。
視窗大小若為 ,表示在尚未收到確認之前,傳送端最多可以連續傳送 個資料單位。當接收端回覆 ACK 後,傳送端的可傳送範圍便向前移動,因此稱為「滑動視窗」。
解題方法
題幹的關鍵描述是:
allow a fixed number of data sending before an acknowledge
意思是「在收到確認訊息之前,允許先傳送固定數量的資料」。
這正是 Windowing 的定義。其運作方式如下:
- 設定一個固定的視窗大小,例如 。
- 傳送端可以連續傳送資料 、、、。
- 傳送端不必在每一筆資料後立即等待 ACK。
- 收到確認後,視窗向前滑動,繼續傳送後續資料。
因此,符合題意的選項是 D) Windowing。
選項分析
A) Caching
Caching 是「快取」機制,將常用或近期使用的資料暫存在速度較快的儲存區,以縮短日後存取時間。
它的主要目的在於改善資料存取效率,不是控制傳送端在收到 ACK 前可以傳送多少筆資料,因此錯誤。
B) Buffering
第 18 題
- What will data encapsulation take place at the network layer?
A) Convert to bits
B) Add the segment data
C) Add the network address
D) Add the local address
登入後即可作答並保存紀錄。
核心觀念
本題考查 OSI 七層模型中,各層資料封裝時所加入的控制資訊。
在網路層(Network Layer),傳輸層交付下來的資料單位稱為 Segment(區段)。網路層會將 Segment 放入封包的資料欄位,並加入來源端與目的端的 Network Address(網路位址),例如 IP 位址,形成 Packet(封包)。
網路層的主要功能是:
- 以邏輯位址識別來源主機與目的主機
- 決定封包跨越不同網路的傳送路徑
- 進行路由與封包轉送
因此,網路層封裝時的關鍵動作是加入網路位址。
解題方法
依照資料封裝的順序判斷:
- 傳輸層先將應用程式資料封裝,形成 Segment。
- 網路層接收 Segment,將其作為負載資料。
- 網路層加入包含來源 IP 位址與目的 IP 位址的網路層標頭。
- 完成後形成 Packet。
可表示為:
其中 Network Header 主要包含來源端與目的端的網路位址。
選項分析
A) Convert to bits
錯誤。將資料轉換成位元(Bits)是實體層(Physical Layer)的工作。實體層負責把資料轉換成電氣訊號、光訊號或無線電訊號,以便在傳輸媒介中傳送。
B) Add the segment data
第 19 題
- Which type of cable will you use to connect switch to a router?
A) straight through
B) rollover
C) Crossover
D) RG58
登入後即可作答並保存紀錄。
核心觀念
本題考查乙太網路線材的用途,以及網路設備介面的接腳排列。傳統乙太網路連線中,路由器的乙太網路埠屬於 MDI 類型,交換器埠屬於 MDI-X 類型。兩端接腳功能相反,使用直通線即可讓一端的傳送訊號接到另一端的接收訊號。
解題方法
先辨認題目中的設備與連線用途:這是以乙太網路連接交換器與路由器。依傳統接線規則,不同類型的介面(MDI 與 MDI-X)相連時使用直通線,因此選 A。
選項分析
- A) straight through(直通線)— 正確。 傳統上用於連接不同類型的乙太網路介面,例如電腦連交換器、路由器連交換器。
- **B) rollover(反轉線)— 錯誤。
第 20 題
- Which layer will control end to end communication?
A) Application layer
B) Presentation layer
C) Session layer
D) Transport layer
登入後即可作答並保存紀錄。
核心觀念
本題考查 OSI 七層模型中各層的功能,以及「端到端通信(end-to-end communication)」所代表的控制範圍。
在 OSI 模型中:
- 網路層負責主機到主機(host-to-host)的封包路由。
- 傳輸層負責來源端程序到目的端程序的端到端通信。
- 傳輸層可提供分段與重組、錯誤控制、流量控制、可靠傳輸,以及使用連接埠(port)辨識應用程式等功能。
因此,題目所問的端到端通信控制屬於傳輸層。
解題方法
判斷關鍵在於「端到端」的範圍:
- 資料從來源電腦傳送至目的電腦,屬於主機到主機的傳輸,主要由網路層處理。
- 資料從來源端的某個應用程式,傳送至目的端的對應應用程式,屬於程序到程序(process-to-process)的端到端通信。
- 程序到程序的通信需要傳輸層透過 TCP 或 UDP,以及連接埠號碼進行控制。
所以正確層級為:
選項分析
A) Application layer(應用層)
錯誤。應用層直接提供網路應用服務,例如 HTTP、FTP、DNS、SMTP 等,負責讓應用程式使用網路功能,但不負責端到端資料傳輸的可靠性、流量控制或分段重組。
B) Presentation layer(表示層)
第 21 題
- What is a hash table?
A) A structure that maps values to keys
B) A structure that maps keys to values
C) A structure used for storage
D) A structure used to implement stack and queue
登入後即可作答並保存紀錄。
核心觀念
Hash table(雜湊表)是一種以「鍵」快速尋找「值」的資料結構,主要由以下部分組成:
- Key(鍵):用來識別資料,例如學號、帳號。
- Value(值):與鍵所對應的資料,例如姓名、成績。
- Hash function(雜湊函數):將鍵轉換為雜湊表中的索引位置。
其基本關係可表示為:
雜湊表依據這個索引,將資料儲存為「key-value pair(鍵值對)」:
因此,雜湊表的核心功能是透過 key 找到對應的 value,平均搜尋、插入與刪除時間複雜度通常為 。
解題方法
判斷本題的關鍵在於掌握 hash table 的定義:
Hash table 是一種將 keys 對應到 values 的資料結構。
例如:
| Key | Value |
|---|---|
| 學號 112001 | 王小明 |
| 學號 112002 | 李小華 |
程式執行查詢時,輸入學號這個 key,雜湊函數會計算出儲存位置,再取得對應的 value。
雖然不同的 key 可能經由雜湊函數得到相同索引,形成 collision(碰撞),但可透過 chaining(鏈結法)或 open addressing(開放定址法)處理。碰撞處理方式不影響雜湊表「由 key 尋找 value」的基本定義。
選項分析
A) A structure that maps values to keys
錯誤。此選項表示「由 values 對應到 keys」,方向與雜湊表的基本定義相反。
雜湊表通常是:
第 22 題
- What is the value of the postfix expression 6 3 2 4 + - *?
A) 1
B) 40
C) 74
D) -18
登入後即可作答並保存紀錄。
這個問題要求計算後綴表達式 (Postfix Expression) 的值。後綴表達式也稱為逆波蘭表示法 (Reverse Polish Notation, RPN)。計算後綴表達式通常使用堆疊 (Stack)。
規則:
- 從左到右讀取表達式中的每個符號。
- 如果符號是操作數 (Operand),則將其壓入堆疊。
- 如果符號是運算符 (Operator),則從堆疊中彈出所需數量的操作數(通常是兩個,對於二元運算符),執行運算,然後將結果壓回堆疊。
- 表達式結束時,堆疊中最後剩下的值就是表達式的結果。
給定的後綴表達式是:6 3 2 4 + - *
讓我們一步一步計算:
- 讀到
6:將6壓入堆疊。 堆疊:[6] - 讀到
3:將3壓入堆疊。 堆疊:[6, 3] - 讀到
2:將2壓入堆疊。 堆疊:[6, 3, 2] - 讀到
4:將4壓入堆疊。 堆疊:[6, 3, 2, 4]
第 23 題
- Here is an infix expression: 4 + 3*(6*3-12). Suppose that we are using the usual stack algorithm to convert the expression from infix to postfix notation. The maximum number of symbols that will appear on the stack AT ONE TIME during the conversion of this expression?
A) 1
B) 2
C) 3
D) 4
登入後即可作答並保存紀錄。
核心觀念
中序轉後序時,運算元直接輸出;運算子與左括號暫存在堆疊中。遇到新運算子時,依優先順序彈出堆疊中優先順序較高或相同的運算子,再推入新運算子。右括號則使堆疊彈出至對應的左括號,並移除左括號。
本題問的是轉換過程中,堆疊同一時間最多存有幾個符號。
解題方法
依序掃描運算式 ,追蹤堆疊內容:
| 掃描到的符號 | 動作 | 堆疊內容(底部 → 頂部) |
|---|---|---|
| 輸出運算元 | 空 | |
| 推入 | ||
| 輸出運算元 | ||
| 優先順序高於 ,推入 | ||
| 推入 | ||
| 輸出運算元 | ||
| 推入 | ||
| 輸出運算元 |
第 24 題
- What is the number of moves required to solve Tower of Hanoi problem for k disks?
A) 2k - 1
B) 2k + 1
C) 2k + 1
D) 2k - 1
登入後即可作答並保存紀錄。
核心觀念
這題考「河內塔(Tower of Hanoi)」的最少移動次數。
若有 個圓盤,且每次只能移動一個圓盤、較大的圓盤不能放在較小的圓盤上,則最少移動次數為:
解題方法
要移動 個圓盤,必須依序完成三個步驟:
- 將上方 個圓盤移到輔助柱:需要 次。
- 將最大的第 個圓盤移到目標柱:需要 次。
- 將 個圓盤移到最大圓盤上方:需要 次。
因此遞迴式為:
當只有 個圓盤時:
依序展開:
第 25 題
- If the tree is not a complete binary tree then what changes can be made for easy access of children of a node in the array?
A) every node stores data saying which of its children exist in the array
B) no need of any changes continue with 2w and 2w+1, if node is at i
C) keep a separate table telling children of a node
D) use another array parallel to the array with tree
登入後即可作答並保存紀錄。
核心觀念
完全二元樹可用陣列搭配固定索引公式表示:
-
若採 1-based indexing,節點位於索引 :
-
若採 0-based indexing,節點位於索引 :
這些公式成立的前提,是陣列位置依照完整二元樹的層序排列,且中間沒有任意缺少的節點。
若樹不是完全二元樹,某個節點可能只有左子節點、只有右子節點,或完全沒有子節點。此時直接套用固定公式,所得到的陣列位置可能是空的,也可能無法判斷該位置是否真的存放該節點的子節點。
因此,需要額外儲存子節點是否存在,或直接儲存子節點位置的資訊。
解題方法
題目關鍵在於「不是完全二元樹」以及「在陣列中容易存取子節點」。
以 1-based indexing 為例,若節點位於索引 ,原本會預期:
但對非完全二元樹而言, 或 所對應的位置可能沒有節點。例如:
- 節點只有左子節點;
- 節點只有右子節點;
- 兩個子節點都不存在。
所以每個節點必須附帶額外資訊,例如:
- 左子節點是否存在;
- 右子節點是否存在;
- 或左、右子節點在陣列中的實際索引。
這正是選項 A 所描述的做法。
選項分析
A) every node stores data saying which of its children exist in the array
正確。每個節點儲存其左、右子節點是否存在,便能避免把不存在的陣列位置誤認為子節點。例如可使用兩個旗標:
也可以直接儲存子節點索引,例如:
第 26 題
- The data structure required for Breadth First Traversal on a graph is?
A) Stack
B) Array
C) Queue
D) Tree
登入後即可作答並保存紀錄。
核心觀念
Breadth First Traversal(廣度優先走訪,BFS)會從起始頂點開始,按照「距離起點由近到遠」的順序拜訪圖中的頂點。
BFS 的主要特性是:
- 先處理目前頂點的所有鄰接頂點。
- 再依序處理下一層頂點。
- 先進入待處理集合的頂點,先被取出處理。
這種「先進先出」(First In, First Out, FIFO)的處理順序,正好由 Queue(佇列)提供。
解題方法
BFS 的基本流程如下:
- 將起始頂點放入 Queue。
- 從 Queue 前端取出一個頂點並拜訪。
- 將尚未拜訪的鄰接頂點依序放入 Queue 尾端。
- 重複上述步驟,直到 Queue 為空。
例如,若圖的關係如下:
- 連接
- 連接
- 連接
從 開始進行 BFS:
| 步驟 | Queue 內容 | 拜訪頂點 |
|---|---|---|
| 1 | — | |
| 2 | ||
| 3 | ||
| 4 | ||
| 5 | ||
| 6 | 空 |
走訪順序為:
第 27 題
- A queue follows
A) FIFO (First In First Out) principle
B) LIFO (Last In First Out) principle
C) Ordered array
D) Linear tree
登入後即可作答並保存紀錄。
核心觀念
本題測驗基礎資料結構中**佇列(Queue)**的操作原理與存取特性。
- 佇列(Queue):一種限制存取端點的線性資料結構(Linear Data Structure)。其元素存取遵循**先進先出(FIFO, First In First Out)**原則,新增元素的操作(Enqueue / Push)發生在後端(Rear / Tail),刪除元素的操作(Dequeue / Pop)則發生在前端(Front / Head)。
- 堆疊(Stack):與佇列相對,堆疊遵循**後進先出(LIFO, Last In First Out)**原則,新增(Push)與刪除(Pop)皆發生在同一個端點(Top)。
解題方法
題目詢問「佇列遵循何種原則(A queue follows...)」,切入點為直接檢驗各選項所描述的結構或存取特性:
- 比對佇列的標準定義,確認其資料進出次序的行為模式(FIFO 或 LIFO)。
- 排除屬於實作方式(如陣列)或其他不同資料結構分類(如樹狀結構)的干擾選項。
選項分析
- A) FIFO (First In First Out) principle:正確。
佇列的核心行為就像日常生活中的排隊買票,最早到達隊伍的人最先接受服務離開,因此遵循「先進先出(FIFO)」原則。
第 28 題
- What operation does the following diagram depict?
登入後即可作答並保存紀錄。
此題缺少圖形,無法判斷。
第 29 題
- The average depth of a binary tree is given as?
A) O(N)
B) O(VN)
C) O(N2)
D) O(log N)
登入後即可作答並保存紀錄。
核心觀念
本題考的是二元樹節點的「平均深度」與樹高的漸進複雜度。
若二元樹共有 個節點,節點深度是指該節點到根節點所經過的邊數。所有節點深度的平均值為
對於結構平衡的二元樹,每往下一層,節點數大約增加為原來的兩倍,因此第 層最多約有 個節點。若樹高為 ,則:
因此:
平衡二元樹中,大多數節點位於接近最底層的位置,所以平均深度也為:
因此本題的標準答案為 。
解題方法
以平衡二元樹估算其平均深度。
高度為 的完整二元樹,節點總數約為:
取對數可得:
節點深度不會大於樹高,而在平衡樹中,大部分節點集中於深度接近 的底層,因此平均深度與樹高同階:
在 Big-O 表示法下:
選項分析
A)
此複雜度描述的是最差情況下的線性深度。
第 30 題
- Which of the following properties are obeyed by all three tree – traversals?
A) Left subtrees are visited before right subtrees
B) Right subtrees are visited before left subtrees
C) Root node is visited before left subtree
D) Root node is visited before right subtree
登入後即可作答並保存紀錄。
這個問題詢問所有三種標準的二元樹遍歷(前序 Preorder, 中序 Inorder, 後序 Postorder)都遵守的共同性質。
我們來看看這三種遍歷的定義,假設對於一個節點 N,它有左子樹 L 和右子樹 R:
-
前序遍歷 (Preorder Traversal):
- 訪問根節點 N。
- 遞迴遍歷左子樹 L。
- 遞迴遍歷右子樹 R。
順序:N -> L -> R
-
中序遍歷 (Inorder Traversal):
- 遞迴遍歷左子樹 L。
- 訪問根節點 N。
- 遞迴遍歷右子樹 R。
順序:L -> N -> R
-
後序遍歷 (Postorder Traversal):
- 遞迴遍歷左子樹 L。
- 遞迴遍歷右子樹 R。
- 訪問根節點 N。
順序:L -> R -> N
現在,我們來檢查選項:
A) Left subtrees are visited before right subtrees (左子樹在右子樹之前被訪問):
- 前序:N -> L -> R (L 在 R 之前)
- 中序:L -> N -> R (L 在 R 之前)
第 31 題
- What is an operating system?
A) interface between the hardware and application programs
B) collection of programs that manages hardware resources
C) system service provider to the application programs
D) all of the mentioned
登入後即可作答並保存紀錄。
核心觀念
作業系統(Operating System, OS)是介於電腦硬體與應用程式之間的系統軟體,主要負責:
- 管理硬體資源:如處理器、主記憶體、儲存裝置與輸入輸出設備。
- 提供應用程式服務:透過系統呼叫提供檔案存取、程序管理、記憶體配置等功能。
- 建立硬體與應用程式之間的介面:讓應用程式不必直接控制複雜的硬體細節。
因此,A、B、C 均為作業系統的正確描述。
解題方法
判斷各選項是否符合作業系統的基本定義:
- 若選項描述作業系統負責管理硬體資源,正確。
- 若選項描述作業系統是硬體與應用程式之間的介面,正確。
- 若選項描述作業系統向應用程式提供系統服務,正確。
由於 A、B、C 皆正確,應選「上述皆是」。
選項分析
A) interface between the hardware and application programs
正確。作業系統提供硬體與應用程式之間的抽象介面。例如,應用程式透過作業系統提供的檔案操作功能讀寫資料,不必直接控制硬碟的磁區與控制器。
第 32 題
- CPU scheduling is the basis of
A) multiprogramming operating systems
B) larger memory sized systems
C) multiprocessor systems
D) none of the mentioned
登入後即可作答並保存紀錄。
核心觀念
本題考查 CPU scheduling(CPU 排程)與 multiprogramming operating systems(多元程式作業系統)之關係。
多元程式設計的核心概念,是將多個行程同時放在主記憶體中;當某一行程因輸入/輸出操作而暫停時,作業系統便將 CPU 分配給另一個可執行行程,以提高 CPU 使用率。
因此,作業系統必須具備 CPU 排程機制,從 ready queue 中選擇下一個要使用 CPU 的行程。CPU scheduling 是多元程式作業系統能有效運作的基礎。
解題方法
判斷各選項與 CPU 排程的直接關係:
- 多元程式系統同時容納多個行程。
- 多個行程會競爭 CPU 使用權。
- 作業系統必須決定「哪一個行程先執行」以及「執行多久」。
- 這項決策就是 CPU scheduling。
典型排程流程如下:
若沒有 CPU 排程,當目前行程阻塞或多個行程同時等待 CPU 時,系統便無法有效分配處理器資源,多元程式設計也無法達成提高 CPU 利用率的目的。
選項分析
A) multiprogramming operating systems
正確。
多元程式作業系統會將多個行程載入主記憶體,並在行程等待 I/O 時切換至其他行程執行。這種行程切換與 CPU 分配,必須透過 CPU scheduling 完成。
因此,CPU scheduling 是 multiprogramming operating systems 的基礎。
第 33 題
- Which one of the following is not true?
A) kernel remains in the memory during the entire computer session
B) kernel is made of various modules which can not be loaded in running operating system
C) kernel is the first part of the operating system to load into memory during booting
D) kernel is the program that constitutes the central core of the operating system
登入後即可作答並保存紀錄。
核心觀念
本題考查作業系統核心(kernel)的定義、啟動方式與模組化設計。
核心是作業系統的中央核心程式,負責管理:
- 處理器與行程
- 主記憶體
- 檔案系統
- 輸入/輸出裝置
- 系統呼叫
- 硬體資源與應用程式之間的溝通
現代作業系統通常採用模組化設計,部分核心功能可在系統運作期間動態載入或移除,例如裝置驅動程式、檔案系統模組等。
解題方法
題目問的是「哪一項不正確」,因此逐一檢查各選項是否符合核心的基本特性。
判斷重點是:
- 核心是作業系統啟動後必須持續提供服務的主要程式。
- 開機時,核心會被載入主記憶體。
- 核心可由多個模組組成。
- 現代作業系統支援在執行期間動態載入核心模組。
其中,選項 B 宣稱核心模組「不能」在作業系統執行時載入,與現代作業系統的可載入核心模組(Loadable Kernel Modules, LKM)設計相矛盾。
選項分析
A) kernel remains in the memory during the entire computer session
此項正確。
核心在開機時載入主記憶體,之後持續負責處理系統呼叫、行程管理、記憶體管理及裝置控制等工作,因此在整個電腦工作階段中都必須保持可執行狀態。
在一般教科書的基本模型中,核心會常駐記憶體(resident in memory)。雖然部分現代核心可能具備分頁、模組卸載或記憶體壓縮等機制,但不影響「核心作為作業系統核心服務,需在系統運作期間持續存在」的基本判斷。
B) kernel is made of various modules which can not be loaded in running operating system
此項錯誤。
核心確實可以由許多模組組成,但現代作業系統通常允許在系統運作期間動態載入核心模組。例如:
第 34 題
- In a timeshare operating system, when the time slot assigned to a process is completed, the process switches from the current state to?
A) Suspended state
B) Terminated state
C) Ready state
D) Blocked state
登入後即可作答並保存紀錄。
這個問題詢問在分時 (Timeshare) 作業系統中,當分配給一個進程 (Process) 的時間片 (Time Slice) 結束時,該進程的狀態會如何變化。
在作業系統的進程狀態轉換中:
- 運行態 (Running State):進程正在 CPU 上執行。
- 就緒態 (Ready State):進程已經準備好執行,但正在等待 CPU 的分配。
- 等待態 (Waiting/Blocked State):進程正在等待某個事件發生,例如 I/O 操作完成、資源可用等。
- 終止態 (Terminated State):進程已經執行完畢。
- 掛起態 (Suspended State):進程被換出記憶體,暫時停止執行,通常是為了釋放記憶體。
第 35 題
- Cascading termination refers to the termination of all child processes if the parent process terminates
A) Normally or abnormally
B) Abnormally
C) Normally
D) None of the mentioned
登入後即可作答並保存紀錄。
核心觀念
**Cascading termination(連鎖終止)**是作業系統中的程序管理機制,指當某個父程序(parent process)終止時,作業系統也連帶終止其子程序(child processes),並可繼續影響後代程序。
父程序的終止原因可能包括:
- 正常終止(normal termination):程序完成工作後主動呼叫終止服務。
- 異常終止(abnormal termination):程序因錯誤、違規操作、被系統強制結束等原因停止。
因此,連鎖終止並不限定父程序必須以哪一種方式終止。
解題方法
題幹指出:
Cascading termination refers to the termination of all child processes if the parent process terminates.
判斷重點是:父程序只要終止,不論是正常結束或異常結束,作業系統都可能依據連鎖終止政策,將其子程序一併終止。
因此涵蓋的情況為:
第 36 題
- The portion of the process scheduler in an operating system that dispatches processes is concerned with
A) assigning ready processes to waiting queue
B) assigning running processes to blocked queue
C) assigning ready processes to CPU
D) all of the mentioned
登入後即可作答並保存紀錄。
核心觀念
本題考查作業系統中的「程序排程器(process scheduler)」與「派送器(dispatcher)」職責。
程序通常處於以下狀態:
- Ready(就緒):已具備執行條件,正在等待 CPU。
- Running(執行中):目前正在 CPU 上執行。
- Blocked/Waiting(阻塞/等待):等待 I/O 或其他事件完成,暫時不能執行。
派送器的主要工作,是將排程器選出的就緒程序交給 CPU 執行,並完成必要的:
- Context switch(內容切換)
- 切換至使用者模式
- 將程式計數器設定為該程序的下一個指令位置
因此,派送器所關心的核心動作是:
解題方法
題幹問:「負責派送程序的程序排程器部分,主要是在處理什麼?」
判斷關鍵在於「dispatch」的定義。派送就是把已經準備好執行的程序,配置給 CPU。因此流程為:
至於程序進入阻塞佇列,通常是因為:
- 發出 I/O 請求
- 等待某項事件
- 執行同步操作而暫停
這些是程序狀態轉換的結果,不是派送器的主要職責。
選項分析
A) assigning ready processes to waiting queue
將就緒程序分配到等待佇列。
第 37 題
- A deadlock avoidance algorithm dynamically examines the __________ condition can never exist.
A) operating system
B) resources
C) system storage state
to ensure that a circular wait
D) resource allocation state
登入後即可作答並保存紀錄。
核心觀念
本題考「死結避免(deadlock avoidance)」與「資源配置狀態(resource-allocation state)」。
死結發生的必要條件包括:
- 互斥(mutual exclusion)
- 持有並等待(hold and wait)
- 不可剝奪(no preemption)
- 循環等待(circular wait)
死結避免法不單純破壞其中一項必要條件,而是在每次配置資源前,動態分析目前的資源配置狀態,判斷核准請求後系統是否仍處於安全狀態。
資源配置狀態通常包含:
- Available:目前可用資源數量
- Allocation:各處理程序目前已取得的資源
- Max:各處理程序宣告的最大資源需求
- Need:各處理程序尚需的資源量
其中:
若核准資源請求後,系統仍可依某種順序讓所有處理程序完成,稱為處於安全狀態(safe state);若可能導致系統進入無法完成所有處理程序的狀態,則拒絕該請求。
銀行家演算法(Banker's algorithm)就是典型的死結避免演算法。它透過檢查資源配置狀態,避免系統進入會造成死結的狀態,因此可確保循環等待條件不會形成。
解題方法
題幹關鍵句為:
A deadlock avoidance algorithm dynamically examines the __________ condition can never exist.
判斷重點是「死結避免演算法動態檢查什麼狀態」。
死結避免的標準作法如下:
- 處理程序提出資源請求。
- 系統暫時假設核准該請求。
- 更新
Available、Allocation與Need。 - 執行安全性檢查,尋找是否存在安全序列。
第 38 題
- The operating system and the other processes are protected from being modified by an already running process because
A) every address generated by the CPU is being checked against the relocation and limit registers
B) they have a protection algorithm
C) they are in different memory spaces
D) they are in different logical addresses
登入後即可作答並保存紀錄。
核心觀念
本題考查作業系統中的「記憶體保護」機制,重點是 relocation register(重定位暫存器)與 limit register(界限暫存器)。
在多工環境中,作業系統與各個使用者行程會共同使用主記憶體。為避免某一行程存取或修改不屬於自己的記憶體區域,CPU 產生的每個位址都必須經過硬體檢查。
- 重定位暫存器:又稱 base register,儲存該行程在主記憶體中的起始實體位址。
- 界限暫存器:儲存該行程可使用的位址範圍大小。
- CPU 產生的位址通常是行程的邏輯位址,硬體會先檢查其是否超出界限,再加上重定位值轉換為實體位址。
若邏輯位址為 ,重定位暫存器為 ,界限暫存器為 ,則必須滿足:
檢查通過後,實體位址為:
若 ,硬體會產生例外,阻止該行程存取非法區域。
解題方法
題幹詢問:作業系統與其他正在執行的行程,為何能避免被某一個已經執行中的行程修改?
判斷關鍵在於「保護正在執行中的行程不能任意存取其他記憶體區域」。這不是依靠一般軟體約定,而是透過硬體在每次記憶體存取時進行位址範圍檢查。
CPU 每產生一個位址時:
- 將位址與 limit register 比較,確認沒有超出該行程的合法範圍。
- 檢查通過後,將 relocation register 的值加到邏輯位址上。
- 形成該行程專屬範圍內的實體位址。
- 若位址超出範圍,硬體便阻止存取並產生例外。
因此,正確答案是「CPU 會檢查每一個產生的位址是否符合重定位與界限暫存器的限制」。
選項分析
A) every address generated by the CPU is being checked against the relocation and limit registers
正確。
第 39 題
- To obtain better memory utilization, dynamic loading is used. With dynamic loading, a routine is not loaded until it is called. For implementing dynamic loading
A) special support from operating system is essential
B) special support from hardware is required
C) user programs can implement dynamic loading without any special support from hardware or operating system
D) special support from both hardware and operating system is essential
登入後即可作答並保存紀錄。
核心觀念:動態載入(Dynamic Loading)
本題考查作業系統中記憶體管理(Memory Management)的基礎概念——**動態載入(Dynamic Loading)**的運作機制與系統需求。
- 動態載入的定義:
程式在執行時,常式(routine)只有在被實際呼叫(call)到時,才會從磁碟載入到主記憶體中執行;未被呼叫的常式則不載入記憶體。此機制能顯著提高主記憶體的利用率(Memory Utilization),特別適用於包含大量罕見錯誤處理常式(error routines)的大型程式。 - 作業系統與硬體的依賴程度(關鍵定理/考點):
- 根據 Abraham Silberschatz 所著之作業系統經典聖經本(Operating System Concepts):
"Dynamic loading does not require special support from the operating system. It is the responsibility of the users to design their programs to take advantage of such a method. Operating systems may help the programmer, however, by providing library routines to implement dynamic loading."
- 動態載入主要屬於**使用者層次(User Level)**的程式設計技術。使用者可透過模組化設計、指標呼叫(如
dlopen、dlsym或自訂可重定位載入器)來實現。 - 因此,動態載入不需要硬體(Hardware)或作業系統(OS)提供特殊的必要支援(special support is not required/essential),作業系統僅扮演提供標準函式庫輔助的角色。
- 根據 Abraham Silberschatz 所著之作業系統經典聖經本(Operating System Concepts):
解題方法
解答本題的切入點在於區分記憶體管理中各項技術對「硬體」與「作業系統」的依賴程度:
- 動態載入(Dynamic Loading):由使用者/程式設計師主導,不需作業系統或硬體的特殊支援。
- 動態連結(Dynamic Linking):執行期才連結共用函式庫(Shared Libraries),需要作業系統支援(例如檢查常式是否已在其他行程的記憶體中,需跨行程保護與管理)。
- 重定位與虛擬記憶體(Relocation / Paging / Virtual Memory):必須依賴硬體(MMU、Relocation Register、TLB)與作業系統共同支援。
第 40 題
- The two steps the operating system takes to use a disk to hold its files are
and
A) caching & logical formatting
B) logical formatting & swap space creation
C) swap space creation & caching
D) partitioning & logical formatting
登入後即可作答並保存紀錄。
核心觀念
作業系統要將磁碟作為檔案儲存空間,通常需經過兩個主要步驟:
- 磁碟分割(partitioning):將整顆磁碟切分成一個或多個獨立區域,每個區域可視為一個邏輯磁碟。
- 邏輯格式化(logical formatting):在分割區上建立檔案系統,例如 NTFS、ext4 或 FAT32,使作業系統能管理檔案名稱、目錄、檔案位置與可用空間。
因此,標準流程為:
解題方法
題幹問的是「作業系統使用磁碟來儲存檔案時所採取的兩個步驟」。判斷重點在於:這兩個步驟必須直接與「建立檔案儲存環境」有關。
第一步先進行磁碟分割,決定磁碟空間如何配置;第二步在分割區上進行邏輯格式化,建立檔案系統。完成後,作業系統才能利用目錄與檔案配置結構來儲存及管理檔案。
選項分析
-
A) caching & logical formatting
錯誤。Caching(快取)是將常用資料暫存在較快速的儲存區域,以提升存取效能,並不是使用磁碟儲存檔案時的基本初始化步驟。Logical formatting 雖然正確,但前一項 caching 不符合題意。
第 41 題
- Which of the following is the fullform of CISC?
A) Complex Instruction Sequential Compilation
B) Complete Instruction Sequential Compilation
C) Computer Integrated Sequential Compiler
D) Complex Instruction Set Computer
登入後即可作答並保存紀錄。
核心觀念
本題考查處理器指令集架構的基本縮寫:
- CISC:Complex Instruction Set Computer
中文為「複雜指令集電腦」。 - RISC:Reduced Instruction Set Computer
中文為「精簡指令集電腦」。
CISC 的特色是提供數量較多、功能較複雜的機器指令,單一指令可能完成多個低階操作。
解題方法
判斷縮寫的完整名稱即可:
- C 代表 Complex
- I 代表 Instruction
- S 代表 Set
- C 代表 Computer
依序組合為:
因此正確選項為 D。
選項分析
A) Complex Instruction Sequential Compilation
錯誤。雖然前三個字的開頭與 CISC 部分相近,但:
Sequential的字首為 S,並非此處所需的SetCompilation的字首為 C,但 CISC 中最後一個 C 應代表Computer
因此不是 CISC 的完整名稱。
B) Complete Instruction Sequential Compilation
第 42 題
- The DBMS acts as an interface between
and
of an enterprise-
class system.
A) Data and the DBMS
B) Application and SQL
C) Database application and the database
D) The user and the software
登入後即可作答並保存紀錄。
核心觀念
DBMS(Database Management System,資料庫管理系統)的主要功能,是在「資料庫應用程式」與「資料庫」之間建立介面。
資料庫應用程式不直接管理資料檔案,而是透過 DBMS 執行:
- 查詢與擷取資料
- 新增、修改、刪除資料
- 交易管理與一致性維護
- 權限控管
- 備份與復原
- 多使用者並行控制
因此,DBMS 位於應用程式與資料庫之間,負責將應用程式的資料操作需求轉換成對資料庫的實際管理動作。
解題方法
題幹問:
The DBMS acts as an interface between ______ and ______.
判斷 DBMS 的角色即可。標準定義是:
所以兩個空格應填入:
- Database application:資料庫應用程式
- The database:資料庫
故正確選項為 C。
選項分析
-
A) Data and the DBMS
錯誤。DBMS 本身就是管理資料的系統,不是單純位於「資料」與「DBMS」之間的介面。題目要考的是 DBMS 對外連接的兩端:應用程式與資料庫。
-
B) Application and SQL
第 43 題
- Which of the following is popular for applications such as storage of log files in a database management
system since it offers the best write performance?
A) RAID level 0
B) RAID level 1
C) RAID level 2
D) RAID level 3
登入後即可作答並保存紀錄。
核心觀念
本題考查 RAID(Redundant Array of Independent Disks,獨立磁碟冗餘陣列)各層級的資料配置方式,以及其對寫入效能的影響。
資料庫的 log files 通常具有大量連續寫入需求,因此若只比較「寫入效能」,重點在於:
- 是否能將資料分散寫入多顆磁碟。
- 是否需要同步寫入鏡像資料。
- 是否需要計算並寫入同位元檢查碼(parity)。
- 是否存在額外的錯誤更正或同步寫入負擔。
RAID 0 採用資料分割(striping),將資料分散到多顆磁碟,不提供鏡像與同位元保護,因此寫入時不需額外複製資料或計算 parity,具有最佳的寫入效能。
解題方法
判斷各 RAID 層級的寫入成本:
- RAID 0:資料分割,直接平行寫入多顆磁碟,沒有額外冗餘資料。
- RAID 1:資料鏡像,每筆資料至少要寫入兩份。
- RAID 2:使用位元層級分割,並搭配 Hamming code 進行錯誤更正,控制成本較高。
- RAID 3:資料以位元組層級分割,並使用專用 parity 磁碟,寫入時需更新 parity。
因此,RAID 0 的寫入流程最簡單,且能利用多顆磁碟平行處理,寫入效能最佳。
【答案】A) RAID level 0
選項分析
A) RAID level 0:正確
RAID 0 使用 striping,將資料切割成多個區塊,分散寫入不同磁碟。例如資料區塊可依序配置到磁碟 、、:
多顆磁碟可同時執行寫入,因此具有良好的平行性。由於沒有鏡像與 parity,寫入時不需要額外寫入副本或計算檢查碼,寫入負擔最低。
RAID 0 的缺點是完全沒有容錯能力,只要任一顆磁碟故障,整個陣列的資料都可能無法使用。因此實務上若 log 必須具備高可靠性,通常還要搭配備份或採用具容錯能力的 RAID 配置。但就本題所問的「最佳寫入效能」而言,RAID 0 正確。
第 44 題
- The logical design, and the snapshot of the data at a given instant in time is known as?
A) Instance & Relation
B) Relation & Schema
C) Domain & Schema
D) Schema & Instance
登入後即可作答並保存紀錄。
核心觀念
本題考查資料庫的 Schema(綱要) 與 Instance(實例) 定義。
- Schema:資料庫的邏輯設計,描述資料庫的結構,例如有哪些資料表、欄位、資料型別、主鍵與關聯限制。Schema 通常不會頻繁改變。
- Instance:資料庫在某一特定時間點所儲存的實際資料內容,也就是資料庫的快照。資料會隨著新增、修改、刪除而變動。
因此,題目中的:
- “logical design” 對應 Schema
- “snapshot of the data at a given instant in time” 對應 Instance
解題方法
依照資料庫基本定義直接配對:
題目詢問的順序是「邏輯設計」再加上「特定時間點的資料快照」,所以答案順序為:
選項分析
A) Instance & Relation
錯誤。
- Instance 是特定時間點的實際資料內容,並非邏輯設計。
- Relation 通常指關聯或資料表;在關聯式資料庫中,表格的結構可稱為 relation schema,表格中的實際資料則可視為 relation instance。
- 此選項的順序與題目定義不符,且沒有使用代表邏輯設計的 Schema。
第 45 題
- The top level of the hierarchy consists of
each of which can contain
A) Schemas, Catalogs
B) Schemas, Environment
C) Environment, Schemas
D) Catalogs, Schemas
登入後即可作答並保存紀錄。
核心觀念
本題考查資料庫系統的階層結構,特別是 SQL/關聯式資料庫中 Environment、Catalog 與 Schema 的從屬關係。
典型階層如下:
其中:
- Environment(環境):整個資料庫系統所處的最高層級。
- Catalog(目錄):位於環境之下,可視為資料庫物件的集合。
- Schema(綱要):位於 Catalog 之下,用來組織及描述資料表、檢視表、索引等資料庫物件。
因此,題幹的完整意思是:
階層的最高層由 Catalogs 組成,而每一個 Catalog 都可以包含多個 Schemas。
解題方法
依照資料庫物件的標準階層判斷:
- 最高層級是
Environment。 Environment之下包含一個或多個Catalogs。- 每一個
Catalog之下可以包含一個或多個Schemas。
所以題幹應填入:
The top level of the hierarchy consists of Catalogs, each of which can contain Schemas.
選項分析
第 46 題
- The ability to query data, as well as insert, delete, and alter tuples, is offered by
A) TCL (Transaction Control Language)
B) DML (Data Manipulation Langauge)
C) DDL (Data Definition Langauge)
D) DCL (Data Control Language)
登入後即可作答並保存紀錄。
核心觀念
本題考查 SQL 的四類語言及其功能:
- DML(Data Manipulation Language,資料操縱語言):查詢及修改資料表中的資料列(tuple)。
- DDL(Data Definition Language,資料定義語言):定義或修改資料庫結構,例如資料表、欄位與索引。
- DCL(Data Control Language,資料控制語言):管理使用者權限。
- TCL(Transaction Control Language,交易控制語言):管理交易的提交與復原。
題幹描述的功能包括:
- 查詢資料:
SELECT - 插入資料列:
INSERT - 刪除資料列:
DELETE - 修改資料列:
UPDATE
這些都是針對資料表內實際資料內容的操作,屬於 DML。
解題方法
判斷關鍵在於區分「資料內容」與「資料庫結構」:
- 操作資料表中的 tuple,例如新增、刪除、修改資料,是 DML。
- 操作資料表本身的結構,例如新增欄位、刪除資料表,是 DDL。
題目中的 query、insert、delete,以及 alter tuples,都是針對資料列內容進行操作,因此正確分類為:
選項分析
A) TCL(Transaction Control Language)
錯誤。
TCL 用於控制交易狀態,常見指令包括:
COMMIT:提交交易ROLLBACK:復原交易SAVEPOINT:設定復原點
第 47 題
- CASE stands for
A) Computer-Aided Software Engineering
B) Control Aided Science and Engineering
C) Cost Aided System Experiments
D) None of the mentioned
登入後即可作答並保存紀錄。
核心觀念
本題考查軟體工程(Software Engineering)與系統分析與設計(Systems Analysis and Design, SAD)領域中的核心縮寫名詞 CASE。
- CASE 的全名為 Computer-Aided Software Engineering(電腦輔助軟體工程)。
- 定義與目標:指利用一系列自動化或半自動化的軟體工具與技術,協助軟體開發人員進行軟體開發生命週期(SDLC)中各階段的作業(包括需求分析、系統設計、程式碼生成、測試與專案管理),以提高軟體開發效率、降低錯誤率並提升軟體品質。
解題方法
本題屬於資訊管理與計算機概論常考的「專有名詞與縮寫定義題」。解題時應直接以軟體工程術語的規範定義作為切入點:
- 檢索軟體開發生命週期中常配合使用的輔助工具名詞。
- 比對選項字首縮寫對應的標準英文全稱:C(Computer)、A(Aided)、S(Software)、E(Engineering)。
選項分析
- A) Computer-Aided Software Engineering:正確。此為 CASE 的標準英文全稱,指利用電腦工具輔助軟體開發生命週期的各項活動。
- B) Control Aided Science and Engineering:錯誤。
第 48 題
- What is a Functional Requirement?
A) specifies the tasks the program must complete
B) specifies the tasks the program should not complete
C) specifies the tasks the program must not work
D) All of the mentioned
登入後即可作答並保存紀錄。
核心觀念
Functional Requirement(功能需求)是指系統或程式必須提供的功能、服務,以及應完成的工作,描述系統「要做什麼」。
例如:
- 使用者可以登入系統。
- 系統能計算成績平均值。
- 使用者可以查詢考試結果。
- 系統能產生月報表。
功能需求通常描述系統的輸入、處理、輸出,以及在特定情況下應產生的行為。
相對地,**Non-functional Requirement(非功能需求)**描述系統「要如何完成工作」,例如:
- 回應時間不得超過 2 秒。
- 系統全年可用率須達 99.9%。
- 資料必須經過加密。
- 系統須支援 10,000 名同時使用者。
本題詢問 Functional Requirement 的定義,關鍵在於判斷哪個選項描述「程式必須完成的工作」。
解題方法
題幹問:
What is a Functional Requirement?
判斷步驟如下:
- 找出描述系統「必須執行哪些工作」的選項。
- 排除描述「不應執行」或語意不完整的選項。
- 再判斷全稱選項是否成立。
選項 A 說明程式必須完成的任務,符合功能需求的定義,因此為正確答案。
選項分析
A) specifies the tasks the program must complete
正確。
第 49 題
- __________ is the definition of objects in the database that leads directly to a standard approach for the creation of software documentation.
A) Data/data integration
B) Information sharing
C) Document standardization
D) Data integrity
登入後即可作答並保存紀錄。
核心觀念
本題考查資料庫管理與軟體文件管理中的「文件標準化(Document standardization)」概念。
在軟體開發過程中,若能以一致的方式定義資料庫中的物件,例如資料表、欄位、主鍵、外鍵、關聯與限制條件,便能依照統一格式建立系統規格書、資料字典、資料庫設計文件與維護文件。這種將文件內容、格式與描述方式予以統一的做法,就是文件標準化。
文件標準化的主要目的包括:
- 建立一致的文件格式與命名方式。
- 使不同開發人員能以相同方式理解資料庫物件。
- 降低系統維護與交接的困難。
- 使軟體文件的建立與更新具備標準流程。
解題方法
題幹的關鍵語句是:
the definition of objects in the database
leads directly to a standard approach for the creation of software documentation
題目指出「定義資料庫中的物件」會直接導向「以標準方式建立軟體文件」。判斷重點在於後半句的「standard approach」與「software documentation」。
凡是強調文件格式、文件內容、文件製作流程一致化的概念,皆屬於 Document standardization。因此正確答案為 C。
選項分析
A) Data/data integration
Data integration 是資料整合,指將來自不同來源、不同格式或不同系統的資料加以整合,使其能在同一系統中共同使用。
第 50 題
- Which of the following is not a project factor that should be considered when planning the structure of software developing teams?
A) The rigidity of the delivery date
B) The degree of sociability required for the project
C) High frustration caused by personal, business, or technological factors that causes friction among team members
D) The difficulty of the problem to be solved
登入後即可作答並保存紀錄。
核心觀念
本題考查「軟體開發團隊結構規劃」時,應考量的專案因素。
軟體工程中,團隊結構會受到下列因素影響:
- 問題本身的困難度
- 團隊規模
- 團隊預計存在的時間
- 問題是否容易模組化
- 所需的品質與可靠度
- 交付期限的嚴格程度
- 專案所需的溝通程度
- 專案所需的社交互動程度
這些因素會影響團隊應採用集中式、分散式、民主式或混合式的組織方式。
解題方法
判斷每個選項是否屬於「專案本身的特性」,以及是否會影響軟體開發團隊的組織與溝通方式。
若選項描述的是專案的難度、時程、溝通或社交需求,通常屬於團隊結構規劃時應考量的 project factor。若描述的是團隊成員之間已經發生的衝突或個人情緒問題,則屬於團隊管理或人員互動問題,而非典型的專案因素。
選項分析
A) The rigidity of the delivery date
交付日期的嚴格程度會直接影響團隊結構。
若期限非常固定,團隊可能需要:
- 增加人力
- 採取較集中式的決策
- 加強進度控管
- 提高溝通效率
- 減少不必要的討論與決策延遲
因此,交付期限的剛性確實是規劃軟體開發團隊時應考量的專案因素。本選項正確,不能選。
B) The degree of sociability required for the project
專案所需的社交互動程度也會影響團隊組織。
有些專案需要大量:
- 使用者訪談
- 跨部門協調
- 客戶溝通
- 團隊合作
- 需求討論
此時團隊成員必須具備較高的互動性與合作能力,團隊結構也應支援頻繁溝通。因此,專案所需的社交程度屬於可影響團隊結構的因素。本選項正確,不能選。