# 109 交大資工實務組 筆試共筆 :::info **共編者** - linzino7 - splitline https://github.com/splitline - yiyu0x https://github.com/yiyu0x - Killua4564 - ccapricorntw (Ptt) ::: ## 丙組 - Node.js 的出現有什麼很大的影響?他有什麼特色? - 比較分析 React vs Vue or Angular or 你用過的前端框架 - 舉出一些你常用的網管工具 - 一個 function `int freq_mode(int a, int b, int c, int d)`,回傳其眾數出現的次數。例如 freq_mode(1, 3, 3, 4) 要回傳 2,因為 3 出現 2 次。求最優雅的解法? - 實作演算法:給三維平面上的 n 個點,求一個球型能包住所有點,半徑必須小於最小半徑解的 2 倍,要是 O(n) 解。 - 實作演算法:找出陣列 `int A[n]` 第二小的數, O(n) 解,並證明所有可能的解都不可能比 Ω(n) 好 - memory allocation 太慢怎麼 debug?可以用什麼工具如何解決? - IDS(Intrusion-detection system) 跟 AV(Anti virus)差在哪,各是檢查封包的什麼東西?為什麼很難擋住 APT ? - 為什麼 hashing 在 linux kernel 那麼常見? - 舉出一個你會實作的較複雜的演算法,並用 30 字簡介 - stack, queue 分別是啥(20字)?分別會用在什麼演算法? - 開發 linux kernel 或 driver 時怎麼 debug?有辦法在不 recompile 的狀況下改變數然後重複執行測試嗎 - Android 手機有辦法搞 IP Spoofing 嗎?怎麼做? - 如果想自己寫 C 程式幫家裡的 wifi router 加功能要怎麼做? - 請問 GMM 和 K-means 的差別在哪裡?大致說明一下原理 - Server虛擬化有甚麼好處?你用過什麼server虛擬化工具? - 描述以下加速方式並舉例 (有漏) (a)SIMD (b)GPGPU (c\)FPGA (d)MPI - 若你的程式以下環節效能不好,你會如何偵錯並解決? (a)program bottleneck (b)cache miss (c\)locality issue - DNS反射是一種攻擊手法,通常是利用大型DNS Server,將封包反射至目標電腦進行攻擊,請說明如何實作 - 說明Attention - 寫程式的開發環境?有用 Github 多人協作的經驗嗎?有考過程式檢定嗎?幾小時幾題? - 你負責的最屌的東西達成最屌的事是啥 ## 丁組 ### 資安 - CSRF 是什麼?如何防範 ### mail - Open relay 是什麼? - SPF 作用 - IMAP, POP3 差異 - 如何防止垃圾郵件 - 畫出可擴展的 mail server 架構,並且以文字說明 - postfix table 使用過哪些 - Dovecot中userdb、passdb分別是什麼? - 是否有管過G suite 、Line work?有什麼優點可以借鏡的? - 追蹤Mail log 並且找出被退信的原因 ### www #### frontend - promise 作用為何 - Ajax 什麼時候使用? 有什麼好處? 舉一個程式範例 - 如果網頁有大量資料要渲染,如何加速(可從前後端角度敘述) - 闡述前端網頁模版使用經驗 #### css - css selector 選取以下該行如何選取 ```htmlembedded= <head> /* hello, im here */ ``` - css id class 優先權 - css `class="a b"` 優先權 - css important 優先權 #### backend - 用過什麼Framwork? - 什麼是Mvc ? - 你做什麼專案用什麼技術? 目的是什麼? - 資料庫 RMDB Nosql 比較優缺點是啥? - OAuth2.0 Access token是什麼? - GitLab 是什麼?有什麼特性? ### Linux/BSD - 闡述你知道的 Linux 網路管理指令 - Linux 如何做系統備援 - freeBSD, openBSD, NetBSD, ZFS 講出優缺點 - 計中的主機有可能被學生惡意使用或是當跳板來攻擊他人主機?身為網管該如何防範,以及該如何偵測該行為 - 講出你知道的 Linux Distribution 版本以及特性 ### DevOps - 用過什麼CI/CD 軟體? - K8s 中Pod service devlamnet node 什麼意思? ### 虛擬化 - docker 與 VM 差異 - 闡述你知道的 vm 種類以及特性 - 使用 k8s 或是 openshift 相關經驗 - Live migration ? 不同代cpu有什麼問題? 如何避免 ### git/軟工 - git pull, git fetch 差異 - git 如何將刪除的 branch 找回 - 如何保持量好程式碼的品質 - 團隊合作開發經驗?擔任什麼角色 ### switch - vlan 使用以及切割經驗 ## 戊組 - 給定 n 跟 L,求 L 最後會是啥 ```python= def f(n, L): if n > 0: L.append(n) if n is odd: n = n - 1 else: n = n / 2 f(n, L) ``` - VM 跟 container 差異 - 題目給 192.0.2.96/19 這類的東西,求子網路 IP 遮罩範圍 - XSS 跟 SQL injection 是什麼?怎麼防禦? - 分別解釋 - strong type - weak type - static type - dynamic type - 分別解釋 - Object Oriented Programming - Functional Programming - Concurrent Programming - Concurrent Programming 為什麼比 Object Oriented Programming 好 - 你最常使用的 framework 是什麼?舉出三個,並說明你為什麼用它 - 使用任意三種語言達成下述功能: 讀入一檔案 `zero_one.in`,只包含 0, 1 兩種字元,輸出 0 和 1 哪個較多次(不會有同樣多次的情況) - 何謂雲端運算?舉出三大雲端廠商,並比較各自差異。 - Microservice 是什麼 - DevOps 是什麼?有哪些相關的工具? - SQL 將兩個 table 合併排序