本日主題:演練資安、程式與綜合情境題 預計時間: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. 使用者反映「電腦中毒了」,你怎麼處理?
回答:
- 先確認症狀:是真的中毒(如勒索畫面、不明彈窗)還是誤會(如廣告太多)?
- 立刻斷網:拔網路線/關 Wi-Fi,防止擴散和資料外洩
- 評估影響:有沒有其他電腦也出現異狀?
- 掃描/清除:用防毒軟體做完整掃描
- 嚴重的話:備份重要資料 → 重灌系統(最乾淨的做法)
- 事後處理: - 更換所有在該電腦登入過的密碼 - 檢查是怎麼中的(釣魚郵件?USB?下載?) - 加強教育訓練 - 更新防毒定義檔 - 記錄事件
新增 Q20. 公司要導入一套新系統(如 ERP),IT 要做什麼?
回答:
- 需求確認:跟各部門確認需求、痛點
- 評估選型:比較不同廠商/方案、做 POC(概念驗證)
- 基礎設施準備:伺服器/網路/備份是否足夠
- 資料遷移:舊系統的資料怎麼轉到新系統
- 教育訓練:分級訓練使用者、準備操作手冊
- 測試環境:先在測試環境跑、UAT(使用者驗收測試)
- 上線計畫:選定上線時間(避開旺季)、準備回退方案
- 上線後支援:Hypercare 期間加強駐點支援
- 文件留存:架構圖、帳號權限、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