# 交大面試 ## 交大丁組面試心得 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)