`
升學小幫手
2022-07-25 09:56:14

14 間台商與外商的「後端工程師」面試經驗,英文問題是必考、大小公司看重的不同|面試經驗談

14 間台商與外商的「後端工程師」面試經驗,英文問題是必考、大小公司看重的不同|面試經驗談-後端工程師

文/由 CodingDuck (框框) 授權轉載,並同意修訂標題

圖/freepik

剛剛不知道為啥一直不能編輯補充,只好重發。

謹以此文向 PHEj 大大還願,感謝他在臺灣工程師走出海外的的幫助與鼓勵

TL;DR(編按:摘要)

  • 無聲卡

SonicWall

  • 問了才回

Amazing Talker
ASUS AICS

  • 投遞過久才回覆

Binance

  • 投遞後無下文

MaiCoin
Amazon Ring
Run the world

  • 面試前感謝函

MixerBox

浪 Live
Eatgether
OneDegree

  • OfferGet

Quantrend
ShopBack
Bytedance

約 3Y 學店聯盟資工學士
個人經歷比較特殊,概敘一下
很早就開始碰點小遊戲修改(LF2 的黃金年代),在創作魔獸爭霸三地圖的過程中培養了基本的程式邏輯,下定決心之後拿程式當飯吃,台大的寒暑期程式培訓班都順利過了,反而高中在校成績慘澹甚至沒畢業證書,大學只填了資工系並如期畢業。

接下來遇到了三個貴人,不謝天而是特別感謝一下,此處也是跟大家分享一下我遇到的幾位貴人的樣貌,個人也建議大家如果有幸能遇到這種貴人一定要好好把握,互相學習成長。

1. Jserv

當時是資策會實習時遇見的 Jserv,對程式有熱情的人是會互相吸引的,認識後很快就被他課程公布在線上的介紹吸引,也非常非常感謝他兩次在台北無償跟在下一對一分享的 Linux 入門導覽,我既不是成大的學生,亦非他任何計畫的合作夥伴,他願意這樣花時間跟我教學我真的非常感謝他。

當時連著兩學期每週台北台南跑就為了上他的課,他的嵌入式系統設計個人認為可說是對於資結OS計組的一次重點複習及融會貫通,很硬,要花時間額外讀,但真的值得一修,其實我懷疑我是系裡第一個正式申請非聯盟外校跨修抵免學分的,因為我拿學校的申請表給班導+系主任+系辦簽名時每個人的表情都很疑惑,甚至問我這是什麼東西XD
Jserv 也是很拼命每次 8 點下課後還會在圖書館跟我們補充知識討論到 10/11 點。

也是在 Jserv 的建議下,我在畢業前就已經簽好 Offer,畢業後很快就上工了。

2. 大師

尊重他為人低調,僅留尊稱。

還是一句話,對程式有熱情的人是會互相吸引的,這位是工作上遇見的夥伴,如果說 Jserv 是讓我知道了資工學生該具備的知識,大師就讓是讓我知道了工程師該具備的素養。

感謝大師不管在上班時下班後放假日都不斷的提點我該讀哪些知識,如何規劃職涯,寫 Leetcode 的正確姿勢,趕緊去學英文等。
感激不盡請受小弟一拜。

3. 隊長

在其中一份比較艱困的環境中,我待的 team 內隊長領著 Senior Engineer 錢做著 Tech Lead 的工作還身兼 Manager 的職能幫我們規劃職涯的發展,帶我走進 SRE 的世界再協助我走回 Backend 的道路。並且也推薦了我不同學習英文的方式以及多次的履歷健檢,感激不盡。

最後感謝一下組內的小夥伴們,有了你們的幫忙我才能有更多時間認真準備不同間的面試,你們最棒惹

以下各公司簡略面試心得

上班主用語言為 `C++11/Go/Python`,解題寫白板採用 `C++11`

1. SonicWall 面試心得

由 Engineer 直接突襲式的 phone screen.
主要問 Infra 架構上的經驗,還花了大量時間在討論和同事的相處上,有一串問題我印象深刻。

面:你程度還不錯,這樣你會不會很看不起程度比較差的同事。
我:當然不會呀,大家學術各有專精,討論也是對事不對人,不會去看不起誰呀。
面:那如果你遇到可能程度真的比較差,問了很傻問題的同事怎麼辦?
我:討論本來就是意見交流,有理解不 sync 的地方就慢慢互相溝通,也說不定對方旁觀者清反而能點出我的盲點呀。
面:那要是你遇到真的真的相處下來覺得一無是處的同事怎麼辦?
OS: 這公司怎麼會找這種人進來= =?
我:我沒有遇過這種的,大家還是就事論事,任何事情都是對事不對人,我沒遇過也不認為自己有資格認定別人一無是處。

台灣分部好像傾向找比較 Junior 的人,聽到預期薪資後明顯語有難色,說會回報 Hr 之後再做通知。

我:不會無聲卡吧?
面:應該是不會的。

然後就無聲卡了。

2. Amazing Talker 面試心得

要寫作業跟作文,作業屬於一個可大可小的 Project(把 Infra 的部分做完整就可以大很多),就是時間比較趕要在兩天內回覆。
回覆後就沒下文了,沒下文近兩個禮拜後寄信過去問得到簡短「綜合評估不通過」的回覆。

但在作業查資料的過程中也學到一些不同的知識,不論這份作業結果如何當個練習都是不錯的。

3. ASUS AICS 面試心得

同事朋友內推 Backend 後收到一個前端的線上 Codility 題目,需要寫 Vue.js
呃...做完後回信請 Hr 幫忙確認直接石沈大海。

再次請同事朋友幫忙問 Hr 之後高速收到新題目及 online interview 的時間。
OS:都進 Online interview 了那我這題目還要寫嗎!?

Online interview 兩面

第一面相談甚歡,題目秒殺,在 Share doc 上面給了一個不小心有 typo 的最佳解,對方看邏輯正確就開始討論工作了,我提問了一些有關 AICS 目前方向的問題。

第二面的面試方式比較獨特,開場請我關攝影機後請我敘述一下我對 AICS 的了解,然後被吐槽了瞭解不夠深。
接著出題,當我想要用 Think out lound 的方式敘述我的思路時被要求直接想好給出最佳解就可以,最好是在 Share doc 上給出直接 Compile & Run 就能過的那種。

最後給了個時間複雜度相同的次佳解。

接著就無聲了兩個禮拜,寄信後獲得感謝函。

14 間台商與外商的「後端工程師」面試經驗,英文問題是必考、大小公司看重的不同|面試經驗談-後端工程師

4. Binance 面試

11 月官網投遞後...隔年 2 月底收到電話面試邀請。
但我已經接了其他 Offer 故婉拒。

5. MixerBox 面試心得

這家是我比較早期投的一家,那時候還沒有認真跟小夥伴們做過 Resume review,也還沒上英文課跟外師討論過,所以寫出了一篇錯誤百出的英文履歷,也很自然的光是丟出履歷就收到感謝函了,但至少他們光寄履歷去不過都會有感謝函,這態度還是很有禮貌的。

6. MaiCoin
7. Amazon Ring
8. Run the world

官網投遞後無下文

9. 浪 Live 面試心得

先是 Hr phone screen 之後現場

現場寫了些過於簡單的題目,記得是生成等差數列之類的,考了點 Clojure 的概念。
現場討論集中在 Message Queue 的應用及 Redis

這個面試發生的比較早,當時對於 Redis 的準備確實是不夠的。
(工作上沒用到,僅是聽了幾次 Backend 版的淺談以及自己讀了一些 Usage)

被問倒了,後來有特別讀了並整理筆記,實作了一次 rate limiter 作為練習才比較熟悉。

10. Eatgether 面試心得

CEO 很輕切,想尋找喜歡自家產品的人,方向不合。

11. OneDegree 面試心得

先一次 HR phone screen,問一些 classic problem
到場後相談甚歡,在白板上討論了一些架構的應用場景

Message Queue 的應用,現有 Infra 該如何 Continuous Integration 之類的。
除了對 Database 的熟悉程度不如預期之外相談甚歡,甚至結束後還應邀請再跟工程團隊多聊了一下,還跟 Huli 大大握了手。

然後就收到感謝函了。

Um...?

12. Quantrend 面試心得

寫了一份很雜的 Codility,從一般算法題 -> Git -> Docker -> SQL -> General Q&A 都有
時間也是偏長,整整三個小時的時間可以寫。

CTO 跟 CEO 都算是知名人士,公司又一次的是在特別貴的位置,比較特殊是寫 Rust,但鑑於 CTO 似乎也尚在熟悉中,因此討論大多聚焦在 Infra 及公司未來走向的部分,求才若渴,很急特別急那種,幾乎每個 HeadHunter 都問我投過 Quantrend 了沒。

此外有意思的是早上聊完下午回原公司上班時突然接到電話,說早上不夠盡興等等再過來聊個三十分鐘好不好,實在是......讓我比較尷尬,只能說可能比較新創階段規劃沒那麼嚴謹吧。後因薪資+團隊氣氛+合約內容的綜合因素未接 Offer

13. Shopback 面試心得

首先 Phone screen classic question.

接著要寫作業,後來恰逢公司政策改變,HR 詢問後改為線上白板題。
在面試官的引導下給了一個面試官自己都沒想到的最佳解XD

Onsite 後是三關車輪戰,共三小時多,辦公室氣氛很輕鬆,但同時又掛了有壓力的標語。

第一關考算法,題目為「給定一個二維矩陣 m*n,每格內為 0 or 1,把所有數字 0 所在的行列全改為 0,更改後的 0 不影響該行列」。

不難,首先給出 Time O(m*n) Space O(n) 的解法,引導後給出 Time O(m*n) Space O(1) 的解法。

第二關考 System design
Classic 設計短網址的題目,相談甚歡,在引導下不斷改進及完整方案,就是可惜 NoSQL 的部分還不熟這部分提示後無法應用上,僅使用正規化後的 RDB。

第三關是 VP 面
主要考英文(?)跟 Culture fit,問了很多人格特質相關的問題,團隊如何合作,喜歡怎麼樣的團隊,Classic 級分析自己的優點跟缺點等問題。

後續還在 HR 的安排下又遠端跟 VP 以及 Manager 各聊了一些團隊目標,Tech stack 等方向,給的薪水也算有滿足期望薪資,稱讚一下 HR 很敬業也很親切。

14. ByteDance 面試心得

共四面,前三面都會帶白板題,有機率不只一題,扣掉討論背景或系統設計的時間建議 20 分鐘內寫完。
且每一面討論的側重點不同,從經歷,程式語言的學習深度,再往外推到 system design。
HR 也不免俗的會問一些 Classic behavior quesiton

並且這麼多公司討論下來 ByteDance 是唯一一家面試官有認真跟我討論 Programming 並且到後面把我問倒的公司。
(指語言標準庫實現,特色機制,核心思想等)

此外我認為這也體現了不同公司對於語言程度的不同需求,隨便舉個以基本的 Closure 概念來說,部分公司面試體現出的是只需要"知道是啥不會用錯就好"。

但在 ByteDance 我認為在面試時他們體現出的是 "你知道這是啥,你理解這東西的特性,你還知道他為什麼被設計出這樣的特性",我個人就有從此體會到他們對於技術的追求。

HR 效率也跟前敘的一樣快,都是面完當天就收到反饋了。

要 Relocate 確實是個要走出舒適圈的挑戰,去不去?
當然去,因為我想成為一個更有能力的 Software Engineer。

最後總結一下面試的準備方向,個人認為不同的公司準備方向也不同,只有英文是共同的。

0. 英文
多講,錯誤百出也要講。

個人參加了兩個課程。

第一種課程:自家附近的英文補習班,閱讀發表相關的課程。
主要是每週一次主題閱讀及討論的課外加每個月一個 10 min presentaion 的課程,持續了約兩年左右。

華裔外師,班上人不多,四五個人而已,大多是高中生,但他們都建中大安的英文甩我幾條街Orz

蠻便宜的,一堂課三百塊左右,一個小時半。

第二種課程:AmazingTalker,找老外的 Human Resource 當老師,幫忙看履歷及專門準備各種 Classic behavior quesiton。

一週一次,五百塊左右,一個小時。
下面是我的邀...沒有這麼勢利啦 XD

技術方面的準備方向網路上很多,按照各自職能的 Roadmap 下去準備就是了,這裡不贅述。

小公司重知道,能用,常見組件走一輪,大公司會需要理解核心思想,如何實現,功能存在的意義。

以下用案例來形容準備程度,我用一個準備了沒用到的例子來類比。

Q:喔用過 GO 嗎?
A:有
Q:什麼時候用?
A:記得用來關 conn 跟 fd
Q:用過喔,多個 Defer 順序怎麼排?
A:後進先出
> 接下來是大公司才會問的
>
Q:說說 Defer 的具體實現
A:大概就是維護一個 Stack 塞 Callback 進去
Q:那你覺得在什麼場景這個動作的開銷影響會變很大
A:在 For 迴圈內放置 defer 並連續處理一些開銷不大的邏輯會有比較大的區別
Q:那我們如果這點開銷都不想要,是不是可以完全不要用 Defer 手動控制類似 file 的 close 就可以了?
A:看場合,在有可能 Panic 的場合依然要用 Defer 去處理避免 Leak。

刷題重質不重量,我 Leetcode 數量其實很少,大概三百多題而已,重點是知道這個題目的類型及延伸方式,要知道這題解法和意義,確定自己是最佳解,這部分可以看 Discuss 也可以上網找,時間和空間複雜度務必理解,這是用來思考題目解法的先決要素,不知道自己答案的複雜度就不會知道自己解完這個題目了沒。

最後還是推薦 Cracking the Coding Interview 走一輪,而且不能是翻過而已,是要能教別人那種,建議拿同事當教學實驗品XD

學無止境,共勉之。

延伸閱讀>>>


原文連結: https://www.1111.com.tw/1000w/fanshome/discussTopic.asp?cat=FANS&id=243316

圖片/影音/資料來源 :  面試經驗談-職場百味

(若有冒犯或不妥之處,請及時聯繫我們,將立即下架刪除,謝謝!)

※本文由 面試經驗談-職場百味 授權轉載※

相關推薦

  • 讀取中..

回覆數(5)

會員登入 (先登入會員才能回覆留言喔!)