本日主題:演練資安、程式與綜合情境題 預計時間:2 小時 對應主教材:第 8 章 Q10~Q17


一、今日學習目標

  • [ ] 流暢回答資安/流程題
  • [ ] 能當場寫出基本 SQL
  • [ ] 能有條理回答情境題
  • [ ] 掌握每題的「加分回答」和「地雷回答」

二、資安 / 流程類

Q10. 最小權限原則是什麼?為何重要?

基本回答:

只給工作所需最低權限,降低誤操作與被入侵後的損害範圍。

加分回答:

最小權限原則(Principle of Least Privilege)的核心是:每個使用者、程式、系統只應該擁有完成工作所需的最低限度權限。

為什麼重要(三個面向): 1. 降低攻擊面:如果帳號被盜,攻擊者只能做該帳號權限內的事 2. 減少誤操作:一般使用者不小心刪到重要檔案的機率降低 3. 便於稽核:權限清楚,出問題時容易追查是誰做的

實際做法: - AD 用群組管權限,不要直接給個人 - 共用資料夾用「唯讀」為預設,需要寫入的人再個別開放 - 管理員帳號不拿來做日常工作(用一般帳號辦公,需要時再切管理員) - 定期檢視權限,離職/調部門時更新

地雷回答: - ❌ 「給大家管理員權限比較方便」→ 資安大忌 - ❌ 只說「降低風險」但沒有具體做法


Q11. 同事離職,IT 要做什麼?

基本回答:

停用/刪除帳號、回收設備、權限移轉/取消、資料依規定保留、變更共用密碼。

加分回答:

我會按照離職 SOP 處理,分為三個階段:

離職當天: 1. 停用 AD 帳號(先停用、不要馬上刪除,保留 30 天以防需要查資料) 2. 停用 Email 信箱(或設定自動轉寄給交接人) 3. 回收設備:電腦、手機、門禁卡、USB 4. 取消所有系統權限:ERP、VPN、遠端桌面、雲端服務 5. 變更共用密碼:如果該員知道任何共用帳號密碼

離職後一週: 6. 資料移交:桌面/文件/郵件依規定移交給主管或交接人 7. 設備清除:重灌/清除個人資料後入庫

定期(每季): 8. 帳號稽核:確認沒有遺漏未停用的離職帳號

面試加分小知識:

提到「我會建一份離職 IT 檢核清單,確保每次都不遺漏」,展現你有 SOP 化的思維。


Q12. 如何防範勒索病毒?

基本回答:

最關鍵離線/異地備份;其次修補、防毒、最小權限、教育員工不亂點、網路分段。

加分回答:

防範勒索病毒的防禦縱深(Defense in Depth):

層次 做法 效果
備份(最重要) 3-2-1 備份,至少一份離線/不可變 即使中了也能復原
修補 定期更新 OS 與軟體(尤其 Windows Update) 堵住已知漏洞
端點防護 企業級防毒 + EDR 偵測並阻擋惡意行為
最小權限 使用者不給管理員權限 限制病毒能加密的範圍
網路分段 VLAN 隔離產線/辦公/伺服器 防止橫向擴散
郵件過濾 擋掉可疑附件(.exe, .js, .vbs) 阻擋主要攻擊管道
教育訓練 教員工辨識釣魚郵件、不亂點連結 人是最大漏洞

中了之後怎麼辦: 1. 立刻斷網(拔網路線/關 Wi-Fi),阻止擴散 2. 通報主管和資安單位 3. 確認備份是否安全(離線備份沒被加密) 4. 不要付贖金(付了也不保證解密) 5. 用乾淨的備份還原

地雷回答: - ❌ 「裝防毒軟體就好了」→ 防毒只是其中一層,不是萬能的 - ❌ 「中了就付贖金解決」→ 付了不保證解密,還助長犯罪


三、程式 / MIS 類

Q13. 寫 SQL 查 IT 部門薪水前 5 高。

基本回答:

SELECT name, salary FROM employees
WHERE department = 'IT'
ORDER BY salary DESC
LIMIT 5;   -- SQL Server 用 SELECT TOP 5

加分回答:

-- MySQL / PostgreSQL 版本
SELECT name, salary
FROM employees
WHERE department = 'IT'
ORDER BY salary DESC
LIMIT 5;

-- SQL Server 版本
SELECT TOP 5 name, salary
FROM employees
WHERE department = 'IT'
ORDER BY salary DESC;

-- 如果要考慮同薪的情況(顯示並列)
SELECT name, salary
FROM employees
WHERE department = 'IT'
ORDER BY salary DESC
FETCH FIRST 5 ROWS WITH TIES;  -- SQL Server 2012+

延伸:面試官可能會追問「如果不同資料庫的語法不同怎麼辦?」——回答你了解 LIMIT(MySQL)和 TOP(SQL Server)的差異即可。


Q14. 怎麼把每天的手動報表自動化?

基本回答:

視情況用 Python(pandas)/VBA 讀檔彙總、Power Automate 排程、Power BI 儀表板;先標準化資料來源再排程自動產出。

加分回答:

我會按以下步驟規劃: 1. 釐清現況:現在是誰在做?資料從哪來?格式固定嗎?做了之後給誰看? 2. 標準化:把資料來源格式固定、輸出格式固定 3. 選工具: - 資料在 Excel/CSV → Python + pandas(最彈性) - 部門同事要繼續維護 → VBA(他們會用 Excel 就能改) - 要視覺化儀表板 → Power BI - 要跨系統串接 → Power Automate 4. 加上排程:Windows 工作排程器或 Power Automate 定時執行 5. 加上通知:完成後自動寄信通知,失敗時也要告警 6. 寫文件:讓別人也能維護


Q15. 有寫過什麼自動化經驗?

基本回答:

用第 7 週的作品,套 STAR:問題→工具→成果(量化省下的時間)。

加分回答(STAR 範例):

S:我注意到每天都要手動從 Excel 整理部門銷售報表,
   每次要花 30 分鐘,而且常因為複製貼上出錯。

T:我想用程式自動化這個流程,減少時間和錯誤。

A:我用 Python 的 pandas 套件,寫了一個腳本自動讀取每日資料檔,
   依部門做彙總,然後輸出成新的 Excel。
   我還加了:
   - 錯誤處理(檔案不存在、欄位缺少會給清楚提示)
   - 日誌記錄(方便排程後追蹤執行狀況)
   - 時間戳記檔名(避免覆蓋舊報表)
   - 自動寄信通知(報表完成後寄給主管)

R:現在執行幾秒就完成,不再出現人工錯誤。
   我算了一下,如果用在實際工作中,每天省 30 分鐘,
   一年就是 125 小時以上。

新增 Q18. 你會怎麼用 Python 串接外部 API?

回答:

import requests

# GET 請求
response = requests.get("https://api.example.com/data")
if response.status_code == 200:
    data = response.json()
    print(data)

# POST 請求(送出資料)
payload = {"title": "通知", "message": "報表已產生"}
response = requests.post(
    "https://api.example.com/notify",
    json=payload,
    headers={"Authorization": "Bearer TOKEN"}
)

在 MIS 場景中,常見的 API 串接:ERP 匯出資料、發送 LINE Notify/Teams 通知、查詢外部服務狀態等。


四、綜合情境

Q16. 產線系統突然不能用,全廠在等你,怎麼處理?

基本回答:

穩住、確認影響範圍 → 分層快速排查(網路/伺服器/資料庫/應用)→ 同時通報主管與相關人並給預計時間 → 優先恢復服務(Incident)→ 事後找根因(Problem)並記錄預防。

加分回答:

這是典型的 Incident Management,我會按 ITIL 的框架處理:

前 5 分鐘(穩住 + 評估): 1. 深呼吸、保持冷靜(慌張會做出錯誤判斷) 2. 確認影響範圍:哪些產線/系統受影響?有沒有替代方案? 3. 通報主管:「目前 ___ 系統異常,我正在排查,預計 ___ 分鐘內回報」

排查(分層、快速): 4. 網路 → 伺服器 → 資料庫 → 應用程式,逐層確認 5. 最近有沒有做過變更?(更新、設定調整)→ 有的話先回復 6. 看 Event Log / 錯誤日誌

恢復服務(最高優先): 7. 能重啟解決就先重啟(優先恢復服務,不要堅持找到根因才動作) 8. 如果無法立刻修好,啟用備援/替代方案

事後(根因分析): 9. 找到根本原因並修復 10. 寫事件報告(what, when, why, how, 預防措施) 11. 更新知識庫

地雷回答: - ❌ 「我會慢慢研究到找到原因」→ 產線在等,要先恢復服務 - ❌ 沒有提到「通報主管」→ 獨自承擔風險 - ❌ 「之前沒遇過所以不知道」→ 即使沒遇過,也要展現排查思路


Q17. 採購一批新電腦考慮什麼?

基本回答:

真實需求與規格、3 家比價、保固到府維修、統一機型、預算(CAPEX)、部署與資產登記、舊機汰換與資料清除。

加分回答:

我會分成五個階段思考:

1. 需求評估: - 用途決定規格(辦公文書 vs 工程繪圖 vs 產線控制) - 螢幕大小、記憶體、SSD 容量依實際需求定 - 是否需要特殊規格(如:防塵、工業級)

2. 採購流程: - 至少 3 家報價比較 - 統一機型(方便備料、維護、映像檔部署) - 保固條件:到府維修優先、保固年限(建議 3 年以上) - 預算類型:CAPEX(資本支出)or OPEX(租賃)

3. 部署規劃: - 製作標準映像檔(OS + 驅動 + 常用軟體 + 設定) - 加入 AD 網域、套用 GPO - 安裝防毒軟體

4. 資產管理: - 貼資產標籤、登記資產清冊 - 記錄序號、MAC、分配給誰

5. 舊機處置: - 資料清除(至少格式化,機密資料用專業軟體覆寫) - 依公司規定報廢或轉用


新增 Q19. 使用者反映「電腦中毒了」,你怎麼處理?

回答:

  1. 先確認症狀:是真的中毒(如勒索畫面、不明彈窗)還是誤會(如廣告太多)?
  2. 立刻斷網:拔網路線/關 Wi-Fi,防止擴散和資料外洩
  3. 評估影響:有沒有其他電腦也出現異狀?
  4. 掃描/清除:用防毒軟體做完整掃描
  5. 嚴重的話:備份重要資料 → 重灌系統(最乾淨的做法)
  6. 事後處理: - 更換所有在該電腦登入過的密碼 - 檢查是怎麼中的(釣魚郵件?USB?下載?) - 加強教育訓練 - 更新防毒定義檔 - 記錄事件

新增 Q20. 公司要導入一套新系統(如 ERP),IT 要做什麼?

回答:

  1. 需求確認:跟各部門確認需求、痛點
  2. 評估選型:比較不同廠商/方案、做 POC(概念驗證)
  3. 基礎設施準備:伺服器/網路/備份是否足夠
  4. 資料遷移:舊系統的資料怎麼轉到新系統
  5. 教育訓練:分級訓練使用者、準備操作手冊
  6. 測試環境:先在測試環境跑、UAT(使用者驗收測試)
  7. 上線計畫:選定上線時間(避開旺季)、準備回退方案
  8. 上線後支援:Hypercare 期間加強駐點支援
  9. 文件留存:架構圖、帳號權限、SOP 全部文件化

五、今日實作任務

  • [ ] 講一遍 Q10~Q20
  • [ ] 手寫 Q13 的 SQL(不看稿)
  • [ ] 用 STAR 講一次 Q15 的作品
  • [ ] 練習「產線系統當機」的情境回答

六、今日練習

Q. 寫一段 SQL:查詢所有部門的平均薪水,只顯示平均薪水超過 50,000 的部門,按平均薪水由高到低排列。

參考解答
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000
ORDER BY avg_salary DESC;
**解題說明**: - `GROUP BY department`:按部門分組 - `AVG(salary)`:計算每個部門的平均薪水 - `HAVING`:過濾分組後的結果(WHERE 是過濾分組前的) - `ORDER BY ... DESC`:由高到低排序 **常見錯誤**:把 `HAVING` 寫成 `WHERE`。記住:`WHERE` 在 `GROUP BY` 之前、`HAVING` 在 `GROUP BY` 之後。

七、常見誤解

誤解 正確觀念
「資安是資安部門的事,跟 IT 無關」 在中小企業,IT 通常就是負責資安的人
「用 WHERE 就能過濾 GROUP BY 的結果」 WHERE 在分組前過濾,HAVING 在分組後過濾
「系統當機一定要找到根因才能重啟」 優先恢復服務,根因分析可以事後做
「電腦中毒直接格式化就好」 先斷網、先評估影響範圍,不要急著動作

八、今日檢核

  • [ ] 資安/流程題我能回答
  • [ ] 我能當場手寫基本 SQL
  • [ ] 情境題我能有條理地分層回答
  • [ ] 每題我能講出「加分回答」
  • [ ] 我知道哪些是「地雷回答」要避免

九、延伸閱讀


⬅️ 上一天:Day 2 | 🏠 本週總覽 | ➡️ 下一天:Day 4 — 行為題 STAR