2024 Summer Internship Review
一路上受到許多人的幫助,希望這篇文章可以幫助到其他人。
先講結論,現在美國的就業市場真的相當困難。跟 Tom 說的一樣,推薦各位先累積經驗再考慮下一步,或是直接讀個 phD 吧!
背景與找工結果
Background:
2020 NCKU EE
2023 Fall USC MSCS
Experience:
Product Developer @ Synology
SDE @ Amazon
Offer:
Apple - Cupertino
Nvidia
Arista Network
面試後被拒:
一些小公司 (SLB, ...)
面試後婉拒:
Qualcomm
今天的找工情況是真的嚴峻,海投策略感覺沒有什麼用,取而代之的是專供特定的領域。
以我的情況來說,因為畢業之後一直做跟 System Software 相關的工作,所以找到的工作也是高度相關。
我認識許多朋友都是專項很厲害的狠角色,這點對他們來說應該是好消息。希望各位都能找到自己的定位及興趣,然後深耕下去。
準備
履歷的部分我相信各位已經聽到爛了,基本上跟這篇文章說的差不多。
基本的排版,描述結果, 在 Amazon 被講到爛的 STAR 原則都是大家都必須做的。
真的特別感謝當年在 Amazon 我的主管同事們:Roger, Frank, Gordon, CJ, Eric 等等特別雕過我的 Document 書寫。
如果還在學也可以在平時的功課報告就下功夫,才不需要像我一樣事後才花數倍的精力修正。
Domain Knowledge 的部分我覺得抱佛腳真的很浪費時間,所以不如挑你感興趣的領域看就好了。我自己的心得是,很多乍看很直觀簡單的東西都也很大的學問等著你去發現。比如說:手機的韌體更新要怎麼設計,怎麼確保更新出錯之後的 debugability。這種乍看簡單的問題其實都有很多可以思考的議題。比如 OTA 的傳輸協議設計, 可以使用的硬體有哪些,需不需要設計 compression 等等
刷題的部分我沒辦法給太多好的意見,原因是我本身就不太喜歡刷題,不只刷得不夠多,也不厲害。但是基本的資料結構跟演算法我還是有認真學的,以這個為基礎去延伸我覺得也可以解決很多問題。
面試
我自己屬於那種很不喜歡刷題的人,基本上我也很幸運沒遇到太難的算法題。
取而代之的是問得特別仔細的 Domain Knowledge.
比如當年我有開發客製化 RISC-V + FreeRTOS 的經驗 (後來也有貢獻到開源專案)
又比如,我有被問到如 Cache Coherence 跟對應的硬體設計相關的問題。
特別感謝當年在成大 Jserv 不厭其煩地提醒大家:誠實的面對自己。
這些議題也在課堂上不只一次拿出來討論,所以.. Linux 核心設計/實作 (2024): 課程介紹,真心推薦。
面試心得
Apple
我面試的 Team 剛好對於我之前做的 Fault-Tolerant System on RISC-V FreeRTOS 有興趣所以問了很多相關的問題。
Codeing 的部分印象比較深刻的是描述了一個 multi-clients 的 Image Process platform 要求基於 UART interface 實作一個 library 滿足提出的要求。
演算法的部分有點忘記但就是非常簡單的算法。
NVidia
考了一些硬體相關的知識,比如說 bitwise 的操作以及要如何優化加速。
C++ 的基本知識也考了一些,但不是深入的探討,比較像是要確認你會寫基本的 C++ 而已。
算法的部分也是簡單的 Slide Window
總共有三輪面試
Arista Network
考察你對網路的理解,比如說 SDN 的架構, 面對系統資源不足要如何設計實驗分析必且找出性能瓶頸。
SDN 的部分我在台灣比較少接觸到類似的課程,如果有興趣的各位可以從 Mininet 這個 emulator 開始,這是一個可以很快速理解不同拓樸, TE, routing 對於效能影響的方法
結論
- 確定自己的優勢及對應的職位
- 好好地將這些特點呈現在履歷上
- 針對性的投遞履歷
- 針對性的準備對應的 Domain Knowledge
希望大家都可以當快樂的勞工,順利的找到工作。
有問題的話隨時可以聯絡我。
感謝
謝謝 Sunny 不厭其煩的陪伴。
感謝當初所有推我一把的老師前輩:Frank, Roger, Austin, David, Darby, Jserv, 謝錫堃, 楊竹星老師等等
感謝一路上所有一起奮鬥的朋友:景雲, 蔡頌新, 阿染, 一中, Gordon, Tom, Henry, YiJing, 濤哥 (要感謝的人太多了,就感謝主吧)