二-1雜湊技術用於搜尋的核心概念與運作原理
考點:Hash Function 與雜湊表(Hash Table)基本概念
核心概念:以雜湊函數把鍵值直接換算成儲存位置,不必逐一比較,平均 時間就能找到資料。
運作原理:
- 插入時計算 ,例如 ,把資料放進雜湊表第 個位置。
- 搜尋時以同一個函數算出位置,直接到該位置取資料。
- 不同鍵值算出同一位置稱為碰撞,以鏈結法(Chaining,同一位置用串列存多筆)或開放定址法(Open Addressing,如線性探測,往下找空位)處理。
| 題號 | 考點主題 | 答案 |
|---|---|---|
| 一-1 | 字元編碼:ASCII、Big5、UTF-8 | (D) |
| 一-2 | 計算機常用單位:時間單位與空間單位換算表 | (C) |
| 一-3 | CPU 排程演算法比較:FCFS、SJF、Priority、RR 與 Multilevel Queue | (A) |
| 一-4 | Stack 與 Queue 定義與應用場景 | (B) |
| 一-5 | 4 種 Cloud Computing 服務模式:IaaS/PaaS/SaaS/DaaS | (B) |
| 一-6 | 網路診斷指令:ifconfig、nslookup、traceroute | (C) |
| 一-7 | 常見網路攻擊手段整理:Malware(Virus/Trojan/Worm)與其他攻擊手法 | (A) |
| 一-8 | 常見網路攻擊手段整理:Malware(Virus/Trojan/Worm)與其他攻擊手法 | (D) |
考點:Hash Function 與雜湊表(Hash Table)基本概念
核心概念:以雜湊函數把鍵值直接換算成儲存位置,不必逐一比較,平均 時間就能找到資料。
運作原理:
考點:數位簽章、數位憑證與安全通訊協定:PGP、S/MIME、SSL/TLS、SET
核心概念:不可否認性是讓傳送者事後無法否認自己送過某份訊息。做法是數位簽章:以密碼學雜湊函數產生訊息的摘要,再以傳送者的私鑰對摘要簽章;在私鑰未外洩的前提下,只有持有私鑰的人簽得出來,所以無法否認。
運作原理:
考點:區塊鏈(Blockchain)基本概念:Mining 與交易驗證
核心概念:每個區塊記錄前一個區塊的雜湊值,把區塊串成鏈;任何一筆資料被修改,該區塊的雜湊值就會改變,與下一個區塊記錄的值對不上,竄改容易被發現。
運作原理:
考點:二項式係數動態規劃(DP)
(1) 演算法(乘法公式逐步計算):
Algorithm Combination(n, k)
if k < 0 or k > n then return 0
if k > n - k then k ← n - k // C(n,k) = C(n,n-k),取較小者
result ← 1
for i ← 1 to k do
result ← result × (n - k + i) / i // 每一步都是整數
return result
(2) 優劣:
考點:表現層狀態轉換(Representational State Transfer, REST)與 GraphQL:API 設計比較與 HTTP 方法語意
(1) 定義:用戶端是發出請求、使用服務的一方(瀏覽器、App、命令列工具);資源是伺服器上以統一資源識別碼(URI)識別、可被操作的資料或服務。
(2) 以 AWS S3 為例:用戶端不直接接觸儲存設備,所有操作經 API 提出,由 API 驗證、轉送與回傳。
考點:表現層狀態轉換(Representational State Transfer, REST)與 GraphQL:API 設計比較與 HTTP 方法語意
(1) Stateless:伺服器不保存對話狀態,每個請求自帶所需資訊(如 token);任何伺服器都能處理,易於水平擴充,代價是重複傳送資訊。
(2) Uniform Interface:以 URI 識別資源、以 HTTP 方法表達動作、以表現形式傳遞狀態、訊息自我描述、以 HATEOAS(Hypermedia as the Engine of Application State)提供下一步連結;用戶端與伺服器可各自演進。
考點:表現層狀態轉換(Representational State Transfer, REST)與 GraphQL:API 設計比較與 HTTP 方法語意
Code on Demand。
考點:表現層狀態轉換(Representational State Transfer, REST)與 GraphQL:API 設計比較與 HTTP 方法語意
(1) Nouns(URI):以名詞表示資源,如 /products/1001、/orders、/orders/5678。
(2) Verb(HTTP method):GET /products/1001 瀏覽商品、POST /orders 下單、GET /orders/5678 查詢、PATCH /orders/5678 修改、DELETE /orders/5678 取消。
(3) Content-Types:下單請求標頭 Content-Type: application/json,內容為 JSON(JavaScript Object Notation)格式的訂單資料;用戶端以 Accept: application/json 指定回應格式,伺服器回應也以 JSON 表示訂單。
考點:JSON 資料格式:物件、陣列與名稱值配對
{}:物件(object),由一組無順序的「名稱:值」配對組成,配對之間以逗號分隔。例如 {"subject":"Math","score":80} 表示一筆科目成績。[]:陣列(array),由有順序的值組成,值之間以逗號分隔。例如最外層的 [...] 是兩位學生的清單,"report":[...] 是一位學生的各科成績清單。::分隔名稱與值,左邊是以雙引號括起的名稱(屬性),右邊是值。例如 "score":80 表示屬性 score 的值為 80。考點:JSON 資料格式:物件、陣列與名稱值配對
| name | lastname | Math | English |
|---|---|---|---|
| AAA | BB | 80 | 90 |
| CCC | DD | 86 | 88 |