所屬科目:鐵路◆系統程式分析與設計
1 關於計算機的硬體與軟體,下列敘述何者錯誤? (A) 軟體是一系列作業指令,引導計算機完成複雜的運算 (B) 硬體主要是數位電子電路,大部分是由半導體組成 (C) 硬體和軟體可以獨立存在並發揮完整功能 (D) 同一部計算機可執行不同的軟體來完成不同的工作
2 關於計算機的匯流排(bus),下列何者錯誤? (A) 位址匯流排是單向的 (B) 資料匯流排是雙向的 (C) 控制匯流排只能由CPU發出 (D) 匯流排是用來連接不同組件的平行電線組
3 快取記憶器(cache)的主要功能是什麼? (A) 永久儲存重要資料 (B) 增加記憶體容量 (C) 提升資料處理速度 (D) 管理輸入輸出設備
4 軟體開發的第一個步驟是什麼? (A) 撰寫程式碼 (B) 進行可行性探討 (C) 確認已知問題及需求 (D) 進行單元測試
5 功能規格(functional specification)的主要目的是什麼? (A) 詳細說明程式碼的撰寫方式 (B) 指出系統的技術架構 (C) 概述問題與預期解決方案 (D) 規劃測試案例
6 有關退化測試(regression test)的敘述,何者錯誤? (A) 是為了確保新的改變不會影響既有功能 (B) 只需要在專案最後階段執行一次 (C) 通常每次產品更新都需要執行 (D) 可以及早發現並修復問題
7 原始程式碼控制系統的主要功能為何? (A) 自動除錯 (B) 記錄每一次更改的內容 (C) 自動執行單元測試 (D) 最佳化程式碼
8 什麼是庫存(library)的主要目的? (A) 節省記憶體空間 (B) 提高程式執行速度 (C) 避免程式碼重複撰寫 (D) 增加程式的複雜度
9 下列何者不是連結程式(linker)尋找庫存的方式? (A) 使用環境變數 (B) 使用-l選項指定庫存名稱 (C) 指定庫存的完整路徑 (D) 直接修改庫存原始碼
10 在編譯與建立程式的過程中,哪個步驟會處理庫存的連結? (A) 前置處理 (B) 編譯 (C) 連結 (D) 執行
11 在Unix/Linux系統中,什麼選項用來指定要製作成動態庫存? (A) -static (B) -shared (C) -dynamic (D) -library
12 關於緩衝式I/O,下列敘述何者錯誤? (A) 可以提升檔案存取效率 (B) 資料會先暫存在緩衝器中 (C) 系統當機時不會造成資料遺失 (D) 標準C的庫存函數都具有緩衝功能
13 非同步I/O的主要優點為何? (A) 確保資料安全性 (B) 提升資料正確性 (C) 增加程式可攜性 (D) 提升系統效能
14 關於檔案位置指標的敘述,下列何者正確? (A) 同一個檔案的所有程序共用同一個位置指標 (B) 開啟檔案時位置指標預設在檔案末尾 (C) 每次讀寫操作後位置指標會自動更新 (D) 位置指標只能向前移動不能向後移動
15 在作業系統中,下列哪一種I/O方式會使程式在輸入/輸出作業完成前,暫時停下來 等待? (A) 同步I/O (B) 非同步I/O (C) 循序I/O (D) 緩衝I/O
16 在Unix和Linux系統中,標準輸出(stdout)的檔案描述值為何? (A) 0 (B) 1 (C) 2 (D) 3
17 在使用ls -l命令時,如果檔案類型顯示為"d",表示這是什麼類型的檔案? (A) 一般檔案 (B) 目錄檔案 (C) 連結檔案 (D) FIFO檔案
18 在Unix/Linux系統中,S_IRUSR常數代表什麼權限? (A) 擁有者讀取權限 (B) 擁有者寫入權限 (C) 擁有者執行權限 (D) 群組讀取權限
19 使用unlink()函數的主要目的是什麼? (A) 建立檔案連結 (B) 刪除檔案或連結 (C) 修改檔案權限 (D) 重命名檔案
20 chmod()函數的作用是什麼? (A) 更改檔案所有者 (B) 更改檔案群組 (C) 更改檔案權限 (D) 更改檔案名稱
21 在文字裝置檔案中,通常存放在哪個目錄下? (A) /bin (B) /dev (C) /etc (D) /usr
22 使用mkdirat()函數時,與mkdir()函數最大的差別在於? (A) 建立多層目錄的能力 (B) 權限設定的方式 (C) 相對路徑的處理方式 (D) 錯誤處理機制
23 網路插口(socket)檔案的主要用途是? (A) 儲存網路設定 (B) 處理網路通信 (C) 紀錄網路日誌 (D) 管理網路介面
24 檔案的連結數(link count)初始值為多少? (A) 0 (B) 1 (C) 2 (D) 3
25 S_IWGRP權限代表什麼? (A) 群組可讀取 (B) 群組可寫入 (C) 群組可執行 (D) 群組可刪除
26 關於信號行動(action)的敘述,下列何者錯誤? (A) 程序可以選擇忽略信號 (B) 程序可以選擇接住(catch)信號 (C) 程序可以選擇採取預設行動 (D) 所有信號都可以被忽略或攔截
27 關於信號的擱置(pending)狀態,下列何者錯誤? (A) 信號在產生到送達程序之間稱為擱置狀態 (B) 程序可以阻擋信號使其暫時不被送達 (C) 被阻擋的信號最終會消失不見 (D) 信號處於擱置狀態時會保留在系統中
28 sleep()函數的基本功能是什麼? (A) 強制程序終止 (B) 暫停程序執行指定的秒數 (C) 發送信號給其他程序 (D) 接收其他程序的信號
29 這些警訊告訴我們在使用信號時要注意什麼? (A) 信號處理要快速 (B) 信號使用要謹慎且安全 (C) 信號數量要最小化 (D) 信號類型要統一
30 關於程序對信號的處理,下列何者正確? (A) 只能採取預設動作 (B) 不可以阻擋任何信號 (C) 可以選擇忽略、阻擋或撿接信號 (D) 所有信號都必須處理
31 fork()函數在子程序中返回值為何? (A) -1 (B) 1 (C) 母程序的pid (D) 0
32 什麼是孤兒程序(orphaned process)? (A) 尚未結束但母程序已結束的程序 (B) 已結束但母程序未結束的程序 (C) 無法正常執行的程序 (D) 被強制終止的程序
33 getenv()函數的主要功能是什麼? (A) 取得環境變數的值 (B) 設定環境變數 (C) 刪除環境變數 (D) 列出所有環境變數
34 getgrgid()函數的功能是什麼? (A) 取得群組名稱 (B) 根據I D取得群組資訊 (C) 修改群組I D (D) 建立新群組
35 現代伺服程式設計的主要特徵是什麼? (A) 單工處理 (B) 多工處理 (C) 循序處理 (D) 同步處理
36 在生產消費問題中,下列何者為計數器(counter)的主要功能? (A) 記錄生產者數量 (B) 記錄消費者數量 (C) 記錄目前緩衝器中產品數量 (D) 記錄執行時間
37 關於條件變數(condition variable)的基本特性,下列敘述何者錯誤? (A) 條件變數可以單獨使用不需互斥鎖 (B) 條件變數有等候(wait)與送出信號(signal)兩個動作 (C) 條件變數用於解決程序間相互依賴的問題 (D) 條件變數需要等待事件發生後才能往下執行
38 在生產者消費者問題中,當緩衝區已滿時,生產者應該採取什麼動作? (A) 繼續生產並覆蓋舊資料 (B) 結束程式執行 (C) 調用pthread_cond_wait()等待 (D) 直接拋出異常
39 程線特有資料在建立時必須先呼叫哪個函數? (A) pthread_data_create() (B) pthread_key_create() (C) pthread_specific_create() (D) pthread_tsd_create()
40 下列哪個不是取消點函數? (A) read() (B) write() (C) pthread_create() (D) pthread_testcancel()
41 在多核心CPU的計算機中,程式執行方式為何? (A) 只能循序執行 (B) 只能單一執行緒 (C) 可以並行地(in parallel)執行 (D) 僅能輪流執行
42 系統五旗誌主要用於什麼目的? (A) 訊息傳遞 (B) 共用記憶體管理 (C) 共時更新與存取共用記憶體內容的控制 (D) 檔案存取控制
43 關於random_file_update()與random_file_update_all()這兩個函數的差異,下列何者 正確? (A) 前者只能更新一個區塊,後者可更新多個區塊 (B) 前者不需要鎖定,後者需要鎖定 (C) 前者使用循序讀寫,後者使用隨機讀寫 (D) 前者只能讀取,後者可以讀寫
44 關於 Intel x86 處理器的上鎖指令,下列敘述何者正確? (A) BTS 指令執行後不會影響進位旗號 (B) BTR 指令只能執行測試功能 (C) BTS 指令將被選定之位元值存入狀態暫存器之進位旗號內 (D) BTR 和 BTS 指令都無法進行位元的清除
45 若要檢查旗誌是否已存在於系統中,應使用什麼方式? (A) 使用access()函數 (B) 使用sem_open()函數 (C) 使用sem_init()函數 (D) 使用sem_post()函數
46 在Windows系統中,互斥鎖(mutex)的特性為何? (A) 只能用於同一程序內 (B) 可以跨程序使用 (C) 不需要命名 (D) 不可以等待
47 何謂"持有並等待"? (A) 程序持有某資源後必須等待 (B) 程序在等待時必須持有資源 (C) 程序持有至少一個資源並等待其他資源 (D) 程序必須等待所有資源都可用
48 在Linux系統中,查詢旗誌的核心層參數值可使用何種指令? (A) cat /etc/system (B) cat /proc/sys/kernel/sem (C) sysdef -i (D) lsattr
49 在Linux/Unix系統中,mkfifo()函數的主要功能為何? (A) 刪除導管檔案 (B) 建立一個FIFO特殊檔案 (C) 修改導管權限 (D) 讀取導管內容
50 信息排隊中msgget()函數的主要功能是什麼? (A) 發送信息 (B) 接收信息 (C) 產生或獲取信息排隊 (D) 刪除信息排隊