申請職缺

R0006775:【新鮮人募集!】 Software Engineer

面試流程

  1. 預定面試時間:1 小時
  2. 流程:
    1. 自我介紹(英文):5 min
    2. 自我介紹簡報提問(部分英文):15min
    3. 白板題(中文):30min
    4. 職缺說明 + QA: 10 分鐘
    5. 人資說明(說明後續面試安排)
  3. 備註:有提早約35分鐘抵達,先在櫃檯旁的座位區休息。到面試前5分鐘時,被請到會議室。

自我介紹簡報提問

面試官有兩位,一位經理、一位 Senior。專案經驗提問前,有先給自我介紹。因為先前有說明可以 demo,所以就有做投影片自我介紹。透過電腦上的簡報直接分享。

詢問面試官要中文還是英文,面試官說我們試試看英文。

(英文部分)

  1. 資料庫為何選擇用 MySQL
  2. 請說明選擇 Tech Stack 的原因,像是為何選擇 FastAPI, 而非 Flask

(中文部分)

  1. 說明 AWS 經驗
  2. 說明跟其他人專案合作的經驗,有沒有遇到過工作沒有準時交付?
  3. 透過定期會議後,改善程度有多大?
  4. 請分享在印度交換時,如何和來自不同工作文化的夥伴合作?
  5. 分工是你主導嗎?

白板題

設計借還書系統

  • 題目描述:
    • 書本資料功能描述
    • 用戶資料功能描述
    • 其他流量費用說明

AWS 規劃

  • 如果沒有 API Gateway, 你的前端怎麼接 API?
  • 會開一個 VPC 嗎?多個 VPC 好處是什麼?
  • VPC 是怎麼扣錢的?

資料庫規劃

  1. 書本的 Primary Key 會用什麼設計?
  2. 為何不用 Auto Increment? 會有什麼問題?(可先假設只有一個 Database Cluster)
  3. 用 ISBN 會有什麼好處?

物件規劃

  1. 白板題結束後,面試官總結道,還有兩個功能沒有設計到:新增書籍、使用者查詢借書歷史 🥲

職缺說明 + QA

職缺說明

  1. 該團隊負責 Vision One 平台中的 Email Security
  2. 會需要 Linux 操作技能。產品會直接在 Linux 上跑。因此,會需要寫 Python, PHP, 和 JAVA,要會 C/C++/Python, 也要有辦法 Debug Linux 相關的問題,像是看 process, 處理用 C 寫的 Daemon 跑出來的 Bug
  3. 內部著重跨領域跨團隊
    1. 每個人都可能參與到其他產品團隊(不同產品之間互相支援)
    2. 也可跨職能,像是跨到 DevOps
    3. 也可能隨需要擴展技能點:ex. 碰到新語言、新 Spec

對方補充提問

  1. 好奇未來想要發展的面向,除了前端,後端,DevOps 會感興趣嗎?
  2. 好奇比較想做前端還是後端?為什麼?
  3. 對於資料工程師的理解為何?

QA

Q1: 請說明對新人工程師期待

  1. 會期待 Open-minded, 會遇到很多新技能,或是需要學習的新語言、工具

Q2: 根據我剛剛的回答,除了多了解 AWS 外,提供建議

  1. AWS 部分,可以多去看 AWS 的 Case Study. 像剛剛的白板題,其實就是搶票系統類的題目,還會需要處理到 Concurrency 的問題(如果很多人同時搶一張票,怎麼處理)。
  2. 另外,會建議對 Linux 有更多了解。我們的產品有些直接 Build 在 Linux 上,會直接需要針對 Linux Debug.

整體觀察

  • 我抵達會議室時,兩位面試官都已經在了,兩位人都很隨和,開始簡報前也會先和面試者閒聊,讓面試者緩一下。
  • 兩位面試官的英文都很好!有透過英文進行幾次問題來回。
  • 我回答白板題的時候,前面 AWS 花太多時間在討論,導致後續 Schema Design 和物件導向設計的部分時間很不夠 🫠
  • 會主動分享一些公司合作情形,另如跨組別支援情形,以及各個功能如何協作。

面試結果

進入下一關(人資面試)