#面試心得 混血雜魚面試心得

從開始投履歷,兩個月進行了30場以上的面試,再到拿到offer因為時程壓力要做選擇,心境上經歷了很多轉變與焦慮,過程中受到來自身邊朋友、學長姐的大力幫忙,還有網路上前輩們熱心分享的資訊,讓我受益良多。在開始找工作的時候,就有想說要寫心得分享,現在好不容易上岸,當然要來還願了。 背景:New grad 四大混血資工碩,碩論沒料無關產業也不是趨勢的東東,沒有修過很厲害的IC課,兩個名不見經傳的實習經驗,leetcode 不到200題 (NeetCode還沒寫完),做過的東西系統純軟跟嵌入式大概一半一半 心得分享: OS, Data structure, Algorithm, OOP, C (pointer) 很常考,大家心得文也都會提,這邊就不贅述,還有不管是不是純軟的role,我認為Modern C++也蠻值得投資的,大概知道runtime/compile time polymorphism、smart pointer的概念就行了,我只有花個兩天看一些範例code,知道皮毛,就可以應付大部分的面試問題。 BQ的話,也是大家講到爛掉,STAR那一套,但不用100%要照著用,例如task 跟action可以合併之類的,我個人在回答的時候也不會特別跟面試官說:”喔這是situation,這是result”,只要講一個大概的故事,接著面試官會繼續問問題,挖他想要的。 詳細的自我介紹,介紹碩論跟口試不一樣,面試官通常都沒有對應的domain knowledge,所以要用比較general 的方式去介紹碩論,介紹其他project也一樣,但如果主管有概念這是什麼,就會問得很細,去釐清你到底做了什麼,哪些是你做的、哪些是現成的、這樣做會有什麼問題、有沒有更好的做法。給大家的心得是,主管也知道new grad做過的project,爛爛的本來就很正常,常常重造輪子,做出來的輪子還是多邊形而不是圓形,一定會跟業界最佳解有所差異,我在這邊蠻常被問倒或是被打到咪咪冒冒 (指出我的作法有很多缺點),不用急著defend,也不要支支吾吾,不知道就直說不知道,不用怕被扣分。但如果我有想法就會反問幾個問題,釐清主管想知道什麼,然後跟主管說我猜猜看,猜對就加分,猜錯也能小幅度的展現我面對未知問題的思路。通常主管問這些問題,心中會有一個答案,也會跟求職者分享,對求職者來說,不仿也是種收穫。 優劣程度如下:清楚知道 > 說不知道,然後猜猜看 > 直說不知道 >> 假裝知道後瞎猜 再來是時間的掌握,通常HR不會知道自我介紹跟技術問題會各占多少時間,所以我的作法是主管請我自我介紹時,先問主管預期這個自我介紹大概會有多久,去決定要講多少細節,這樣才不會壓縮到後面技術問題以及我問問題的時間。經驗是大部分外商,時間都會抓很緊,行程上面排多久就是多久,台商就比較free,可以讓我慢慢把簡報講完,討論一堆我做過的東西,再跟我分享業界怎麼做,接著再讓我問一堆問題,離開線上meeting時發現2.5 hr過了XD。 白板題 / coding interview的部分,因為不是純的純軟仔,再加上有點偷懶,blind 75就寫了快一年,總題數不到200,但大概寫到150題後,就開始練mock interview,youtube看一下coding interview實際上怎麼進行,接著自言自語練、找人練、找LLM live chat練,中英都練,dry run、想edge case,還有從main call solution 丟測資,讓自己實際遇到面試官什麼都沒給,還要求我執行的時候,就不會那麼慌。我也有建一個general的template,可以一次跑好幾個測資跟輸出結果,會比在執行時一筆一筆測資透過stdin打進去有效率,正式上機考可能就改一下type,就可以實作solution並套用。其他怎麼刷題比較有效率,怎麼認解題pattern,很多人講過了,就不重複。 P.S.: 跟LLM練,有時候感覺他會亂講話,根本不知道他自己在講什麼,但拿來練練表達還算堪用。想要更厲害的可以參考Pramp,不過我自己也沒用過就是了。 履歷的話,參考google 建議的方式 (YT: Create Your Resume for Google: Tips and Advice),bullet point會給AI修過,整個履歷用single column、chicago format,總共兩頁,會針對職缺,對project的部分做增減,沒有放圖片,但能放超連結就放超連結。如果有cover letter的欄位 (104都有),就會把我的履歷跟職缺描述丟給AI,請他幫我寫一份簡短的cover letter,檢查一下沒有唬爛的部分,就傳出去了,如果職缺內容跟履歷內容沒有什麼match,就請AI強調我對軟體開發還有學習技術的熱情XD。 ____________________ 結果: Offer get: Phison, RTK, NOVA, DELL, Cadence, 肉鬆, 彩富 面試後 Rejected: Skymizer, Synology 寫完OA後 Rejected: NV, Amazon, Canonical 面完無聲: Synopsys, 和碩 投遞後直接感謝: Synopsys, Amazon, Microsoft, Apple 投遞無聲: 應該有超過10間公司,20個以上的職缺,甚至有些是內推的 ____________________ 消歧義:底下的Offer get,表示最少有電話核薪結果通知,但不一定有往後簽核。 ____________________ Amazon 投了一大堆,有Embedded也有純軟的,有台灣的也有歐洲的,基本上大概1~7天內會收到感謝信。 收了幾封感謝信後收到中國HR的mail,是台灣的role但沒有說明是哪個職缺,邀請我寫OA,寫完隔天系統感謝信。後來又陸續收到其他職缺的感謝信,以及另一封系統寄出的OA,寫完隔兩天感謝信。OA內容:兩題hackerrank,大概medium ~ hard,菜雞如我,兩次總共四題,合計寫出一題。 結果:寫完OA後感謝。 ____________________ NVIDIA 投了兩三個,只有MCU Firmware有回覆,投遞兩天後收到OA,內容跟朋友寫過的87%像,應該是new grad要寫code的職位,OA內容都一樣:文字邏輯測驗、簡單的CS選擇題、一題easy、一題hard,hard只解半題,其他都有寫出來,寫完三天後感謝信。 結果:寫完OA後感謝。 ____________________ 和碩 軟韌研發 HR直接寄mail。 線上面試,自我介紹完,就考一些簡單的C (pointer, structure),然後兩題 Easy 上機考,用自己習慣的IDE分享畫面。 一面完大概一週約實體二面,實體二面要寫英文測驗、邏輯測驗、空間測驗,然後針對寫出來的分數跟主管閒聊,接著問了很多BQ,然後問期望薪資,介紹部門、介紹福利。 結果:面完無聲。 ______ 和碩 5G-RAN HR直接寄mail。 直接約實體一面,自我介紹,問了一些C的東西(pointer to the pointer),介紹部門、介紹福利。 我邏輯測驗第一次不及格,第二次才有低空飛過,主管問我怎麼會這樣,但我也不知道XD。 結果:面完無聲。 ______ 和碩大概是我覺得最花時間的面試,英文能力、邏輯能力都可以在面試的時候表現出來,反而用這種on-site測驗的方式,分數實際上能應用到工作上可能還是有一段落差,還要花3個小時左右才能寫完,寫完再接著實體面試,加上交通,一整天就沒了,最後還給我無聲…. 結果:面完無聲。 ____________________ 彩富電子 FPGA 演算法工程師 HR透過104主動邀約。 線上寫一份空間邏輯測驗,我覺得有些還挺難的,感覺分數不高。 之後就線上一面,自我介紹,然後上機考了一題類似 fibonacci/pascal 的問題,用C。考完後開始問我問題,什麼都問:一些embedded的周邊、OS經典題、常見的data structure、OOP、線性代數、微積分名詞解釋、數位設計的setup / hold up time, sync/async reset。我大概答出2/3。主管跟HR都很客氣,面試氣氛很好。 結果:一面後約1.5週收到Offer。 ____________________ 肉鬆 雲端伺服器 韌體開發 HR直接寄mail。 線上一面,簡單的C (call by value / pointer),簡單的文字邏輯測驗,主管邏輯清晰,會提示、引導出正確的答案。部門介紹得很清楚,基本上就是做Sever BIOS/UEFI,開發比重比維護高,也鼓勵新人多去碰新的東西,內部也有固定輪流的技術分享,類似讀書會那樣子。主管感覺是很會做人的那種,溝通邏輯清晰,對求職者也非常友善,有點顛覆我對系統廠的既定印象,甚至留了email讓我之後有問題可以問他,主管也跟我分享這邊沒有什麼政治鬥爭,是個健康的工作環境,不知道實際情況怎麼樣,反正我是信了。彈性工時,加班費不影響分紅,大概18個月。 結果:沒有後續的面試,一面面試當下給Oral offer。 ______ 肉鬆 雲端伺服器 BMC軟體 (BU9) HR直接寄mail。 線上一面,跟上面軟韌開發差不多的C、pointer,然後部門介紹,有分low-level (FW) 跟application level的工作,進去可以選。low-level的話就是BMC的bring up、小小的OS維護,application level就是跑在小小的OS上的一些應用 (i.g., Web page server)。部門介紹也還算完整,還用一張投影片解釋這個部門做的東西屬於哪一塊,但主管話比較少,我的問題都回答得很簡單,然後一直問我有沒有什麼問題。一樣彈性工時,加班費不影響分紅。 兩個部門都一面排在同一天,隔天HR要我排序,過三、四天後約二面。 線上二面,面試官是更高階的主管,部門介紹,講得出來的AI巨頭都是這個部門的客戶。自我介紹+問自我介紹內容,除了一些常見的BQ,還問了一些開放性的問題,例如什麼樣才是好的程式碼、我對於AI的看法…等等。雖然新人沒有吃到結構調薪,但是主管說正在努力向一線看齊,而且成長幅度不會輸。考績中等可以拿12 + 5 ~ 6 個月。 結果:二面完後約一週,offer get。 ____________________ Synology Product Developer HR透過104主動邀約。 線上一面,簡單的自我介紹,然後開始問技術問題:OSI 7層, 簡單的Modern C++, OS經典題, 常見的資料結構。上機考: Leetcode medium * 1, 主題是Monotonic stack,剛好有寫過,所以沒有搞太久,然後分析time / space complexity,開自己習慣的IDE,印象中還要自己作test case跟執行,follow up改了一些設計跟需求,在面試官慢慢的引導下才講出怎麼解,但也沒寫出來。接著面試官給一份文件,內容是同樣的問題丟給 LLM 後的回覆,要我 debug,感覺這邊就是想要測試求職者平常有沒有在用AI輔助,會不會AI給的東西就直接複製貼上,有沒有能力 debug不是自己寫的 code。接著是BQ跟給我問問題。過程中就跟網路上大家分享的一樣,考官會一步步引導,如果有一兩個粗心沒留意到的case也會稍微提醒,問考官我有沒有什麼可以更進步的,也給了一些很實際的feedback,整體面試過程感覺不錯。 一面完兩個禮拜後,寄出實體二面邀約。實體二面先跟HR,這邊蠻輕鬆的,就是常見的BQ跟針對我的履歷閒聊,還問說做到一半如果收到 google的offer會怎麼做 XD。面完HR後就是跟部門主管,感覺蠻年輕的,寒暄幾句後請我簡單自我介紹,這邊我就有帶筆電,簡報快速帶過。白板題:Medium * 1,主題是binary search,這題我寫過但是只記得要用b search,condition設什麼比較好已經忘記了。回答方式很自由,用紙筆或是直接用電腦寫code都可以,一樣主管會先聽我的解法,畫幾個圖,跑test case ,在一些edge case我卡了很久,給了一個hint後,換一個解法,pseudo code馬上就出來了,dry run幾個case後就結束白板題了,不確定是不是因為花太久的時間,所以才不用真的執行。之後就是讓我問問題。部門感覺是個風氣好的地方,除了工作上會需要的技能外,也有內部讀書會。主管還是陪我走到大門口,然後說不一定no hire,他們內部還會再討論看看。主動跟主管問了哪裡可以進步,獲得一些稱讚以及一些需要改進的地方,整體過程感覺很不錯。 結果:二面後三個禮拜感謝信。感覺是個很棒的機會,不管是職涯成長幅度或是部門風氣,有點扼腕,祝福有上的人。 PS: 一面、二面之間,我也在104、官網投了各種不同部門的職缺,但都沒有回覆。 ____________________ Skymizer SW Engineer 104投遞後,一個禮拜收到一面邀約。 線上一面,只有一個主管,簡單的 5 min 自我介紹後,就開始問一些技術問題,常見的Modern C++、資料結構、演算法,聊到其中一種常見的,就說:那我們來刻這個吧,用自己習慣的IDE,刻完後要執行,所以也要自己訂好介面、test cases、main function。之後就介紹部門,做的東西是LLM加速器的toolchain,感覺是當下蠻熱的題材,聽起來很有趣,接著就讓我問問題。可以100%遠端,但還是鼓勵新人進辦公室。雖然全程只有一個小時,但主管時間控制的還不錯,會注意時間往下一步走,也有留足夠的時間給我提問。 一面完後隔幾個小時發實體二面邀約。 實體二面,兩位面試官,部門更詳細的介紹,介紹有三個team分別在做什麼,並詢問我對哪個team比較有興趣,以及開放我問問題。接著就是白板題,跟工作內容有關的系統設計,講解題目,前20 min有點當機,聽不太懂題目要我幹嘛,一直到我大概搞懂題目就過了一個小時,設計完資料結構跟大概behaviour,總共一個半小時過去了。剩下的一個半小時只做了大概3、4成的功能,而且還有一個scenario要改資料結構設計沒考慮到。過程中可以動用一切資源,打電話求救、google、AI,也不太管input / output格式,很多東西/規則都是邊想設計邊跟面試官互動得到的,大多時候細節的東西都可以自己定義,也不太要求要很簡潔或是time complexity,但是要實際可以執行,然後解釋print出了什麼東西,是否有做到題目要求。這個題目沒有用到什麼演算法或是複雜的資料結構,感覺更貼近大部分實際工作的狀況,有時候只會有一個大概的需求,剩下的要透過溝通把介面跟行為定義清楚。面完當下有蠻清楚的暗示no hire,聊了一下天,面試官分享這題有new grad寫出來,也有senior寫不出來,給了一些正面的feedback跟一些可以再改進的地方 (e.g. implement 速度),雖然no hire,但覺得收穫滿滿。 結果:二面完三天後收到感謝信。 想做純軟的,這間跟上面Synology都蠻推薦投投看履歷,不管結果如何,相信你有機會面試就會有收穫。 ____________________ Canonical Embedded Field Engineer 針對Embedded的職缺在官網投遞,總共投了5、6個吧,台灣的跟global team的都有投。有三個過第一階段的resume screening,team的主管聯絡,通知進到writtern interview。台灣的role最早收到通知,做完written interview後,隔天通知我通過,我死在下一關的線上智力反應測驗,其他role也不用面了。這間的面試過程感覺不輸Google ,writtern interview會跟該role有關,所以每個role都不一樣,而且問題超多,重複性高,主要問各種開發經驗,有沒有用過哪些東西、一些BQ、專業外的興趣是什麼、對於公司有什麼想法 …等等,答得出來的就講詳細,答不出來的就老實說我沒有直接經驗,但跟做過跟這個問題最接近什麼樣的事,如果題目有重覆,就說請參考上面/下面哪一題的答案,再補充一些。只有公司的競爭者有誰、公司該怎麼去競爭,這種我完全答不出來,有問LLM再自己消化後回答,其他都是來自我自己真實的經驗、想法。有要求不能用AI,我自認寫得很認真,寫了兩三天才寫完,寄出後兩天內通知通過。下一關智力測驗有測簡單的邏輯、空間、語言,除了正確性以外,速度也會算分,寫完後會有一份report,我的結果是大部分能力都是average,只有一項低於average,做完後兩天內收到感謝信。 最一開始的信件中有提到,後面還有兩三關面試,感覺全部弄完也要個兩個月,應該是挺花時間的。我對於智力測驗被刷掉沒什麼怨言,但如果智力測驗是deal breaker,應該把written interview放在智力測驗後面,才不會浪費彼此的時間。Ubuntu是這間公司在維護的,如果有機會進到後面的面試,了解一下這間公司的商業模式應該是蠻重要的,為什麼要open source ubuntu,open source的同時,商業客戶哪裡來,怎麼還會願意付錢等等。 結果:做完written interview,智力測驗後,感謝信。 ____________________ Synopsys Test & Validation Engineer 內推後一個禮拜收到一面邀約。 一面實體,三位面試官。只有一面,沒有考試,自我介紹大概20 min,也幾乎沒有對我介紹的東西問問題,只有說我做的東西,應該蠻適合RD的,然後就部門介紹。主要作測試,測試software RD做出來的EDA,能不能用,笨笨的使用者如果沒有照著一般流程操作會怎麼樣,包含手動測試、寫腳本自動測試、效能測試,抓到有問題的東西就要回報給RD。聽起來類似QA,寫code練功的成分感覺比較低。幾乎不會有急件,聽起來很WLB。主管們滿客氣的,過程都笑咪咪問問題,也有問說,我怎麼確保我的碩論實作是對的,對軟體測試有沒有概念,我回答我只知道coverage可能是越高越好,但沒有修過課也沒有經驗。最後說要趕快招人,不然下一個週期會要不到headcount。 還另外內推了好多個職缺,在1~3週後收到感謝信。 結果:面完無聲,寫follow up也沒回。 ____________________ Cadence Software Engineer 104投遞了五六個職缺,只有一個兩天內收到HR聯繫。 線上一面,面試時間蠻短的,總共大概 50 min,10 min 自介,剩下就問C/C++,簡單的OS,介紹部門跟讓我提問。當天打電話約二面。 實體二面,到了先寫一小時的考卷,有簡單的verilog、C++、C、BFS/DFS實作,題目蠻多的,沒有寫完 (主管說是故意設計比較多題的,寫不完正常),然後再一個白板題,難度大約Medium-,邊寫邊討論,主管主動說我這樣做在哪些case會有問題,當下蠻快就想到該怎麼改,解完後問Complexity。白板題解完後,檢討考卷,有些要寫pseudo code,但我來不及寫完,只有描述怎麼做,還有一兩題語法完全答錯。然後再一次介紹職位,簡單BQ後就讓我問問題,隔天約三面。 線上三面,全程英文。先自我介紹大概5 min,接著就考試:給我一段很簡單的code,要我看完之後,給出任何我觀察到的東西,例如這個function在做什麼事情,是不是有什麼bug,可以怎麼修。討論完題目後,超級簡短介紹部門,就換我問問題。Team 大概花40%時間修bug,60%寫新的Feature,還有一部分是把遠古時代用C寫的一些Module改用Modern C++。老闆有提到硬體設計的複雜度每年都在翻倍,客戶對程式會有要求,自然開發壓力就不會小,跟我想像中的EDA WLB不太一樣。老闆分享了一個故事,一個小小的工程師的infra team,幫一個社群平台優化了某個東西後,幫公司每個月省了幾百萬的電費,這種東西一定不trivial,會需要一些insights跟hardwork,這就是工程師的價值。聽起來是可以學到很多東西,可以有很多成長的一個職位。 結果:三面結束,一週後oral offer。 ____________________ 滷肉 BSP Engineer HR主動聯繫,安排一面,一面後約一個禮拜二面邀約。 回去翻筆記,發現滷肉的面試筆記好像被我手殘砍了,所以就憑大概印象簡單分享。 一面有簡報自我介紹,跟一些技術考題 (C),接著詳細介紹部門跟簡單介紹福利。 二面是跟三位高階主管,主管們有明確提到這裡沒有加班文化,加班費也不影響分紅。部門做的事情是參與硬體spec定義,Tape out前會在FPGA上驗證SoC,一直到chip回來後,再驗證一次,然後整個底層、kernel、middleware的bring up,通通都會參與到,感覺可以學到很多東西。領滿一整包150~160,工時聽起來頗高。 結果:二面後四天收到錄取通知,再五天後收到offer。 ______ 滷肉 5G手機, AR, VR 應用環境開發 HR主動聯繫,跟前面BSP一起安排同一天一面。 簡報自我介紹,問簡報內容,接著問技術問題:基本OS, OOP, C pointer, C++ lvalue, rvalue, polymorphism, python lambda, Machine learning的名詞解釋。印象特別深刻的是,當我問主管這個職缺優點在哪,主管馬上笑咪咪的回答:”好玩!因為做的東西很廣 很有趣”,感覺是對技術有熱誠而且活潑的主管。聽主管的部門介紹,確實要做很多東西,C model 跟RTL的比較、軟硬整合、色彩空間演算法、whole board bring up…等等。 結果:一面當下給口頭offer。 ____________________ Phison Firmware Engineer 有自己104投,也有HR主動聯繫,還有些是投了無聲。這間面了兩三個職位,總共6場面試,考的東西網路上都有:C、pointer、bit operation、linked list,網路上的題目中獎率100%,大部分都是出題目給你,要你寫出來,也不太用解釋或是跟面試官來回問constraint,沒有coding interview的感覺。普遍面試時間都拉得蠻長的,自我介紹的經驗、project會問得很細,也會用討論的方式,問你做過的東西有沒有更好的作法。加班費可以報,但是可能會影響分紅,意思是total領的錢是一樣的。上手工作後,可以一定程度的決定自己要做多少事,跟主管討論loading,當然就會反應到考績、分紅上。 最後一個面完後,過兩天HR寄信,通知我錄取了哪些部門,然後請我排序。排序完過三天後,約最後一關HR面談。HR面談蠻輕鬆的,就做一些reference check跟經典BQ,接著就介紹薪資結構、福利。 結果:Offer get。 ____________________ DELL Software Engineer 官網投遞,三天內HR聯繫,會先跟你喬一個大概10 min的時間,透過電話,詢問預期薪資,解釋面試流程,一共二面,需要準備英文5 min簡單自我介紹,並介紹新人上崗後,會先去其他部門輪調,最後才回到原本面試的部門。之後又寄了一封mail,裡面有自我介紹的投影片template,內容包含背景、經驗、優缺點… 等等。講完電話後約線上一面。 線上一面,快速自我介紹完,沒有針對經驗問太多問題,都是直接問有沒有團隊經驗、在實習期間有沒有什麼值得分享的,還有為什麼選擇這個職位、為什麼選擇DELL,我回答因為職缺描述我有興趣也與我的背景相符,再加上DELL的company culture(具體說出來是哪一個)我很喜歡。接著技術考試就切回中文了,考了C pointer,還有給實作到一半的python,分析他有什麼問題,要怎麼改善,沒有用到什麼複雜的演算法或是資料結構,但是要考慮的case 有點多,我沒有在時間內達到全功能。簡單介紹部門後就讓我問問題。 線上一面後一週內約線上二面,面試官是兩位大主管。同一份簡報做英文自我介紹,問一些簡單的BQ後就切回中文閒聊。介紹了部門在做的事情,有軟有韌,沒有Routine的遠端,熟悉後,工作可以部分帶回家做,但還是得每天打卡。兩位主管感覺蠻Nice的,面試過程很輕鬆。工作採責任制,偶爾還是得加班,沒有明確講說一年會忙多久,但盡量Work life balance。感覺裡面蠻自由的,應該都可以在原本的工作上手後,去跟主管討論想做不同的開發或是項目,再加上新人到不同部門輪調的制度,可以稍微看到不一樣的東西。 二面完後一週內,Offer get。 ____________________ RTK DV 官網投遞,大概兩三個禮拜收到實體一面邀約,一開始先自我介紹,對內容問得很細,還有被建議說,碩論實作改善了很多東西,但應該也要提是拿什麼去作trade off、這樣的trade off 值不值得。白板題考了一題資料結構的實作,並且有一些constraint,應該是很簡單的題目,但我因為constraint卡了很久,面試官也有一邊提示,最後沒寫出來。接著用SystemVerilog 考了一點點的OOP,還有給一小段英文spec,要我按照字面意思翻譯。部門介紹:從最一開始開完spec,這個部門就會參與驗證開發,RTL完成前,就要想verification plan,RTL差不多之後就會是這個部門最忙的時候。聽起來摸的到UVM,新人訓練要讀書、常常簡報。工時聽起來略長,8~9AM到,8PM前吃完晚餐走人。 一面完大概一個月,寫了follow up後線上二面邀約。 線上二面一開始先自我介紹,針對介紹內容問問題,這邊問得問題就比較像是想要釐清我做了什麼,而不是challenge 我哪裡做不好。主管表示這個部門對新人友善,新人友善,有很多課程,累積了一些資源,還有一些計畫給新人學習,流動率低,工作穩定。我問主管:會不會一直用legacy pattern、 excel,學不到新的東西? 主管答:公司注重產出,所以要善用自動化的工具,新人一開始還是得學內部的tool怎麼用,但可以去思考這些工具背後的本質,才能給自己帶來成長。 二面後兩週,Offer get。 ____________________
愛心
哈哈
200
29
全部留言