2020推甄交通大學資訊工程所丁戊組

我是臺東大學的學生,是109年資訊工程系唯一推上交大的;我把這些經驗歸功於我在過去三年間,盡我所能改善學校的各項系統。根據可信情報,推甄上交通大學資工戊組的條件是地名國立大學,成績在30%以前,具有相當的實務經驗,具體而言是有兩套以上的系統上線服務。

基於出題的教授&學長都還在校,題目可能異動也不大,戊組題目預計等我畢業再公開。其他資訊可以搭配我的學長所撰寫的文使用。

關於我

在此,我相信我能成為一個案例,讓其他想要推甄陽明交通大學的同學們,多一筆數據來評估自己能不能上。

工作經歷

  • 某北部公司MIS(全遠端)
  • 威得數位行銷有限公司
    • 管理GCP與AWS上的主機
    • Linux 主機維護
  • 學校工讀生
    • 系統發展組(SSO系統)
    • 宿舍(宿舍管理系統)

作品

  • 臺東大學 SSO 單一簽入
  • 宿舍生活支援系統
  • SSL 反向代理伺服器

證照與成績

  • JLPT N5~2
  • 多益550分
  • 系排名12%

我自認是一位網頁後端工程式兼網管人員,主要涉略網頁後端、資料庫、網路設定、CDN那一塊,在Linux工作站與雲端課程的表現非常優異(真的,全部第一名)。

我推甄了交大的聯招、丙、丁、戊組,僅丁戊組進入複試,最終戊組正取,丁組備取10(往年取到7左右),下面會以我的看法說明交大挑人的基準,當然不保證正確,我也沒有任何額外的訊息管道。

整體經驗與相關資源

我這次報考丙丁戊組,丁戊組有進入複試;所以兩天的複試其實壓力滿大的…
我這次住在新竹竹湖暐順麗致文旅,選擇純粹是地利之便,位於客運站對面、300公尺到交大。

首日考完筆試後,我找了一群陌生的戰士開始回憶考題,所以這篇文章就誕生了;其他考生都很安靜,就我們這群在考生休息室聊的很High,也是緩解緊張啦XD。

以下是一些好用的Ref:

備取狀況

備取資訊只留一年,所以我來保存一下109年記錄:


作者留名(賀,有三位考上丁組了)

丁組複試共兩天,三階段,三場面試;第一天早上是三小時的性向測驗,題目在下面,應該涵蓋90%以上,不計分,但是這份答卷會大程度影響到第一天下午的兩場學長面談,會有學長及傑出校友面試,分別是1對3與1對10的面試,約10分鐘。
衣著部分我是穿全套西裝,1/3是休閒裝扮、1/3是襯衫西裝褲,再1/3是連皮鞋領帶都準備妥當;第一天有考生休息區,備有大量插座,但是沒有提供網路。
第二日下午是教授面試,1對7左右,一人8分鐘,題目大量來自備審與首日的性向測驗。
有提早放榜的習慣,大約面試完一週就放榜了。

因為範圍很廣,所以一對多面試並非每位考官都有發言,應該是看你的性向測驗來決定相關領域的考官提出問題。

結果備取10;去年備取到6,應該是沒有機會了。

題目

題目大致涵蓋以下類別: 前端、後端、資料庫、VM、網路、電子郵件,開發(版控、協作、CI/CD、敏捷)、維運(Unix-like與Free BSD,注重監控與多人多工)

  1. 描述你熟悉的後端語言,簡單介紹應用場景。
  2. ORM有什麼優缺點?
  3. 你用過哪些資料庫,簡單介紹RDBMS與NoSQL,有何差異?
  4. 何謂交易(TranSaction)
  5. 有兩位教授同時要預約同一間教室,如何避免衝突?試以後端角度與資料庫角度回答此題目。
  6. 你有一個服務需要大量寄出電子郵件,請考量如何在確保全部寄出、不重複寄出、減輕郵件伺服器負擔的需求下,簡單描述你會如設計你的系統。
  7. 你有三個一樣的服務,前面有一個負載均衡器,這三個服務會在同時寄出一樣的信件,請簡單描述你會如何解決重複寄件的問題。
  8. 請描述何謂N+1 Query,如何解決?
  9. 以下SQL執行完畢後,資料庫會長怎麼樣,以你熟悉的資料庫系統思考即可。
create table log (
    content varchar(255)
)

begin
insert into log (content) values ('A')

    begin
        insert into log (content) values ('B')
        rollback
    commit
   
    rollback
commit

前端

  1. 有用過前端框架嗎,描述你的經驗。
  2. 何謂One-way binding、two-way binding,簡單說明原理與如何實做。
  3. 有使用過CSS3的Flex和grid嗎,說明並簡述你的經驗。
  4. JavaScript的==與 ===有何差異?
  5. 從按下Enter提交表單到頁面刷新為止,瀏覽器解析了什麼、傳遞了什麼、經過了什麼?
  6. 簡述瀏覽器渲染的過程。
  7. 何謂CallBack Hell,如何解決?
  8. 什麼是DOM?

郵件

  1. 管理過MailServer嗎?遇到的印象最深刻的事件是什麼,在該事件你是怎麼處理的,對自己的評價如何?
  2. 一個安全的Mail Server應該要有哪些功能?
  3. 何謂Open relay,如何解決。
  4. 解釋SPF、DKIM、DMARC的作用與原理。
  5. 給你一封退信的Row Data,求:這封信怎麼來的,經過哪些地方、做了哪些檢查、從寄出到收到費時多久?
  6. 描述從Outlook按下收信後是怎麼看到信件的,分為IAMP和POP3。
  7. A寄了一封信給B(不同網域),描述信件經過了什麼。
  8. 畫出可擴展的 mail server 架構,並且以文字說明。
  9. 使用過哪些postfix table?
  10. Dovecot中userdb、passdb分別是什麼?
  11. 是否有管過G suite 、Line work 、 Zoho ? 和自架郵件伺服器比起來有什麼優點缺點?

系統

  1. 如果要實做Docker那樣的服務,需要Linux核心提供哪些功能?
  2. Container 有什麼壞處?
  3. 有管理過 DNS Server 嗎?
  4. DNS Server 如果不安全,會發生什麼事情?
  5. STARTTLS 是什麼,有何缺點?
  6. 計算機中心要分享伺服器給同學們,要如何限制每個人所能使用的資源?
  7. 承上,要如何監控?
  8. 使用者的資料是非常重要的,請簡述Unix 備援與備份的方案。
  9. 請分別舉出至少各一個你用過的(Unix-like與BSD)系統,並敘述你的使用經驗。
  10. 描述fstab與autofs的差異。
  11. 用過OpenLDAP嗎?描述你的經驗。
  12. 名詞解釋
    1. ZFS
    2. Cgroups
    3. NameSpace
    4. rctl
    5. autofs
    6. FreeBSD Jail

網路

  1. 小交剛到交通大學,需要使用網路,所以從計算機中心拿到了IP資訊,但是小交不知道25是什麼,所以忽略它並使用預設值將剩下的設定輸入Windows電腦中,請問小交可以上網嗎?會遇到哪些問題?
    設定資料:
    • IP:123.123.123.123/25
    • GateWay:123.123.123.1
  2. 有維護管理機房的經驗嗎?簡述你的經驗。
  3. 大交過年回家發現連不上機房的VPN,請問他要如何處理?
  4. 你平常使用哪些防火牆(ufw、iptable、firewalld、nft還有另外兩個想不起來),簡述使用經驗與差異。
  5. 你用過哪些品牌的網路設備,簡述經驗。
  6. 承上,你用這些設備解決了什麼問題,分享你的經驗。
  7. 你發現你的服務沒辦法從外面連進來,你要怎麼解決,描述你用的指令或檢查的檔案。
  8. 你的網管給了你四個交換器上的Port,有相同的IP設定,簡述有何優點、有何缺點。
  9. 你如何監控伺服器、監控哪些指標?
  10. 請規劃網路架構並符合以下需求(畫圖)
    • Public IP 為稀缺資源,請盡量少用。
    • 兩間電腦教室,各有90台電腦,要能夠連上網際網路。
    • 一間教師休息室,需要能上網際網路、可以連線到測試機房。
    • 測試機房,不能連線到網際網路、也不能從網際網路存取,僅能在機房內或教師休息室連線。
    • 正式機房,有多台設備,需要有區域網路,可以從網際網路存取,可以存取網際網路。

開發

  1. 用過git-flow嗎?簡單說明是什麼。
  2. 簡述CI/CD?
  3. 建立一個簡單的CI/CD的流程。
  4. Git如何找回刪除的提交?
  5. 解釋合併衝突,如何避免。
  6. 除了git外有用過其他版本控制系統嗎,簡單說明一下差異。

維運

  1. 容器化的缺點是什麼?
  2. K8S裡面的node、Service、pod、deployment是什麼,請簡單說明。
  3. 有用過叢集嗎?簡述使用經驗(挑你用過的即可)。
  4. Inter和AMD都針對虛擬化推出了一套指令及以加速VM,請問這是什麼指令集。
  5. x86指令集架構起先並不滿足波佩克與戈德堡虛擬化需求(Popek and Goldberg virtualization requirements),這使得在x86處理器下對普通虛擬機器的操作變得十分複雜。在2005年,英特爾與AMD分別如何在它們的x86架構上解決這個問題呢?
  6. 何謂ECC Memory?簡單說明UDIMM,RDIMM之差異。

求人取向

我參加了交大丁組的說明會,而戊組則是再找指導教授時聊天,下面總結了一些心得。丙丁戊組都是要求實戰經驗的組別,但領域略有不同,以情報密度來說,我沒有進入丙組複試,所以對於其中詳細狀況並不清楚。

丁組

需要在計算機中心的某項業務特別專精,並略懂其他部分。

我認為丁組的目標

丁組下有五個組別,VM、Mail、System、NetWork、WWW;意味著你必須要專精於某些領域並涉獵其他領域;丁組管理系上的計算機中心,基本上不會電死人的工作都讓學生參與,能夠學習到非常多知識與技術。

丁祖複試分兩天,一場筆試+三場面試,筆試不計分,但會極大程度的影響你往後三場面試的走向,筆試有10幾張紙的量,共三小時,重點就是要做球給後面的面試官,盡力選擇你有把握的題目寫,而避免掉那些你不熟或是把錯誤觀念當正確的情況。

畢業論文高度要求與丁組主旨相關,而戊組對此的要求不高。

戊組

戊組的求人取向比較向是要求網頁、後端的即戰力,我們這組的人數是每屆7人,工作高度與系統相關。教授陣容有多位是學校資訊單位的一級主管,所以非常的忙,基本上任務下來要獨立解決並想辦法生出一套可以上線使用的系統。

應試的部分是一張A3雙面,10題左右,大致上是橫跨前端(HTML、CSS、JavaScript),後端(和語言沒有太大關係,都是問觀念)與開發問題(Git、SQL、測試等);下午是所有教授一起面談。

面試部分是你先來個1分鐘的自我介紹,講述你的經歷與做過的系統,教授們會問你這些系統的實做細節;我的話是教授對SSO很有興趣。教授一開始問我使用哪個套件,如何處理升版本和維護的問題,但因為我是全手刻,所以就有點雞同鴨講的感覺……我還覺得涼了。後來教授問了一個關鍵的問題:你能說明兩種Oauth的機制嗎?
多虧這個問題,我才得以推上交大。這問題我是這樣答的:「Oauth有四種認證模式,分別是…我實做了其中一種…另一種是…主要精神就是不讓第三方客戶端拿到使用者密碼。」,教授後來說我是實做題中非常令他們印象深刻的,感謝理解OAuth 2.0 – 阮一峰的网络日志 (ruanyifeng.com)所帶來的簡單精闢的說明,我幾乎是將這個網站的說明摘要出來了。

學習方面,主要是每週會有一個研討課程,每個人要輪流上去分享你工作上的進度、學習使用到的技術,由學生與教授各分享20分鐘,整個課程約1個小時內可以結束。每年暑假中間,會有一場有長官參與的發表會,每個人會上去講今年發生了什麼事情,解決了多少問題等等。

工作量的話,如果實力不堅強,應該是會滿辛苦的,像是我個人一進去就是接7個系統,因為我是2月提早入學,所以以接手學長的系統優先(趁還有人可以問)。另外一位大神一人就開發了10套以上的系統,算起來一個月就會有一個系統上線服役。

技術線很廣,會希望你盡量嘗試新的技術,而不會強迫你得使用大家都會的技術,但你得學習以前的前輩使用的語法,因為陽明交通大學歷史悠久(才怪,是交通大學)所以從Asp.net、PHP到廣泛使用的Node.js、Flask,而今年我把golang加入我們的技術線裡面了。
計算機中心同仁們使用的作業系統很多都是FreeBSD,但是你可以選用Ubuntu系列,至於CentOS與紅帽系列的較少使用。
單幹系統比較多,因為技術線廣,要互相支援也不是那麼的容易,但對於一些較通用問題,你還是可以找到學長討論的,其實學長也不一定清楚你的領域,大家都是互相學習,也許你只是缺少一隻小黃鴨聽你說話而已。

本組配置兩間實驗室,由14人共用,但根據你找的教授,你可能會有其他的據點可供使用,以目前來說,我和另外一位學長是獨佔各一間實驗室的狀況,資源隨便你用。

發佈留言