# 國營事業筆記
## 為甚麼要考試
https://master666.pixnet.net/blog/post/33511645
## 共同科目
## 專業科目常考概念
### 計算機原理
- CRC
- 作業系統記憶體管理
- process scheduling
- deadlock
- Amdahl's Law
- https://chi_gitbook.gitbooks.io/personal-note/content/amdahls_law.html
#### Process v.s. Thread
[參考來源](https://medium.com/@totoroLiu/program-process-thread-%E5%B7%AE%E7%95%B0-4a360c7345e5)
Process
- Process是電腦中已執行Program的實體。
- **每一個Process是獨立的。**
- Process本身不是基本執行單位,而是Thread的容器。
- Process需要一些資源才能完成工作,如CPU、記憶體、檔案以及I/O裝置。
- 在多工作業系統中,可以同時執行數個Process,然而每個CPU一次只能執行一個Process。
Thread
- 同一個Process可以同時存在數個Thread。
- 同一個Process底下的Thread共享資源,如記憶體,變數等,不同Process則否。
- 在多執行緒中,兩個執行緒若同時存取或改變全域變數,則可能發生同步問題。若執行緒互搶資源,則可能產生死結。
#### 好用網站
- https://www.ptt.cc/bbs/TransCSI/index.html
- 計概轉學考
### 網路概論
http://linux.vbird.org/linux_server/0110network_basic.php
http://webftp.cogsh.tp.edu.tw/cti573/bcc2012/handout/ssl_set.htm
- 常考概念
- OSI七層
- TCP/IP四層
- CSMA/CD v.s. CSMA/CA
- CSMA/CD: Carrier Sense Multiple Access with Collision Detection
- CSMA/CA: Carrier Sense Multiple Access with Collision Avoidance
- CSMA/CD通常用在**有線網路**
- CSMA/CA同常用在**無線網路**
- https://blog.toright.com/posts/1243/csmacd-%E8%88%87-csmaca-%E4%B9%8B%E9%96%93%E7%9A%84%E5%B7%AE%E7%95%B0.html
- protocols
- SNMP
- TCP三/四項交握協定
- OSPF
#### 通訊協定
http://kevin.hwai.edu.tw/~kevin/material/EAssistant/TCP.htm
http://hen05133.blogspot.com/2010/01/ositcpip.html
為了解決各種電腦系統的通訊問題,所有電腦廠商必須採用共同的標準,並由國際標準組織(ISO)制定出一套準則或規約,稱為通訊協定
##### OSI七層
國際標種組織制定,中文稱為開放式系統互聯模型,其架構如下:
| Layer名稱 | 功能與說明 | Layer序 |
| -------- | -------- | -------- |
| 應用層(application Layer) | 應用程式,如電子網路系統、資料庫管理系統 | Layer-7 |
| 出席層(presentation Layer) | 資料的壓縮與還原、網路安全、檔案傳送 | Layer 6 |
| 會議層(session Layer) | 網路管理、密碼辨識、簽到簽退、網路監控 | Layer 5 |
| 傳輸層(transport Layer) | 資料傳輸錯誤的偵測和復原、資料封包的重新排列 | Layer 4 |
| 網路層(Network Layer) | 定義虛擬電路的建立、維持和終止、封包交換的路由選擇、擁塞控制等 | Layer 3 |
| 資料連結層(Data Link Layer) | 定義把傳輸資料分裝成資料封包的規範、檢查資料傳輸中是否有錯誤產生、執行資料傳送中的流量控制及鏈路管理 | Layer 2 |
| 實體層(Physical Layer) | 定義實際傳輸資料的硬體設備的規範,像是纜線規格、接頭尺寸、信號電壓、資料傳輸時序等等 | Layer 1 |
##### TCP/IP (DoD)四層
由美國國防部(DoD)發展
相較於OSI的七層,TCP/IP將功能類似的層合併,其架構如下:
| Layer名稱 | 功能與說明 | Layer序 |
| -------- | -------- | -------- |
| 應用層(application Layer) | OSI 5~7層 | Layer-4 |
| 傳輸層(transport Layer) | 資料傳輸錯誤的偵測和復原、資料封包的重新排列 | Layer 3 |
| 網路層(Network Layer), 又稱網際網路層(Internet Layer) | 定義虛擬電路的建立、維持和終止、封包交換的路由選擇、擁塞控制等 | Layer 2 |
| 連結層(link Layer),又稱網路介面層(network interface layer) | OSI 1~2層 | Layer 1 |
#### 物聯網(Internet of Thing)
- 感知層、網路層、應用層
### 作業系統
[作業系統筆記](/b2fIjelKQoeyftasEfx1Ww)
- 死結
- 記憶體
- cache
- 行程排班
### 資料庫管理
- SQL
- https://jacksaleok.pixnet.net/blog/post/67722270-sample-2019%E5%B9%B4%E8%B3%87%E6%96%99%E5%BA%AB%E6%87%89%E7%94%A8%E9%AB%98%E5%88%86%E7%AD%86%E8%A8%98
- https://hackmd.io/OC0v2E3OQE2zz988lZ_DJA?view
- [資料庫管理筆記](/LnXo3zsAS_m55luJDO8lCw)
- [ER Diagram](http://cc.cust.edu.tw/~ccchen/doc/db_03.pdf)
- [「筆記」- 資料關聯的三種關係](https://medium.com/pierceshih/%E7%AD%86%E8%A8%98-%E8%B3%87%E6%96%99%E9%97%9C%E8%81%AF%E7%9A%84%E4%B8%89%E7%A8%AE%E9%97%9C%E4%BF%82-245152c093da)
- [資料庫正規化(Database normalization)](/@TSMI_E7ORNeP8YBbWm-lFA/rykcj8kmM?type=view)
- 資料庫四特性(ACID) [參考來源](https://zh.wikipedia.org/wiki/ACID)
- DBMS在寫入或更新資料的過程中,保證事務(transaction)可靠的特性。
- 原子性(atomicity)
- 一個事務中的所有操作,或者全部完成,或者全部不完成。
- 一致性(consisency)
- 在事務開始之前和事物結束之後,資料庫的完整性沒有被破壞。
- 隔離性(isolation)
- 資料庫允許多個並發事務同時對其數據進行讀寫和修改的能力,隔離性可以防止多個事務並發執行時由於交叉執行而導致數據的不一致。
- 持久性(durability)
- 事務處理結束之後,對數據的修改就是永久的,即是系統故障也不會丟失。
- 資料庫的完整性規則 [參考來源](https://www.mysql.tw/2017/04/blog-post.html) [參考來源二](http://donhi.com.tw/modules/tad_book3/pda.php?tbdsn=7188)
- 實體完整性(Entity integrity): 指在單一資料表中,主索引鍵必須要有**唯一性**並且不能為空值。
- 參考完整性(Referential integrity): 指在兩個資料表中,次要資料表的外來鍵的資料欄位值,一定要存在於主要資料表的主鍵中的資料欄位值。
- 值域完整性(domain integrity): 指在單一資料表中,同一資料行中的資料屬性必須要相同。
#### 資料庫鎖定
https://docs.microsoft.com/zh-tw/sql/relational-databases/sql-server-transaction-locking-and-row-versioning-guide?view=sql-server-ver15#lock-modes
#### MVCC
https://medium.com/swlh/django-and-isolation-40d28f469aa
#### 檔案組織
http://debussy.im.nuu.edu.tw/sjchen/Database/Final/Ch03.pdf
#### 複習資料庫的 Isolation Level 與圖解五個常見的 Race Conditions
https://medium.com/@chester.yw.chu/%E8%A4%87%E7%BF%92%E8%B3%87%E6%96%99%E5%BA%AB%E7%9A%84-isolation-level-%E8%88%87%E5%B8%B8%E8%A6%8B%E7%9A%84%E4%BA%94%E5%80%8B-race-conditions-%E5%9C%96%E8%A7%A3-16e8d472a25c
### 資訊管理
- https://jacksaleok.pixnet.net/blog/post/66540402-sample-2018%E5%B9%B4%E8%B3%87%E8%A8%8A%E7%AE%A1%E7%90%86%E8%88%87%E5%AE%89%E5%85%A8%E9%AB%98%E5%88%86%E7%AD%86%E8%A8%988
- [資訊管理筆記](/S6Y1_ah2QQmgIE26aM5DEQ)
#### 電腦化&電子化系統
[參考來源](https://medium.com/%E5%BC%B5%E9%80%B8%E5%9C%8B%E7%87%9F-%E5%85%AC%E8%81%B7-%E8%A8%88%E7%AE%97%E6%A9%9F%E6%A6%82%E8%AB%96/%E9%8A%80%E8%A1%8C%E6%8B%9B%E8%80%83-%E9%87%91%E8%9E%8D%E5%9F%BA%E6%B8%AC-fit-part2-25fdf3099249)
電腦化泛指1950~1990年代的系統,這些系統尚未整合,主要代表有:
1. **交易處理系統(TPS)**:用以支援日常的交易,例如:7-11的POS系統就是。
2. **管理資訊系統(MIS)**:用以支援例行性的報表作業,例如:營業額週報表。
3. **決策支援系統(DSS)**:除了MIS的功用外,還具備基本數學模型可以分析,例如:分析出下週進貨的品項。
4. **主管支援系統(ESS)**:將上述的統計數據有圖表化的呈現,以供決策者進一步擬定方針。
電子化泛指1990年代後的系統,這些系統屬於整合性的系統:
- **企業資源規劃(ERP)**:整合企業內部生產, 行銷, 銷售, 人力資源, 研發, 財務等資訊,各操作員依據不同角色權限索取資料。
- **供應鏈管理系統(SCM)**:主要是將供應鏈夥伴間的資訊透明化,以避免長鞭效應(bullwhip effect)或漣波效應(ripple effect)。
- **客戶關係管理系統(CRM)**:將客戶資源進行整合,並透過行銷或銷售手法進一步服務克群,以達企業和客戶關係最佳化。
- **知識管理系統(KM)**:主要是透過協同分享,將個人間的內隱知識逐步外顯,供其他人參考與學習。
### 資訊安全
http://wiki.cc.ncu.edu.tw/wikicc/images/4/4a/ISO_27001%E8%B3%87%E8%A8%8A%E5%AE%89%E5%85%A8%E7%B0%A1%E4%BB%8B_991111.pdf
#### 三特性:機密性,完整性,可用性
- 機密性(Confidentiality):主要是用於確保資料傳遞與儲存的斯密性以及避免未經授權的使用者有一或無意的揭露資料內涵,例如:利用網路傳送資料時被攔截竊取或是公司不小心公佈了不該公佈的訊息皆是違反機密性原則,所以在防護措施上可採取加解密(Encryption/Decryption)的技術處理。
- 完整性(Integrity):為了避免非晶授權的使用者或處理程序篡改資料,其所使用的文件經傳送或是儲存過程中必須證明其內容並未遭到篡改或是僞造,所以在防護措施上可採取數位簽章(Digital Signature)的技術處理。
- 可用性(Availability):為了讓資料隨時保持在可用的狀態,對於鯨授權的使用者或個體不可有阻絕服務(Denial of Services,簡稱DoS),所以在防護措施上可採取防火牆(Firewall)、系統安全控管(Access Control)以及稽核(Auditing)等技術處理。
#### 四包含:[參考來源](https://medium.com/@RiverChan/%E5%9F%BA%E7%A4%8E%E5%AF%86%E7%A2%BC%E5%AD%B8-%E5%B0%8D%E7%A8%B1%E5%BC%8F%E8%88%87%E9%9D%9E%E5%B0%8D%E7%A8%B1%E5%BC%8F%E5%8A%A0%E5%AF%86%E6%8A%80%E8%A1%93-de25fd5fa537)
- 機密性(confidentiality):確保訊息只有被授權者才能獲得
- 完整性(Integrity):偵測訊息是否遭到竄改
- 身份認證(Authentication):傳送方與接受方需驗證識別
- 不可否認性(Non-Reputaion):提供訊息的傳送方與接受方的交易證明
#### 加密
- 對稱式加密
- [參考來源](https://medium.com/@RiverChan/%E5%9F%BA%E7%A4%8E%E5%AF%86%E7%A2%BC%E5%AD%B8-%E5%B0%8D%E7%A8%B1%E5%BC%8F%E8%88%87%E9%9D%9E%E5%B0%8D%E7%A8%B1%E5%BC%8F%E5%8A%A0%E5%AF%86%E6%8A%80%E8%A1%93-de25fd5fa537)
- 傳送方與接受方的加解密皆使用同一把金鑰,所以只要雙方都擁有這把鑰匙,當傳送方傳資料時,使用這把鑰匙加密,接受方收到訊息後,再用同一把鑰匙解密,就可以獲得訊息

- 最大弱點:假如鑰匙被中間人攔截的話,都會被輕易破解。
- 非對稱式加密
- [參考來源](https://medium.com/@RiverChan/%E5%9F%BA%E7%A4%8E%E5%AF%86%E7%A2%BC%E5%AD%B8-%E5%B0%8D%E7%A8%B1%E5%BC%8F%E8%88%87%E9%9D%9E%E5%B0%8D%E7%A8%B1%E5%BC%8F%E5%8A%A0%E5%AF%86%E6%8A%80%E8%A1%93-de25fd5fa537)
- 每位使用者都有一對金鑰:公開金鑰(public key)和私密金鑰(private key)。
- 公開金鑰可被廣泛發布與流傳,私密金鑰則必須妥善被保存。
- 當訊息由其中一種金鑰加密後,就必須使用另一種金鑰解密。所以**可以是公鑰加密私鑰解密**,**也可以是私鑰加公鑰解密**。
- 運作原理:傳送方與接收方在傳送之前,先把彼此的公鑰給對方,當傳送方要傳送時,就用接收方的公鑰將訊息加密,接收方收到訊息後再用自己的私鑰解開。
- 問題:接收方要如何確認訊息真的是由傳送方傳的呢?
- 解法:**數位簽章**,傳送方除了使用接受方的公鑰加密外,也使用自己的私鑰對該加密訊息的Hash簽名。這樣當接收方收到時,除了要使用接收方本身的私鑰解密,也需要用傳送方的公鑰來對簽章做二次驗證,確認真的是由正確的傳送者傳來的。

#### 資訊安全管理系統制度
- Infomation Seciruty Management System, ISMS
- 爲一套有系統地分析和管理資訊安全風險的方法。
- 主要是針對組織內部所使用的資訊,加以實施全面性的管理。
- 目的在於能妥善保護資訊的機密性、完整性、和可用性,並降低資安事件川衝擊可承受範圍。
- PDCA
- P(計劃): 建立ISMS環境與風險評估。
- D(執行): 實施且運行。
- C(檢查): 監視並審核。
- A(處理): 改進ISMS。
- ISO 27001:2013, ISO 27701
- https://ws.ndc.gov.tw/Download.ashx?u=LzAwMS9hZG1pbmlzdHJhdG9yLzEwL3JlbGZpbGUvMC8xMzExMy9iODdkNDZiMC1iNmJmLTRmYzgtODNiNy00MDAzMzZkMmI2ZTEucGRm&n=5pS%2F562W5paw55%2BlMDUt5pW05ZCI6LOH5a6J6IiH5YCL6LOH566h55CG57O757Wx55qE5ZyL6Zqb5qiZ5rqWIOKAkyBJU08g77yPIElFQyAyNzcwMSDnsKHku4voiIfmh4nnlKgucGRm&icon=..pdf
#### CERT、CSIRT和PSIRT到底有什麼不同
https://www.ithome.com.tw/news/141156
- CERT
- 成立的目的就是要針對資安事件能夠有即時對應和處置,透過交換訊息達到區域聯防的效果。
- CSIRT
- 電腦資安事件應變小組(Computer Security Incident Response Team,CSIRT)更像是企業第一線處理資安事件的團隊,也有些企業把CSIRT團隊定義為單純做資安事件處理小組(IR Team)。
- 企業打造CSIRT團隊的目的,除了扮演企業和資安社群的連接窗口外,同時,也會進行資安威脅的偵測;一旦爆發資安事件,也會進行資安事件鑑識與調查;找出資安事件的根因後,除了強化企業的資安防護能力外,也會分析與網路犯罪有關的事件和威脅,提出行動計畫以降低風險。
- PSIRT
- 專注於企業內產品所面臨的各種資安威脅所帶來的資安事件
#### 資通安全管理法
https://ithelp.ithome.com.tw/users/20103688/ironman/4430?page=1
### 系統分析與設計
https://hackmd.io/@k139/r1y-9LmK4/%2Fs%2Fr1uWsUmt4?type=book
#### 耦合力(Coupling)
- 衡量模組間相互關良強度的方法
- 五種
- 資料耦合力:模組之間的訊息傳遞透過基本變數型別。
- 資料結構耦合力:模組間溝通利用資料結構。但在目的模組中,不一定使用到所有資料欄位。
- 控制耦合力:模組的運作透過其他模組傳來控制訊號,因此設計上需知道該模組的運作架構與接收資料格式。
- 共同耦合力:模組間使用共同資料變數。
- 內容耦合力:模組指用多個進入點方式,跳到另一個模組,而這樣的架構會改變其他模組的資料、行爲和執行過程。
#### 內聚設計撇步
https://devs.tw/post/340
### 巨量資料應用
#### 4V: Volume, Velocity, Variety, Verecity
- Volume(資料量):大量資料的產生、處理與保存,其所壇的就是巨量資料(Big Data)字面上的意思。
- Velocity(時效性):意指處理的時效,因為巨量資料(Big Data)其中一個用途就是用作市場鬱塞,如果處理的時效太常,這樣就失去預測的意義,所以處理的時效對巨量資料來說也是非常關鍵的。
- Variety(多樣性):意指資料的形態,其包括文字、影音、網頁以及串流等結構性或非結構性的資料。
- Vericity(可疑性):當資料的來源變得更多元時,這些資料本身的可靠度、品質是否足夠,若資料本身有問題,那分析後的結果也不會是正確的。
### 雲端
https://ithelp.ithome.com.tw/articles/10204898
#### 五特性
- 按需自助服務(On-demand Self-service): 意指使用者可依照本身的需求,從中自行配置雲端運算能力,並選擇本身所需的伺服器、儲存空間和網路服務。換句話說,這代表消費者可以自行運用雲端服務,而不需要和每個服務的提供者互動。
- 廣泛的網路存取(Broad Network Access):因為網路無所不在,這也代表著使用者可隨時隨地在網路上透過各種平臺來連接網路,從中享用雲端供應者所提供的網路服務。
- 資源池(Resource Pooling):意指所有的軟體和硬體都可視為資源,並採用多租戶的使用模式,從中依照使用者的需求作動態配置,以便能夠採取客製化的服務方式來提供給使用者。
- 快速彈性部署(Rapid Elasticity):亦只能夠立即因應使用者的需求,並可彈性且快速調整資源的規模大小,對於使用者來說,其所提供的能力似乎是無限的,可以在任何時間被購買任意數量。
- 量測監控服務(Measured Service):雲端服務之個層次皆由雲端供應者來掌控與監管,對於計費、存取控制、資源優化、處理能力規劃等工作相當重要,用以確保資源在使用上可被監測、被控制和被報告,並爲供應者和消費者雙方提供透明化的服務使用資訊。\
#### 三種服務
- IaaS
- PaaS
- SaaS
#### 四種部署模式
- 公用雲
- 私有雲
- 社群雲
- 混合雲
### 程式設計
- 排序
- 二元搜尋樹
- https://medium.com/@lufor129/%E8%B3%87%E6%96%99%E7%B5%90%E6%A7%8B%E8%A4%87%E7%BF%92-%E5%8D%81-%E4%BA%8C%E5%85%83%E6%90%9C%E7%B4%A2%E6%A8%B9-7475815f0caa
- 時間複雜度
- 搜尋:O(n)
- 插入:O(n)
- 刪除:O(n)
- https://www.geeksforgeeks.org/complexity-different-operations-binary-tree-binary-search-tree-avl-tree/
- B(B+)tree
- https://medium.com/@king0980692/data-structure-%E5%9F%BA%E7%A4%8E%E5%8E%9F%E7%90%86%E5%8F%8A%E5%AF%A6%E8%B8%90-b-tree-%E7%AF%87-9abaaef7dd56
### 物聯網
- 定義:簡稱IoT,利用多種資訊技術(如寬頻網路、感測技術、無線射頻辨識(RFID)、紅外線感應器或是全球定位系統(GPS)等),將其和網際網路結合,並提供智慧化的識別與管理。
- https://yamol.tw/exam-107+%E5%B9%B4107+%E5%8F%B0%E7%81%A3%E8%8F%B8%E9%85%92%E5%BE%9E%E6%A5%AD%E8%A9%95%E5%83%B9+%E8%B3%87%E8%A8%8A%E7%AE%A1%E7%90%8672786-72786.htm
- 全面感知+可靠傳遞+智慧處理。
- 三階層
- 歐洲電信標準協會(ETSI)定義。
- 感知層
- 由各種資訊擷取、識別的感測元件組成。
- 無綫射頻辨識、無線感測網路、智慧終端設備、微機電系統、感測器、讀寫器以及有線監控等。
- 網路層
- 負責將感知層收集到的資料傳輸至網際網路。
- 物聯網資料中心、物聯網管理中心、雲端運算平臺和行動通訊網路。
- 應用層
- 各種應用領域。
- 與各行各業之間的專業進行技術融合。
- 遠端醫療、智慧交通、智能居家物流監控、城市管理以及智慧電表。
### 資料結構
#### 樹(Tree)
https://hackmd.io/@smalleye/HkLk78zoH
## 準備心得
https://www.ptt.cc/bbs/Gov_owned/M.1492768574.A.58F.html
## 目前困難
- 共同科目
- 國文要多練筆
- 英文維持現狀
- 專業科目
- 計算機原理
- 維持現狀,你是資工系ㄝ
- 網路概論
- ~~OSI七層模型不熟~~
- ~~TCP/IP四層模型不熟~~
- ~~IP submask計算不熟~~
- 資訊管理
- 資料庫不熟QQ
- 資訊管理不熟QQ
- SET vs SSL
- 程式設計
- Get vs Post
- cookie vs session
## 考古題(with擬答)
### 臺北捷運
[臺北捷運考古題](/VKfV5L1pSYC2DhXNDPjmfw)
## 面試
### 參考資料
https://simplehappylife.github.io/
## MISC
### 如何作筆記
https://xn--9cs666g.tw/%E8%80%83%E4%B8%8A%E5%9C%8B%E7%87%9F%E4%BA%8B%E6%A5%AD%E7%9A%84%E5%A5%87%E8%B9%9F%E7%AD%86%E8%A8%98%E8%A1%93-%E5%9C%8B%E5%AE%B6%E8%80%83%E8%A9%A6%E9%80%9A%E7%94%A8/
### 課本
https://www.sir.com.tw/webstore/PDFbrowse/img/aesop_fables/010CM791910.pdf