面試問答
如何設計訂單的資料庫欄位
一個user tab...
原本是投遞junior職缺,在隔天收到電話簡單詢問過往工作經驗,說會在兩三天內通知我後續消息。
過一週後主動致電詢
問後續,被告知職缺已滿但有中級職缺,邀請我去面試這個位置。想著不試白不試的心態去面試了。
一階段:(技術面試:backend x1 senior x1 lead x1)
詢問過往工作經驗和一些觀念題,因為履歷上有寫道跟朋友共同運作後端讀書會,所以有針對讀書會題目做詢問。
以上結束後做一個簡單的系統設計題目,不會很難,主要是針對之前大學畢業專題做延伸,把它改成分散式架構,沒有對錯,會跟面試官一來一往的討論。
系統面試後一題白板題,運氣很好的是leetcode easy程度,輕鬆解
面試完當天覺得很穩,面試官說最久一週後收到回覆,但當天晚上就收到信邀請二階段面試了
二階面試前要完成一個小作業,實作一個tinyUrl的簡易版
二階段之一:(backendx1, lead x1)
主要是針對作業做討論,個人作業完成度很高,連加分題都有做完,所以面試官看起來是滿意的
二階段之二:(pm x2)
問一些如何跟pm做合作,和開發情境題,比較不像面試像聊天,這個階段又重新再做了一次自我介紹
二階段之三:(lead x1, hr x1)
談薪水,談到職時間,但還沒有正式offer get,離開前說是隔天還有一位申請者,最快後天收到offer decision
早上面完下午收到電話offer get
面試問答
如何設計訂單的資料庫欄位
一個user table和一個order table,在這裏提到樂觀鎖和悲觀鎖
有聽過或處理過orm n+1問題嗎
聽過讀過但沒處理過不熟
Race condition的問題
面試前一天剛好有讀到,回答有固定時間欄位和sliding windows兩種方法,可以用redis做處理
白板題:input[1,1,2,3,3,4,6,6,9] output[1,2,3,4,6,9],回傳沒重複的新array
先簡單以indexOf作處理,說有沒有改善方式再改以hash map加速
面試建議
面試過程都很愉快,因為本身是funnow的使用者所以對公司興趣很高。
一些其他工程師朋友有建議我說這間公司薪水給不高,但個人認為一第一份正職來說有機會能以mid level作開始是很好的機會所以對薪水就沒有那麼計較。
公司福利14天年假跟酒水自助,每月有2000元app贊助金真的挺不錯的