# 交大面試
## 交大丁組面試心得
1. [面試心得 丁組](https://www.ptt.cc/bbs/graduate/M.1542677436.A.9B9.html)
**關於 web service考題**
1.用過哪些網頁後端框架
2.用過哪些網頁前端框架,Vue, React 等等
3.比較 ORM 優缺點
4.如何加速網站
5.遇到 DDOS 怎辦
6.說明些需求資料要你畫出 ER Model 並且要做關聯,還問說如何加速、標準化
7.Docker 使用經驗
8.Git 考題給你 graph log,問你 rebase -i 之後長怎樣,還有要怎麼還原
9.viewport 是什麼
10.em, px, pt vh, vw 差別
11.兩三題 ES6,有要你將多個 array 做 sort,好像是要寫出程式碼
12.JavaScript Callback Hell 是什麼
**關於系統管理維護的考題**
1.maildir 跟 mbox 差異
2.單位如果想要用 IPv6 該事先注意什麼
3.Docker 跟 VirtualBox 差別
4.BSD pkg port 差別
5.BSD 網路設定檔
6.trace 原始 Email
7.秀出某執行檔使用哪些 Lib
8.秀出目前佔用了哪些 port
9.用過 Xen、VB、VMWare 的經驗
10.VLAN 下如何穩定切換至其他 VLAN 及 IP 異動
11.live migration 是什麼、原理
12.使用者抱怨對方沒收到信時該問他什麼,該怎麼查 log
13.POSTFIX 參數 queue, active, incoming 的意義
14.如何做自動轉寄
額外考題:
有沒有讓 Docker 使用 GPU
2. [面試心得 丁戊組](https://www.ptt.cc/bbs/graduate/M.1573280138.A.FA1.html)
**前端:**
1. 用過什麼前端框架,或是原生的架構寫前端?
2. 問CSS權重問題
3. 水平置中
4. 如果大量資料一次呈現頁面,要怎麼避免延遲情況(前後端方法都能寫)
5. Promise是什麼,優點有甚麼?
6. css選取器
7. AJAX是什麼,怎麼用?
**後端:**
1. 用過甚麼後端框架,開發過什麼樣作品。
2. 解釋MVC
3. Gitlab/CI
4. Docker/k8s/忘了一個QQ,使用經驗與解決了甚麼問題
**Mail server**
1. pop3與IMAP的認識
2. trace mail log
3. 有沒有自架mail server過,遇到什麼困難之類的
**GIT**
1. git clone git fetch git pull差別與用法
2. HEAD是什麼?
3. 怎麼復原被刪除的branch
4. gitflow是什麼?
**FreeBSD**
1. 給你一個設定檔問你問題
2. 各種BSD之間區別與特色ex:FreeBSD OpenBSD NetBSD
**VM&Linux**
1. 用過哪些linux差別在哪,為什麼要用。
2. 管理過叢集式架構嗎?那有用甚麼軟體管控
3. Virtual Box跟Docker差別與用在哪?
4. live migration是什麼,介紹一下。
5. 舉例可以查到網路狀態的指令(最少一個)
**題目(英文題)**
1. VM和Container差別。
2. 選擇題哪一個演算法跑過所有的節點。
3. Python遞迴。
4. 算ip range。
5. C語言寫某個常數做位移還是怎樣的,不能overflow的程式。
6. 說明什麼是OOP、functional programming、Comparative programming(不確定
)、為何OOP比較差於Comparative programming解釋。
7. 說明強行別、弱型別、動態、靜態
8. 開啟一個檔案zero_one.in,裡面都是0 1比較哪個比較多0或1,用三種語言寫出來。
9. 什麼是雲端服務、舉三個廠商、之間的特色。
10. microservice
11. DevOps
12. 你開發用過什麼框架、為何用這個框架。
13. XSS SQLinjection介紹與防範。
14. SQL select訂單需排序。
3. [面試心得 丁組](https://kevin8656.github.io/2018/10/30/20181030-NCTU_MasterInterview/)
「WWW組」
- 網站系統開發
1.ORM是什麼?有什麼優缺點?
2.如何加速網站系統?
3.viewport是啥?如何用上述程式碼做到RWD?
4.有用過什麼框架開發網站系統嗎?分享使用經驗
5.css的pi、px、em、vh、vw等的差別?使用時機?
6.React.js、Vue.js、Angular.js的差異?
7.有用過CSS3的flex嗎?有什麼優點,可以讓什麼變得更便利?
8.什麼是DDOS?遇到該怎麼辦?以及如何預防?
9.什麼是N+1 query?怎麼預防
- 資料庫
1.有用過什麼DBMS,請簡述並且如果有多個請比較之
2.給你一些需求資料,描述出如何規劃資料表,以及相關的關聯性。(加速、標準化)
- ES6
1.function(){}與()->{}的差別?
2.callback hall是什麼?ES6怎麼解決?
3.將下面程式碼使用JS輸出成指定的格式
[{
Name: ’a’,
Role: ’Master’,
Group: [aaa, bbb, ccc, ddd]
}, {
Name: ’b’,
Role: ’User’,
Group: [bbb, ddd, eee, fff]
}.{
Name: ’c’,
Role: ’Master’,
Group: [aaa, ddd, fff]
}]
輸出成
{
Master: [a, c],
aaa: [a, c],
bbb: [a, b]
......
}
- Git
1.給一個graph log,然後經過checkout、rebase、reset等指令,分別畫出樹狀圖
,並且問要怎麼還原?
「VM組」
1.NFS與ISCSI的差別
2.有沒有用過Live migration,那是什麼?有什麼優點?
3.Docker跟VM差別?
「Linux組」
1.Linux習慣使用的distribution是哪個(CentOS、ubuntu......)?
2.Linux開機過程從BIOS到開機完成總過做過哪些事情?
「BSD組」
1.pkg、port差別
2.BSD網路設定檔說明
「NET組」
1.描述你遇過的網路問題,以及如何解決的經驗?
2.VLAN下如何穩定切換至其他的VLAN以及IP?
3.一個傳統產業要引入IPV6該注意些什麼?
「MAIL組」
1.使用者說對方沒收到信時該問他什麼資訊方便自己偵錯?可能的問題是哪些?
2.POSTFIX 參數 queue, active, incoming ,用法與意義
3.POP3 與IMAP差別?使用情況?
4.Maildir 與 mbox差別?
5.給一個mail log,看他經過幾個主機,受過哪些得審核的機制?
6.如何做自動Mail轉寄
「自由發揮」
1.你最擅長的Service(WEB、FTP、DNS)的架設,以及描述。
2.你覺得系統與網路管理相關知識中最會什麼?涵蓋哪些技術點?請說明他的重要性
## 預想考題
你的興趣為何
為何選丁組不選戊組
**有丁組能力為何要繼續修丁組?
你精通python 難道不會想試著拓展語言嗎?**
## 重點整理
[交大資工資訊](https://www.aliangliang.top/%E4%BA%A4%E5%A4%A7%E8%B3%87%E5%B7%A5%E6%89%80%E4%B8%81%E7%B5%84-%E5%88%B0%E5%BA%95%E6%98%AF%E7%94%9A%E9%BA%BC%E7%A2%97%E7%B3%95/)
BSD: 維護 FreeBSD 的機器。
Linux: 主要使用 Arch Linux,維護所有 Linux 的機器。
Mail: 為系上問題最繁雜的一組,維運系上所有人的電子信箱服務。
Net: 就維護整個網路架構。
VM: 管理所有虛擬機器層面的事務。
WWW: 又稱「3W組」,就是負責開發維護對內外網站。
PC: 負責系計中內的電腦教室的 PC。
LDAP: 負責系上所有人的帳號管理。
BSD and Linux 必須選一個專案項目
其他自由選取 可複數
畢業條件
需要在系計中實習
限制碩士論文領域
需要值勤(工作)
學生為主體,非實驗室為教授 first 的模式。
```
需要的人
1. 實力堅強的人
2. 能有實戰經歷最好,在外面工作過、有CI/CD、系統管理開發經驗
3. 合作態度與工作態度好的人
4. 能有溝通協調能力,理性溝通且具合作能力
5. 有責任心的人
6. 活潑有趣的人
```
系計中網頁是使用 Laravel + Vue,底層服務跑 BSD,其他服務跑 Linux,虛擬機則是使用VMWare,目前考慮擁抱 OpenStack。系上有自己的 ADSL,不過網路主要還是接到計中。
學長有強調,系計中以開源為優先,且不碰 AWS 等雲端服務
2018 11 20
## 額外資訊
[BSD 參數大綱](https://www.freebsd.org/doc/zh_TW/books/handbook/config-tuning.html)
[CSS單位px、em、rem、vh、vw、vmin、vmax](https://www.itread01.com/articles/1478257221.html)
[ORM 優缺點](http://blog.twbryce.com/what-is-orm/)
[ER Model](http://database.klab.tw/teach/t4_2.php)
[jsx Promise](https://andyyou.github.io/2017/06/27/js-promise/)
[Git flow 開發流程](https://gitbook.tw/chapters/gitflow/why-need-git-flow.html)
[Docker vs VM](https://medium.com/mr-efacani-teatime/%E6%B7%BA%E8%AB%87%E8%99%9B%E6%93%AC%E5%8C%96%E6%8A%80%E8%A1%93-%E8%99%9B%E6%93%AC%E6%A9%9F-vm-%E8%88%87%E5%AE%B9%E5%99%A8-container-%E4%B9%8B%E6%8A%80%E8%A1%93%E5%83%B9%E5%80%BC%E8%88%87%E6%AF%94%E8%BC%83%E5%88%86%E6%9E%90-5c10457aad62)
IPv4 -> IPv6
我想要將內部的私有IPv4位址轉換成IPv6位址,有任何需要注意的事項嗎?
有以下幾點是要考慮的:
1)所有內部網路設備都要有支援IPv6
2)從內部僅支援IPv6的設備要去存取外部僅支援IPv4的伺服器時,必須要安裝一個IPv6-to-IPv4轉換器。
3)需要跟外部IPv4伺服器通訊的伺服器,例如:回覆DNS的查詢和傳送電子郵件,就必須同時擁有IPv4/6的組態設定,否則電子郵件將無法傳送到外部的IPv4伺服器。
4)會被外部存取的伺服器也必須同時擁有IPv4/6的組態設定,否則,在外部僅使用IPv4的客戶端將無法與你的網路通訊。
基於以上的第二點和第三點,跟外部的連線必須至少有一個IPv4的全域位址。
[有趣案例IPv6](https://www.ptt.cc/bbs/NTU/M.1526906726.A.875.html)
[IPv4 and IPv6原理](https://kknews.cc/zh-tw/tech/4j3kxx2.html)