Try   HackMD

109 交大資工實務組 筆試共筆

共編者

丙組

  • 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 選取以下該行如何選取
<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 最後會是啥

    ​​​​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 合併排序