[面試] Ubiquiti Skype interview

準備一下要怎麼面優比快吧!

優比快是我心目中目前蠻想進去的公司之一

不過聽說內部的節奏快,做事獨立,部門分工少,解決問題的速度要很快

投遞履歷

Ubiquiti 這間公司之前就有聽過,不過訊息太少,從 Tech_Job / Soft_Job 板也無法取得太多的資訊
直到 Kelly Service Corp. 的人傳了 LinkedIn 私訊給我
透過電話面試了一下
大概了解工作內容之後,就將履歷透過 Kelly Service Corp. 轉成推薦函寄出

但許久沒有回覆,所以我自行親上 LinkedIn 投遞履歷
大概一週後,人資寄信給我,這位人資是之前在 google nest 就職,光資歷就覺得非常厲害
我最後就答應要進行電話訪談

面試內容

我是投遞 Taipei 總部的 Embedded Firmware Engineer position
看其內容主要就是做 bring up linux drivers, network configuration 相關的程式設計
反正我們公司大概都有做過,就沒有問太詳細的內容
這也是我這次面試「應該要先問但是沒有先問」,造成準備不足的主因

主要關卡有

  • Phone review
  • Skype interview
  • On-site interview
  • Technical manager interview
  • Offer review
  • CEO approval

Phone interview

這個真的不用緊張,只是要問一下小問題而已

  • 現在狀況:還在職嗎?在職後何時可以提出離職申請?上班許可的時間?目前主要做的領域?預期薪資?
  • 離職原因
  • 對現在的公司有沒有不滿的地方

然後透過電話說明這次徵求人,以及大概公司狀況

然後你也可以問問題,像我就問

  • 這間公司評價兩極 Glassdoor 有目共睹,您怎麼看?
    • Glassdoor 形形色色的人很多,每個人都有不同的考量,但待遇理論上是不會有問題的,公司本來就是要保留有能力的人,當然老闆的個性就是這樣,所以有人對老闆不滿也是正常,參考就好
  • 流動率大概多快
    • 大概兩三年,有時候是整個 team 被挖走
  • 這間公司是不是有機會跟國外的工程師合作?
    • 要看公司部門
  • 這間公司工作時間是不是會不穩定,要配合國外運作?
    • 不會,理論上不會凌晨被公司叫回去,但公司的確是責任制
  • 有其他問題可以寄信問您嗎?
    • No problem

大概就這樣,電話面談結束

Skype interview

之後人資就透過 e-mail 與我討論 Skype interview 的時間,對象是 Hiring manager

可能是我太久沒有面試,我都忘記問最重要的一環
一定記得要問人資「這個職缺是專門做哪個產品線的」
不同產品所要的技術 knowhow,是不一樣的,因為我們公司所做的東西都不是太深,所以如果是對於特定產品的 knowhow 可能都要準備,才會知道怎麼應答。

接下來 Skype interview 開始了,約在週三上午

主管是用語音而已,沒有透過視訊方式

問的問題也很容易,就是問工作的內容,做過哪些經驗,產品的內容,還有遇到什麼問題與解決辦法

不過已經是工作三年經驗的老鳥,當人問的問題就變得很專一

  • 自我介紹一下
  • 做過什麼產品
  • 產品內部的硬體規劃、軟體設計與維護的分派是怎麼運作的
  • 有碰過網路韌體相關的設計與開發嗎?
  • 那顆晶片你有設定過哪些東西?
  • 你會 bootloader / kernel / rootfs 各種領域,你曾經對這些部分做過怎麼樣的開發與設計呢?
  • 你有對 ethernet switch 有相關的設計經驗嗎?開發的過程是如何呢?
  • 公司對於 code review 的態度是什麼?維護方式與改進方式?
  • 有沒有對我的部門或是整間公司有什麼問題?

大概就是這樣,因為我對 ethernet switch 開發並不是到非常熟悉,但的確有 porting switch driver 於產品中
我只能對我這部分的技能告知給主管,之後主管說「若有 On-site interview,我會請人資再發邀請給您」

心得

已經過了兩天,之前人資認為 on-site interview 會在下週舉辦,週五看起來是通知最後一天,沒有通知的話理論上就是被刷掉了
不過也知道自己缺了什麼,也知道雖然你做的領域很廣,但是在特定產品中,你一定要針對那些特定產品花一點時間了解一下你做過的細節,因為你並不是原本就是做這個東西的人,所以一定對此領域很陌生。

備註:自我介紹內容

當然不是照稿念,但是大概就是這些內容:

您好,我是劉安庭,目前在 WEINTEK LABS., INC 的 System OS R&D Department 擔任 Software Engineer 的職位,至今在公司工作約三年四個月,我主要的工作內容是開發工業人機介面的專用作業系統,到今年二月初已經完成了五個專案的作業系統開發,目前已經開發第六個產品(這個產品的 leader 不是我)。每一個作業系統都涵蓋著 硬體測試,開機啟動流程,作業系統核心,檔案系統等部分。目前主要負責公司的工業物聯網閘道器系列產品的作業系統開發與維護。

工作內容包含了:

  1. porting bootloader
  2. porting kernel drivers
  3. 相關的 rootfs 開發與維護
  4. 測試硬體狀況
  5. RMA 分析
  6. Analyze and Improve OS performance

我擅長於軟硬體的整合,在就學期間我修習了許多軟硬體相關的課程,並且參與了高雄市 city bike 單車租賃系統的產學合作,底定了我軟硬體整合能力的基礎

進入職場後,我開始了解 linux 驅動程式的開發,因此這三年的工作時間,除了就學期間的基礎知識之外,也擴展了嵌入式 linux 作業系統的相關能力與知識。並透過大學與研究所所學,研讀相關 IC vendor 所發出來的 datasheet,配合硬體部門進行硬體相關測試,例如提供測試相關軟體給硬體部門完成 CE 與 UL 等標準之相關測試。

除了硬體相關測試外,接下來就是進行開機啟動流程與作業系統核心開發,這兩部分著重於不同產品會規劃不同的硬體架構,要根據硬體架構去打通硬體與作業系統核心之間的驅動程式,主要是 ic vendor 或是 mainline kernel 所提供的軟體為主,之後依據硬體狀況做相對應的調整。調整並與硬體交叉測試過後,就會進行效能優化。效能優化可以加速啟動速度,增加使用者體驗,目前我最佳的 fine tune 開機時間時將一個 13 秒才啟動完成的機器減少到開機 6 秒,且原本的功能都保留且正常。

我是一個會主動持續提升工作能力的人,在工作之餘,我會進修嵌入式 linux 的相關知識,因此我會時常更新相關知識與能力,常常去 github 上面研究程式架構,或是查找 linux 的相關書籍。

我樂於分享與溝通,在工作期間所遇到的問題,或是開發軟體時的心得,我會整理一份文件給整個團隊看,此外,我還會將自己實作的心得紀錄在個人的技術部落格,除了紀錄在工作期間學習到的技能之外,有同時分享給有相同問題的人。

我是一位遇到問題就不會放手的人,目前在公司遇到的種種問題,我都會非常積極地去完成,不論幾點下班,我自己只要進入狀況後就不希望草草了事,讓各種問題都可以找到 root cause ,已減少公司未來出類似問題的可能性