S1E38 矽谷資深軟體工程師後疫情時代面試心得 Facebook/Robinhood/Coinbase/DoorDash
2020 年是個動蕩不安的一年,因為疫情的關係,很多公司都在年中進行了規模不小的裁員,包含大家耳熟能詳的 Airbnb、Uber、Lyft、Yelp、LinkedIn、Mozilla、Intuit、Salesforce 以及 WeWork 等等族繁不及備載。根據 layoffs.fyi 的統計,這波裁員潮集中在今年的 3 月到 7 月,8 月以後逐漸趨緩。
這對於在這段期間要找工作的絕對不是件好事,因為很多人被裁員,意味著同樣的職缺會有更多競爭者,也因為景氣不好以及疫情不確定性的關係,很多公司開始減緩招人的腳步。不過 7、8 月以後情況逐漸好轉,隨著美國各大城市解除封城,人們意識到必須跟疫情共存好一陣子,於是實體經濟活動恢復了,美國人畢竟是擁有自由的靈魂不能隨便被囚禁的呀!最近是美國各公司的財報季,各大科技公司紛紛發布第 3 季的財報,表現都非常好,也應證了在疫情下經濟轉好的事實。
我在 8 月下旬的時候開始投遞履歷,9 月初開始電話面試,10 月中結束 Onsite 面試 (都是線上進行),面試了四間公司:Facebook、Robinhood、Coinbase 以及 DoorDash,最後拿了前三間公司的 Offer,級別都是資深工程師。在這篇文章我會分享各公司的面試流程以及體驗、我做了什麼準備、怎麼談薪水以及我最後的決定,希望可以對在美國求職的人有幫助!由於有簽保密協定的關係,我只會提到面試的流程,不會提到具體的題目以及 Offer 數字。
Medium 文章好讀版 https://bit.ly/2Ii9vLc
Apple Podcasts https://apple.co/36fLCMh
Spotify https://spoti.fi/2IcyJdv
#面試的動機
蛤!?面試不就是為了換工作嗎?對大部分的人或許是如此,但對我而言這次並沒有非換工作不可的理由。我在 Square 待了三年多,整體的滿意度一直都很好,公司的股票從我加入以後基本上都是一個上漲的趨勢,最近也來到歷史新高。一年多前從 Android 開發換到後端的 Traffic Infrastructure 組以後,更是一直處在學習的狀態,了解怎麼規模化公司的後端架構,支援更多的應用場景,工作上也需要一直動腦,思考各種方法的優缺點、我們為什麼要這樣做並且撰寫許多技術文件,負責的專案也很有影響力,最近的成果是把公司很重要的 reverse proxy 升級成 Envoy,讓系統的效能更好並且支援更多新的功能。或許因為疫情一直在家工作的關係讓我有點工作倦怠,但這個倦怠並不是源自於工作的不開心,而是真的在家太久了,很需要好好放個長假讓腦袋放空充電一下。
言歸正傳,這次面試的主要目的是測試自己的市場價值,看看自己能否適應資深工程師面試的強度,畢竟上次面試已經是四年前了 (當時的面試心得),很多當時對於面試的理解也需要進行修正,我的心態是保持開放的態度,如果遇到很好的機會,當然可以考慮換工作,沒有的話待在現在的公司也很好!另外我自己過去的主要經驗都是 Android 行動開發,在後端只有一年多的經驗,也很好奇這些公司會不會讓我面資深後端的缺,還是會將我過去經驗打折?事實證明是我多慮了,我面的這幾間公司都有把我在 Android 的年資完整算進去,最後也給了我資深軟體工程師的 Offer,Facebook 甚至幫我安排 E6 (Staff Level) 的面試,只是因為系統設計表現得不夠好,最後給我的是 E5 (Senior Level) 的 Offer。
我還蠻建議大家即便沒有特別想換工作,也可以定期去外面面試看看,在沒有非換不可的情況下,習慣面試的緊張感跟壓力,這樣會讓你以後的面試更自在,跟面試官可以像是在平常工作時一樣互動,發揮自己的實力。一開始會有這個觀念是在幾年前讀 hello, startup 這本書時看到,作者建議大家每一年定期去外面面試,審視自己的能力,進而補足自己不夠好的地方,當然我覺得每一年對一般人來說可能有點難,畢竟邊工作邊準備面試不是易事,而且還得跟公司請假去面試,但至少每兩三年可以去外面看看,避免自己的能力跟求職市場脫勾太久。在矽谷以專門招收資深工程師聞名的 Neflix 甚至在他們的文化守則裡提到:「員工的薪水取決於他們個人最高的市場價值,我們鼓勵員工去外面面試並且跟他們的主管討論,我們認為這是健康的行為。」
#資深工程師的優勢
在一般情況下,5 年以上工作經驗可以面資深工程師 (L5) 的職位,10 年以上工作經驗可以面 Staff level (L6) 以上的職位,我有約 6.5 年的工作經驗 (3 年台灣 + 3.5 年美國),所有公司都是讓我面資深工程師以上的職缺。
這次找工作我感受最深刻的事情就是:我再也不用海投一大堆公司了!四年前當我還是求職市場裡的菜雞的時候,投了超過 150 間公司,只有 1x 間公司回應我,轉換率不到 10%。這次 Facebook 跟 Robinhood 都是 recruiter 主動從 LinkedIn 聯繫我進行面試邀請,Facebook 的 recruiter 更是從 2019 年初就開始定期聯絡我,到後面我真的不好意思持續拒絕她,於是接受了面試的邀請,真的還蠻感謝她不斷地嘗試,讓我定期思考一下要不要面試。Coinbase 跟 DoorDash 我都是從官網直接投履歷,沒有透過內推,一個禮拜內就收到了 recruiter 的來信,而這也是我唯二主動申請的公司,真的從以前我找工作,到現在變成是工作機會找上我了。
另一個很大的改變是:刷題不再是最重要的一環。隨著你越來越資深,系統設計跟行為面試所佔的比例也會越來越高,而且除了年資以外,這兩種面試的表現基本上就決定了你的職等,Facebook 的 recruiter 也在電話中跟我說,針對比較資深的應徵者,Coding 的要求會比較寬容 (lenient),所以建議大家不要對刷題過度著迷,一昧的追求題數不是好事,而是應該重質不重量,題目是無限但觀念是有限的。
最後一個體悟是在拿到 Offer 之後,談判的空間變得很大。美國科技業的求職市場一直是呈現一個兩極化的狀態,對於剛畢業的人來說,競爭者多而且職缺少,公司有較高的話語權。但是當你是資深工程師以上的時候,情況就反過來了,大多數公司不管景氣如何,任何時候都在招有經驗的工程師,職缺一直開在那但總是招不滿。上次找工作的時候,能夠讓公司提高年薪 1 ~ 2 萬美金就歡天喜地了,但是這次有兩家公司給我的初始 Offer 跟最終 Offer 都差了好幾萬美金。
#準備過程
軟體工程師的面試主要分成三種:Coding、系統設計以及行為面試。我自己是花比較多時間在系統設計上面,再來是 Coding,最後是行為面試。
關於系統設計的準備,我在軟體工程師系統設計面試準備指南有比較完整的介紹,這邊補充說明一下,準備系統設計最好的方法是來自於工作,最好你工作上就是要去思考怎麼設計系統,各種方法的優缺點以及思考各種 edge case 以及解法,這樣子學到的深度跟廣度都遠多於看那些準備素材。如果工作上沒有碰到也沒關係,可以先從 system design primer 看起,理解系統設計的各種面向。另外我推薦看一些公司的 Tech talk 來了解他們實際上怎麼設計系統,為什麼要這樣做以及不同方法的 Trade-off 又是什麼,理解為什麼要做這個決定是最重要的。如果已經接近面試了,建議可以看 InterviewBit 的系統設計篇,總共有八題,我認為寫的還蠻好的,比 Grokking the System Design Interview 還深入,看個兩次完整理解以後對面試很有幫助。
Coding 的部分我還是要再強調一次,不要過度迷信刷題的數量,應該要重質不重量,重點放在在訓練你的解題思維以及邏輯思考,練習使用常見的資料結構並且把想法轉成可以執行的程式碼。剛開始寫題目的朋友,我會建議相同的題型一起刷,培養對同類型題目的敏銳度,題目難度主要以 Medium 為主,搭配少量的 Hard 題。
很多題目一開始寫不出來,或是寫不出最佳解是很正常的,如果一題你卡超過一個小時,建議可以參考討論區的最佳解,但是切忌直接照抄別人的解答,因為那可能不是最適合你的方式,比較推薦的方式是你去理解背後的演算法,清楚地知道每一個步驟,再用你自己方式寫出來,這樣即使換了一個程式語言,你應該也可以寫得出來。當你開始發現沒看過的題目你也可以自己想出最佳解,並且實作出來,程式碼也很精簡,那代表你已經成功培養出解題的思維了。
我自己還會做一件事,就是想辦法分辨好的題目跟壞的題目,有一些題目的答案很明顯就只適用於這一題,用一些很特殊且不好理解的方法、實際上工作也不可能用到,這類型的題目我就不會花太多心思在上面,如果真的被考到,我會認為這是面試官的不用心。相反地,有一些好的題目:在觀念上很實用、有好幾種解法、工作上有機會用到或是系列題,這種就很值得練習,比方說 Graph 或是 Design 題就是我很喜歡的類型。
雖然說題數不重要,還是提供我的數據給大家參考,我在寫了 50 題的時候開始安排電話面試,最後一個 Onsite 結束時寫了約 120 題,我是以比較新的題目以及高頻題為主。
最後是行為面試,要再細分的話可以分成兩種,一種是 Project Deep Dive,你選一個你最近做過的專案,解釋一下專案內容、解決了什麼樣的問題、你的角色是什麼、最後的成果以及中間遇到的困難,另一種面試是來判斷你是否符合公司的文化以及價值,衡量你過去解決衝突跟溝通的能力。不管是哪一種面試,只要你好好回顧你過去做過的事情,能夠完整講述前因後果,把自己的故事清楚地講給面試官聽,輔佐一些例子,基本上就不會有太大的問題。
#遠距面試 #VirtualOnsite
因為疫情的關係,大家都在家工作,所以所有的面試包含電話面試都改成線上視訊進行,這個情況至少要到 2021 年的夏天。遠端面試的好處就是你不需要舟車勞頓,時間安排上也比較彈性,但是壞處是跟面試官的溝通比較沒那麼順暢,線上的交流絕對是沒有實體見面來得好,而且有的面試官網路很差,我甚至有遇到差到面試官需要把影像關掉的情況。
另一個要注意的點是,系統設計的面試會需要用到線上白板來畫圖,我自己覺得沒有實體的白板順暢,主要有兩種方法,你可以使用 iPad 搭配 Apple pen,或是用鍵盤滑鼠直接拉,選一個自己習慣的方式,面試前稍微熟悉一下白板軟體的使用,面試也會比較順利。
#DoorDash
第一輪是一個小時的電話面試,前 20 分鐘聊過去的工作經驗以及這個組在做的事,後 40 分鐘 Coding。題目是一道經典的 Hard 題,我對於該題印象很模糊,於是在面試中慢慢想,最後是有跌跌撞撞的寫出來,當時自我感覺良好,面試官給我的感覺也蠻算滿意的,但是隔天還是收到了拒信。事後回想應該是因為這是經典題,所以標準相對高,我並不是一次就寫對,而是慢慢修正,所以相對於其他應徵者表現不算太突出。
#Robinhood
他們家固定有兩輪各一個小時的電話面試,第一輪前 15 分鐘給你一段程式碼,要找到潛在的 bug 並且問你要怎麼修正,後面 45 分鐘 coding,題目比較偏向 Robinhood 工作上會遇到的演算法題。第二輪是系統設計,這是我第一個系統設計面試,微緊張,原本以為表現不夠好,但從 recruiter 那得到的反饋是還蠻好的。
Onsite 出乎我意料只有三輪,一輪 45 分鐘 coding,一輪一小時的系統設計,以及 45 分鐘的 Project Deep Dive,Coding 也比較偏向實作工作上會遇到的問題,面試官提到不用特別在意效能,以實作出來並且跑過測資為主,最後 10 個測資我只過了 9 個,不算完美。接下來兩輪跟面試官都聊得蠻開心的,並且有蠻不錯的討論,最後順利拿到 Offer!面 Project Deep Dive 有個小插曲,面試官到一半網路突然掛了,他後半段只能打電話加入簡直尷尬。
#Coinbase
Coinbase 的面試體驗是所有公司裡最讚的!從面試的流程跟題目都可以感受到他們的用心,面試官的平均素質也很好,你可以感受到他們是真心想要認識你這個人,面試過程中對於很多問題都有深入地討論,對於我問的問題他們往往也能給出很好很真誠的答案。
不過他們的面試過程也是最累的,電面是一小時的 Coding,Onsite 總共有五輪,其中居然有兩輪各 90 分鐘的 Coding!你可以在自己的電腦使用平常的開發環境,並且分享螢幕,題目不是傳統的演算法題,而是要你實作一個小型專案,其中一輪是實作一個小遊戲,另一輪則是實作一個系統,最後要 call Coinbase 的 API,所以對於送出網路請求並且處理 JSON 要有一定的熟悉度才行。整體的面試過程還蠻好玩的,面試官也會幫你,但一輪 90 分鐘真的有點太久。另外有一輪一小時的系統設計,以及各 30 分鐘的行為面試跟 Hiring Manager 面試。總共五輪五小時,中間休息一小時,面完真的氣力放盡了。我對整體的表現還算滿意,沒有一輪有感覺明顯不好,最後順利拿到了 Offer。
#Facebook
雖然 Facebook 都是進去以後再經過 Bootcamp 新生訓練選組,但是應徵的時候就要分不同的 Track,主要的分類有 Product、Infrastructure、Android、iOS 以及 Machine learning,Coding 的部分應該都差不多,而系統設計會根據你選的 Track 而有所不同。recruiter 一直建議我選 Android ,畢竟我的履歷上 Android 還是佔了一大部分,她提到 Facebook 現階段非常缺 Android 的人,不過她也補充說明這不代表面試的標準會比較低就是了。我最後還是堅持選擇面 Infrastructure,這樣對我來說準備起來比較方便,不用再額外花心思準備 Android。
我的 recruiter 覺得我可能也適合面另一個職缺 Production Engineer,於是就介紹了另一個 recruiter 給我,我可以選擇同時面兩個缺,最後如果拿到兩個 Offer 可以到時候再決定。實際聊過以後我還是婉拒了,因為不想花時間準備 Linux System 面試。
我們也聊到了預期的級別,她說以我的經驗我可以選擇面 E5 或 E6,這讓我感到蠻意外的啦,平心而論我認為不管是年資和能力我都還沒有到 Staff Engineer 的水準,不過既然 E6 只比 E5 多一輪系統設計面試,我就大膽地挑戰 E6 了!
Facebook 除了系統設計是一小時以外,其餘的面試都是 45 分鐘,電話面試是一輪 coding,Onsite 總共有五輪,兩輪 coding、兩輪系統設計以及一輪的行為面試。最後 Facebook 給了我 E5 的 Offer,原因是兩輪系統設計一輪還不錯另外一輪普普,沒有達到 E6 的標準。
雖然我最後有拿到 Offer,但我還是必須說 Facebook 的面試體驗蠻差的,面試官給我的感覺是他們不在乎我這個人,只想趕快在有限的時間內盡可能地蒐集一些訊號來判斷我有沒有通過,我並不反對有效率地蒐集一些訊號,但是面試是雙向的,作為應徵者的我們同樣也在面試這間公司,面試時我也在看未來我會不會想要跟這個面試官一起工作?而 Facebook 在我的標準裡顯然是不及格的。當然也有可能是我運氣不好,剛好遇到這樣子的面試官,但這也代表 Facebook 對於面試官的訓練不夠嚴謹,導致素質參差不齊,又或者是面試體驗並不在 Facebook 優先考慮的事情,不管是什麼原因,這都是一個警訊。
這個現象在 Coding 面試尤其明顯,面試官就是在看你能不能在有限的時間快速寫出最佳解。不過我倒是沒想到在行為面試也會遇到一樣的問題,我的面試官就按著他預先準備好的問題一個一個問,大部分的時間他的眼睛都盯著螢幕在做筆記,我實在是不確定他有沒有在聽我說話,有時甚至還會問我剛剛已經回答過的內容。
除此之外,Facebook 要求在 45 分鐘內解出兩道程式題,通常都是 LeetCode 原題並且要求最佳解,即使這種面試或許對我是有利的 (其中一輪我只花了 30 分鐘就寫出兩題的最佳解,然後我們閒聊了 15 分鐘),但我認為這種填鴨式的面試方式完全不能反應一個人的工作表現,這或許可以招到一定聰明程度以上的人,但是他們不一定是個好的工程師或是很好合作的人。我認為維持這種大考式的 Coding 面試也是一種偷懶的表現,但這個面試形式卻會深深地影響招進去的人的類型,是我的話我會盡量避免跟這類型的人合作,因為我認為思考過程跟溝通比你能不能快速寫出最佳解還要重要。
如果這段文字有冒犯到在 Facebook 工作的朋友的話,我在這邊先說聲抱歉,但這確實是我面試完以後真實的感受。
#談薪水
近年來由於 levels.fyi 的關係薪水變得越來越透明,這對求職者來說是個好事,你可以知道某公司的某個級別合理的薪資範圍在哪裡。如果你對談薪水這個主題有興趣的話,可以參考這兩篇經典文章:
1. Ten Rules for Negotiating a Job Offer https://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/
2. How Not to Bomb Your Offer Negotiation https://haseebq.com/how-not-to-bomb-your-offer-negotiation/
我自己談薪水的策略沒有那兩篇文章寫得那麼複雜,我認為最重要的原則是誠實,不要假裝你拿到其他公司的 Offer,也不要虛報你其他 Offer 的數字 (即便這個數字是合理的),你可以選擇性揭露你的資訊,對方問到你不想揭露的資訊時,你可以禮貌地說你不方便透露,但絕對不要說謊。
公司在給你 Offer 的時候會考慮到很多因素:年資、面試表現、現在的薪水以及職等、其他公司 Offer 以及其他的面試者等等。這其中大部分資訊我們是不會知道的,比如說每個因素佔的比重、總共有多少面試者、我們在所有面試者裡面的表現如何,而且年資跟面試表現基本上已經確定了,所以實際上你能夠用的資訊就是其他公司的 Offer 或是你現在的薪水以及職等 (當然是要比較高才有用)。
當然最有用的談判手段,就是你拒絕掉這個 Offer 也沒關係。公司招人需要成本,從一開始收履歷、電話面試到 Onsite 面試,他們已經在你身上花了這麼多時間,也給你 Offer 了,所以在這個階段公司也很希望你能加入,除非這是你夢想中的公司,你很怕談薪水所帶來的風險,不然一般來說求職者在這個階段是有比較大的話語權。
另一個建議是請把 recruiter 當成你的夥伴,通常他們是要看業績給獎金的,所以她是跟你站在同一陣線,要幫助你跟公司談出更好的薪水說服你加入。Facebook 的 recruiter 這方面做得很好,她很多資訊都很透明地分享給我,包含這個級別可以拿到最好的 Offer 以及我的面試表現,一開始給我初始 Offer 的時候還告訴我這只是標準包裹,她不預期我會接,整個很 Real!後來給我的 Offer 也比原來的高出了不少,並且我如果下定決心要加入 Facebook 的話,她可以幫我要到這個級別的頂包。
Robinhood 也對我蠻有誠意的,在過程中不斷溝通,安排我跟主管以及同事聊天,有必要的話還可以讓我跟上面的 VP 聊聊,解答我對於 Robinhood 所有的疑惑。後來在得知我有 Facebook 跟 Coinbase 的 Offer 以後,給了一個很有誠意而且超過 Facebook 的 Offer,真的是受寵若驚。Coinbase 給的 Offer 相對前兩家低了不少,而且往上談的空間不高,他們給的理由是他們現在使用的估值是兩年前募資的數字,所以實際上的股票價值遠高於那個數字,而且他們 Refresh 也會給的比較大方,讓你在四年以後薪水不會降。
#最後的決定
我在選擇公司時,通常會考慮三個點,第一個是這個職位本身,我在什麼組、負責的產品、使用的技術、發展的機會以及同事跟主管的做事風格等等,盡可能知道每天工作的樣貌,判斷自己未來的開心程度。第二個是關於公司,我會問自己兩個問題:
1. 公司的文化跟價值我是否認同?人生很短,千萬不要浪費時間在幫跟自己核心價值不合的公司賣命。
2. 我是否相信公司所描述的願景,公司在未來的 5 ~ 10 年內能持續成長並且有好的發展嗎?
第三個是薪資結構,包含了底薪、股票、簽約金、獎金以及 Refresh 等等,來預期未來幾年的薪資。
除了以上三點以外,還得考量到現在都是遠距上工,跟同事以及主管建立感情也相對比較困難,所以在新公司的適應難易度也得列入考慮。在綜合考量之下,我這次還是選擇先留在 Square,或許明年再看看有沒有更好的機會!
如果這篇文章有幫助到你,歡迎按讚拍手,有任何問題也可以在底下留言,或是私訊給我們也行!
「machine learning engineer面試」的推薦目錄:
- 關於machine learning engineer面試 在 矽谷輕鬆談 Just Kidding Tech Facebook 的最佳解答
- 關於machine learning engineer面試 在 半路出家軟體工程師在矽谷 Facebook 的最佳貼文
- 關於machine learning engineer面試 在 矽谷阿雅 Anya Cheng Facebook 的最讚貼文
- 關於machine learning engineer面試 在 [心得] 2022 台灣ML 面試心得(AMZN/GOOG) - 看板Soft_Job 的評價
- 關於machine learning engineer面試 在 #分享機器學習工程師面試經驗分享(下) - 軟體工程師板 | Dcard 的評價
- 關於machine learning engineer面試 在 如何准备一场机器学习(Machine Learning)面试? - YouTube 的評價
- 關於machine learning engineer面試 在 機器學習面試的問題包括PTT、Dcard、Mobile01,我們都能 ... 的評價
- 關於machine learning engineer面試 在 機器學習面試的問題包括PTT、Dcard、Mobile01,我們都能 ... 的評價
- 關於machine learning engineer面試 在 機器學習面試的問題包括PTT、Dcard、Mobile01,我們都能 ... 的評價
- 關於machine learning engineer面試 在 Machine Learning Engineer 面试总结|facebook面经 - 一亩三分地 的評價
- 關於machine learning engineer面試 在 Facebook / Meta ML engineer interview (questions, prep, and ... 的評價
- 關於machine learning engineer面試 在 DevOps engineer 面試經驗分享 的評價
machine learning engineer面試 在 半路出家軟體工程師在矽谷 Facebook 的最佳貼文
敝公司一年一度的海外人才招募開始了
去年及前年也有分享過, 和過往在新加坡或北京舉辦面試會不同, 這次所有面試都是線上舉辦歐!
海外直接招募職缺都是軟體工程師 (Software Engineer) , 招募 5 個專業的工程師,希望有以下條件:
Android: 三年以上 Android 開發經驗, 七年以上軟體工程經驗
iOS: 三年以上 iOS 開發經驗, 七年以上軟體工程經驗
Backend: 七年以上軟體工程經驗
Full Stack: 七年以上軟體工程經驗
Machine Learning: 三年以上 Machine Learning 開發經驗, 七年以上軟體工程經驗
9/4 之前接受申請或內推, 9月到 11 月底前面試, 得到工作的話就會幫忙辦明年 4 月的 H1B 工作簽證, 考量到疫情關係許多公司沒有在招人, 明年 H1B 可能比較不激烈?!
如果不想要簽證的不確定性及明年才能上工的等待, 敝司倫敦辦公室也持續招人, 而且亞洲包含台北、上海、香港、新加坡、東京、首爾也有不少職缺, 這些辦公室工作簽證比美國好處理, 希望各路好手一起來挑戰, Make the world more open and connected. 🌍🌐💁💁♀️
machine learning engineer面試 在 矽谷阿雅 Anya Cheng Facebook 的最讚貼文
五分鐘讓矽谷獵頭找到你(上)
經常有粉絲請我幫忙介紹矽谷工作,第一件事情我不是請他們寄履歷給我,而是請他們傳給我他們的Linkedin連結,因為在美國,越來越多獵頭只用Linkedin找候選人,先看Linkedin背景、直接拿Linkedin連結給面試官們,我還遇過連面試都完了,最後要給offer純粹是為了建檔才跟我要履歷的。
不過,要怎麼樣在獵頭在Linkedin上找到你,最簡單第一步是你名字下面的標題,那裡寫的不是你是誰,而是讓獵頭找到你的搜尋關鍵字,以及吸引他們聯絡你的專業摘要。
你的Linkedin標題是獵頭搜尋的關鍵字!
想想,如果你現在的工作是「某某小公司專案經理」,可是你想找的工作是「科技業行銷經理」,那獵頭一用關鍵字搜尋,根本找不到你,就算找到,一看到你的標題,大概也直接跳過,而且你的「某某小公司」公司名稱,如果不是像臉書谷歌這樣的公司,獵頭也不會搜尋你公司名字。
所以,標題到底要寫什麼呢?標題要寫你要找的工作的關鍵字,包括職稱、產業、專業技能。當然,這些一定要是你曾經有過的職稱、待過的產業、會的專業。
重點不是你做過,是「你要找的!」
1. 職稱:
✅ 軟體產品經理:Product Manager最常見。其他還有Product Owner, Product Specialist, Technical Product Manager等。
✅ 專案經理:Program Manager最常見。其他還有Project Manager, Scrum Master, Technical Program Manager等。
✅ 軟體設計師:UX/UI Designer最常見。其他還有Product Designer, Visual Designer等。
✅ 軟體工程師:Software Engineer最常見。其他還有Tech Lead, Front-end Engineer, Back-end Engineer, Engineer Manager, Machine Learning Engineer等。
✅ 數據分析師:Analyst最常見。其他還有Web Analytics Manager, Product Analyst, Marketing Analyst, Data Scientist等。
✅ 數據工程師:Data Engineer
✅ 行銷經理:Marketing Manager最常見。其他還有Product Marketing Manager, Search Marketing Manager, Media Buyer, Social Media Manager, Email Marketing Manager等。
2. 產業:看你工作或實習的公司是什麼產業
✅eCommerce, Retail, Technology, Software, Hardware, Consumer Electronics, Healthcare, Fitness/Wellness, Fashion, Insurance, Transportation, Fin-tech, Automobile, Hospitality, Gaming, Media, Food, Food Service, Semiconductor 等。
3. 技能:
這個部分很多,我稍稍舉幾個例子,但你可以依照你的背景做調整。
✅ 軟體產品經理:Product Management, Roadmap Planning, Software Development, A/B Testing, App
✅ 專案經理:Agile-Certified, Scum Master, Agile Software Development
✅ 軟體設計師:Content Strategy, Prototype, Animation, Motion Design, User Testing, Invision, Illustration
✅ 軟體工程師:Python, JavaScript, NodeJS, Java, AI, AR, VR, Computer Science
✅ 數據分析師:Big Data, SPSS, SAS, Tableau, SQL, Modeling, R
✅ 行銷經理:SEO, PPC, Programmatic Advertising, Content Marketing
好啦,全部加起來,舉個例子👇
背景:在學校學過電商,在Amazon實習擔任過行銷經理,現任電子公司專案經理,上過谷歌搜尋引擎優化課程。
想找的職缺:矽谷科技公司行銷經理
❓修改前標題:大大電子公司專員 積極找工作中
✅修改後標題:Search Marketing Manager | Google SEO Certified|Technology Industry |eCommerce|Social Media Marketing|Amazon Intern
五分鐘改完,搞定!
快改好你的標題,加阿雅為好友吧(順便幫我的技能按讚喔)!https://www.linkedin.com/in/anyacheng/
Medium 好讀版👇
https://bit.ly/3aeREx0
5分鐘讓矽谷獵頭找到你(下)
https://www.facebook.com/304518923226308/posts/1104508256560700/?d=n
machine learning engineer面試 在 #分享機器學習工程師面試經驗分享(下) - 軟體工程師板 | Dcard 的美食出口停車場
這篇文章主要是紀錄筆者在2022上半年尋找機器學習工程師(ML Engineer)的一些經驗和心得. 雖然網路上已經有非常多相關的資源和分享, 但鑑於在親身經歷 ... ... <看更多>
machine learning engineer面試 在 如何准备一场机器学习(Machine Learning)面试? - YouTube 的美食出口停車場
拿到Google Facebook 双offer的陈博士分享,“准备到这个程度,就不错了!” 点赞,订阅,收藏,跟陈博士一样,加入BitTiger终身学习大军。 ... <看更多>
machine learning engineer面試 在 [心得] 2022 台灣ML 面試心得(AMZN/GOOG) - 看板Soft_Job 的美食出口停車場
嗨大家好,第一次在本版發心得文,希望可以對正在面試的各位有所幫助。
medium 好讀版請看 https://reurl.cc/x9oARL
以下正文:
Background
在今年決定離開前公司後,就期許自己未來順利找到工作的話,要記錄自己的面試過程,
分享給有需要的人。很幸運能在兩三個月內達到目標,所以我來還願啦 XD。
我的上一份也是出社會的第一份工作是 Machine Learning Scientist,主要的工作內容
就是 ML 在醫療影像上的應用。我們去年達成通過 FDA 的里程碑,是很特別也很有成就
感的經驗,有面試官跟我說他對於我這個經歷印象很深刻 XD。因為對 ML 這塊領域比較
熟悉也比較喜歡,所以這次找的工作都是偏 ML 相關的,沒有純 SDE 的。
Summary
Not getting job interviews
- Agoda
- AMD
- Atlassian
- Binance
- Datadog
- Microsoft
- Shopee
- WorldQuant
Interview opportunities
- Yahoo (電面後被拒)
- Qualcomm (offer get)
- Amazon (offer get)
- Google (final round 後被拒)
- QuantumBlack (婉拒 final round)
這次我把目標設定在有一定規模的外商,主要跟自己的經歷和職涯規畫有關,陸續投遞了
超多間不同產業的公司,雖然收到很多無聲卡跟拒絕信但也因此獲得許多面試機會。多拿
到面試機會的好處就是能夠從真實的面試了解自己還不足的地方,在下次的面試就能夠表
現更好。個人認為這還蠻重要的,好幾次的 mock interviews 都比不上一場真正的面試
,所以在丟履歷時也要有技巧,盡量能夠安排幾場面試在自己最想要去的公司之前,比較
能夠習慣面試的壓力進而發揮出最好的自己。
Preparation
和大多數人一樣,我也是透過 leetcode 大量刷題來累積解題的經驗和直覺,先從經典
的 Blind 75 開始先練到能夠看到題目就有想法,再來可以針對公司的高頻題去做 (雖然
個人這次的面試經驗覺得不太有用 XD),有空也可以參加 weekly contest,整個面試的
過程我寫了三四百題左右。寫題目的過程中通常我會給自己 10 分鐘左右,如果沒想法,
直接看討論區會是最有效率的學習方式,不然真的會寫到懷疑人生,然後會很想知道討論
區的大神們 (對就是 lee215) 腦袋的結構是長怎樣 XD。心態上我覺得不見得一定要追求
在有限的時間解出最佳解,如果可以當然很好,但重點放在能夠跟面試官協作共同解決一
道問題會是更好的,因為大部分面試官想要看的是,如果這位面試者是我的同事,我有沒
有辦法和他溝通共事,解出問題反而是次要的。這裡整理幾個注意事項給大家參考:
- 和面試官溝通,確認雙方對問題的理解有共識
- 了解input有沒有一些可以利用的特性(如有排序過的array)以及output的格式
- 先敘述自己解題的大方向(如我想要用BFS/DFS解這道問題),取得面試官的認同
- 解題的過程可以加簡單的註解
- 完成後記得設計測資驗證程式碼的正確性
- 主動分析時間空間複雜度
- 注意變數名稱的前後一致性
- 解題的過程如果有卡住的情況,ask for hint!
ML 相關的準備我這次是以課堂會學到的基礎知識為主,自己的專業領域因為平常都在碰
所以沒有特別花時間複習,如果大家有針對 ML 面試的準備方法的資源也歡迎分享給我。
這裡列了幾個我覺得重要的主題:
- bias variance tradeoff
- linear/logistic regression
- L1/L2 regularization
- bagging/boosting/AdaBoost
- decision tree/random forest
- k-means/gaussian mixture model
- recall/precision/F-score
- ROC/AUC
- PCA
- SVM
- cross-validation
- convolution feature map size/receptive field
- ReLU/sigmoid/tanh/softmax
- SGD/Momentum/Adagrad/RMSprop/Adadelta/Adam
- dropout
- batch normalization
- binary cross entropy loss
- data augmentation
- image classification
- object detection
- RNN/LSTM/Transformer/BERT
Yahoo
Data Scientist / Research Engineer
1. Data Scientist Phone Interview
面試官是兩位台灣的 data scientists,一開始就先考一題 coding,難度 easy,很久之
後刷了 leetcode 發現有幾乎一模一樣的 XD,但當時我卡了超久才勉強擠出一個解答,
後續問了幾題 ML 相關的基礎知識,也回答得普普通通。當下結束後就覺得完蛋了,一個
月後不意外地被拒了。
2. Research Engineer Phone Interview
Data scientist 被拒絕之後又被找去面了 research engineer,面試官是台灣的
hiring manager,問了一點工作經驗跟介紹他們的團隊,基本上就像是一個老前輩在聊聊
天而已 XD,結束的時候他說請我等一下 HR 的通知不過後續也沒有消息了,個人猜測是
因為前一次經驗被冷凍了。
Qualcomm
Computer Vision Engineer, Deep Learning
1. Online Coding Test (4 Coding Questions)
一開始 HR 主動聯絡說對於我現職的產業有落差太大的疑慮,後來是主管對我的履歷有興
趣決定給我這個機會。面試前 HR 寄了一個連結說要完成一個線上考,總共考了四題,三
題我覺得都算是 medium 偏 easy 的程度,跟 linked list, priority queue, quick
select 有關,leetcode 都有類似的題目,還有一題是考 C++,當下看到傻住因為我
C++ 都忘光光了 XD
2. First Round Virtual Interview
First round 是跟對我的履歷有興趣的主管聊,後來發現因為他是我研究所實驗室的大學
長 XDD,整體面試的過程很開心,他很仔細地問了我的 publications 還有偏實務上的
ML design,並帶我過一次 online coding,詢問我的解題思路,然後看到我 C++ 那題笑
著跟我說你 C++ 很不熟齁 XDD,最後他給我很好的 feedback 說會幫我 move 到 final
round,只是我如果確定入職後需要加強 C++ 的部分。
3. Final Round Virtual Interview (Presentation + 4 1–1 Interviews)
Final round 總共五關排在同一天,第一關是一小時的 presentation,我選擇報我的碩
論。第二關是美國的工程師,問了我許多 ML 基礎知識,最後寫了一題 leetcode easy
的問題。
第三關是美國的 principle engineer,也會是這個職位的主管,人很和善,介紹這個職
位扮演的角色以及工作內容,問了很多 open questions,都是 ML 相關,譬如如果你再
解決一次碩論的問題,你會怎麼改進。最後剩一點時間他說我們來寫一道問題吧,我覺得
比較偏實務上會遇到需要實作的功能,很明顯不是 leetcode 會有的問題 XD,時間關係
我當下只有闡述我的想法但最後沒有寫出來,他請我當回家作業寫,我最後真的有寄給他
他也有回覆我。
第四關是兩位台灣的資深工程師,比較特別的是有問我修課經驗,問題主要是
behavior, ML 相關,給我的感覺是想到什麼問我什麼,其中一位還跟我承認說他沒什麼
面試別人的經驗不知道要問什麼 XDD。最後一關好像是 HR manager,也是簡單問幾個
behavior 相關的問題,我印象蠻深刻的是她跟我說我覺得你現職很好啊 XDD。
整體面試下來我覺得 Qualcomm 的面試強度適中,online testing 相較於 live coding
壓力小很多,後續 1-1 也都沒有問太刁鑽的問題。不過我面試完之後過了大概快兩個月
才收到 offer,整個過程還蠻煎熬的,本來還以為沒希望了,可能表現沒有太好所以不是
前幾順位的 XD。
Amazon
Amazon Lab126, Applied Scientist
1. First Round Virtual Interview (Coding + ML)
面試官是美國的工程師,請我簡單介紹我的工作經驗和研究後,針對我的研究主題詢問
ML 的相關基礎知識,最後 coding 考了很知名的 design question,但我那時候
leetcode 還沒刷得這麼勤勞,沒寫出最佳解 QQ。
2. Virtual Onsite Interview (Presentation + 2 Coding + 2 ML)
Final round 總共五關排了兩天,第一天的 presentation 我一樣選擇報我的碩論,過程
還蠻驚險的,因為 A 家他們自己的通訊軟體沒有單獨分享某個畫面的功能(註:感謝網友
提醒,其實是有只是當時我不太熟悉),我做的小抄完全看不到 XDD,還好因為之前面試
Qualcomm 有練習過好幾次,最後算是順利完成。
第二關考的是 ML,面試官是兩位美國的工程師(一位shadow),先針對我的研究主題詢問
相關基礎知識,也問到該領域的最新發展,再來是根據他們工作上比較常碰到的主題和我
討論相關 ML 的問題,還有一個對應的 coding 題目,不過只有請我闡述我的想法而已。
第三關考 coding ,是一位美國的 manager,初次見面直接來一題 leetcode hard 的
string 問題,當下第一個反應就是,完了,我有看過耶但我還沒看懂討論區的解答呀
XDD,只能用自己想得到複雜度比較高的解法硬解,自認為沒有解得非常好。
第四關考的也是 ML,也是兩位美國的工程師,主要針對我的研究領域詢問相關的問題,
我覺得問得很深入,也看得出面試官是有做功課的,剛好是自己的專業所以回答得都蠻切
中要點的。
最後一關個人猜測是 bar raiser,考了一題 string 相關的 design,leetcode 應該是
沒有,個人覺得難度 medium 偏 hard,有提出一個面試官也覺得可行的做法,但是在
implement 的時候炸了,自己評估是這次面試以來第二差的 coding 表現。
另外 Amazon 每一關的面試一定都有 behavior questions,考的就是他們很有名的
leadership principles,網路上的相關資源很多,這裡就不再贅述。我自己的準備方式
是根據過去的工作經驗用 STAR 的架構整理幾個故事,並蒐集幾個常見的問題嘗試回答看
看並做修改,盡量讓自己準備的故事能夠回答所有的問題。另外失敗的經驗一定要有,並
且要能讓面試官了解你在過程中是怎麼解決問題以及學習到什麼,我舉一個例子給大家參
考:
Situation: 因產品的缺陷導致客戶的使用頻率下降
Task: 重新贏回客戶對產品的信心以及重新建立彼此合作的關係
Action: 做了全面的分析確認問題並闡述如何解決的方法
Result: 在一周內成功解決問題,客戶的滿意度和使用率也有回升
整體下來我覺得 Amazon 的面試蠻硬的,除了全程英文之外,要準備的面向很多,
coding 是全部裡面最難的,ML 也問得很深入,BQ 每一關至少都問了三題,自己算是很
幸運有順利拿到 offer。後來聽朋友說我面試的這個職缺是 L5,不過最後的 feedback
認為我 L5 還不夠格但給了我 L4 的 offer,而且職稱在面試的過程中變了幾次,我也不
曉得為什麼 XD,最終給的是 applied scientist。
Google
Software Engineer, Machine Learning, Pixel Camera
1. First Round Virtual Interview (Coding)
面試官簡短了解我的背景後,出了一題 string design,我覺得難度 medium。當初和
HR 聊的時候有提到希望能爭取 senior level ,不過這輪的 feedback 認為雖然溝通無
礙和解題思路清晰,但是 coding 還不到標準,好在 HR 有幫我爭取後續以 junior
level 評估。
2. Virtual Onsite Interview (2 Coding + Domain + G&L)
Final round 被安排了四天一天一場,第一關用英文進行 coding,開始之前面試官還跟
我說他會全程錄音(?。題目比較偏 number simulation,先來一題 easy 的基礎題後考了
一題 medium 的 follow-up,設計得蠻巧妙有趣的。第二關是兩位華裔工程師(一位
shadow),考 BQ 相關的問題,問得蠻仔細地,會一直追問下去。第三關也是 coding,考
了 island 問題 (但我好像沒在 leetcode 看過),難度 medium 偏 hard,要拐個彎才想
得到解法,實作不難。最後一關考 ML design,請我設計一個 google 本身有的功能,因
為第一次接觸到這種類型的問題有點不知所措,回答得有點散亂,沒有整體的系統架構,
最後也有問了幾題基礎知識。
過了一周 HR 通知我說面試沒過 QQ,也跟我 debrief 一下整體的 feedback,本來以為
是 ML 那關炸掉,但 HR 表示面試官覺得雖然看得出我沒有設計系統的經驗,但認為我有
把教科書上的相關知識拿來套用,因此給我過,反而是 coding 兩關都跟 first round
一樣,覺得我思路 ok 但實作沒有達到要求。
在面試 Google 之前就有聽說他們面試是非常不容易通過的,雖然結果不如自己預期,但
也不太意外。個人認為他們 coding 題目其實沒有比較難(以我這次面試下來的感覺),但
是標準很高,用 leetcode weekly contest 來比喻的話就是你的 code 要能夠按一次
submit 後就 accepted,不然會有很重的 penalty ,而且還會看你的 coding style 是
不是符合一定的標準。之後有機會的話再挑戰看看 XD。
QuantumBlack
Data Scientist
1. Technical Online Tests (Coding + ML)
這間是 McKinsey 旗下的公司,工作內容比較像是顧問,會和客戶討論釐清問題後利用
ML 的技術幫助客戶解決,算是蠻特別的工作型態。面試之前先收到兩個 online tests,
一個是 ML 相關的選擇題,另一個是兩題 easy~medium 的 coding 和一題 ML design,
環境已經幫你裝好常用的套件直接要你寫出 ML 的演算法 XD,我想大概只有這家是這樣
考。
2. First Round Interview (ML)
因為有簽 NDA 的關係不能透漏太多資訊,主要會針對工作經驗詢問 ML 相關的知識,也
會設計一些情境討論如何使用 ML 的技術解決問題。不過後來因為有接受其他 offer 所
以沒有完成,也沒有進到最後一輪的面試
Conclusion
這次的面試之旅終於告一個段落,過程老實說很艱辛,裸辭的壓力真的很大,每天戰戰兢
兢地拼命刷題,自己回想起來都覺得不可思議,不曉得自己是怎麼撐過來的。最後的成果
算是遠超出自己的預期,拿到 offer 的當下真的是開心到不行,很感激這一切,也很謝
謝這一路上幫助我的人。感謝看到這邊的你/妳,如果能夠對你/妳有幫助,就達到我寫這
篇的目的了,有問題也可以留言讓我知道。最後祝福大家找工作之旅都能順利!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.105.104.151 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1654571639.A.BC1.html
※ 編輯: peter850706 (27.105.104.151 臺灣), 06/07/2022 11:18:00
※ 編輯: peter850706 (27.105.104.151 臺灣), 06/07/2022 20:40:17
當時有點手忙腳亂沒注意到
原文已修正
※ 編輯: peter850706 (27.105.104.151 臺灣), 06/08/2022 08:36:15
... <看更多>