2020 Facebook U.S. 沒有美國學歷和身分的面試心得 & FAAG 面試共通點總結

想說來寫個FAAG面試共通點總結,也分享一下前陣子面試Facebook U.S.的心得⋯⋯因為蠻多人好奇的\(//∇//)\

有些觀念不只從強者Engineer大神朋友們身上觀察&自身經歷體悟,發現跟很厲害的Marketing、PM Lead以及Consulting朋友們,也有很多相類似觀念。

但我覺得不只是在FAAG這幾家公司跟面試官「聊天」所得,如果你對career path有很多自我追求實現,又或是很多迷惘的話,也許可以參考。

肥宅我的背景

我應該算是台清交裡的低成就族群ಥ_ಥ
(前陣子看到同屆同學,有的成為KKBOX最年輕的總經理,也有的拿過金鐘獎,感覺大家在各行各業發光發熱)

各方面可能也遠不如非台清交成的大大們(跪

Medium前面有我的個人自介故事,有興趣可以當小說看過去,但跟技術領域沒有太大關係。

我平常沒在刷題,一路心態從

意外收到這4家面試機會 ->意外進了on-site -> 整合自我認知跟技術能力

一路上滿滿驚喜,但也感覺好像被HR的鼓勵推著往前走(๑¯∀¯๑)

記得我一開始都跟HR說「我覺得我沒有很聰明」「我覺得我就算很努力準備應該也不會上」,然後HR們會給你各種鼓勵,希望你嘗試一下(/ω\)

從很沒自信,到被HR說服開始寫題目,寫了2個月,到第一次面試on-site前,寫題目的速度大概是8小時內可以寫8–10題medium,或是15–20題的easy。(時間包括看討論區的各家精華)

總之感謝一下這幾間碰到的HR們,給小的我面試的鼓勵(跪

一定要出國唸Computer Science Master的program嗎?

如果最高優先順序是「為了工作簽證」,這邊可以稍稍分享我當年猶豫很久,問了幾乎所有在美國唸書工作的同學/學長姊的分享,大致都會說「如果工作經歷不錯,去美國當new graduate hire,不如你在國內多累積工作經驗」,因為

在美國這些公司,困難的是升上senior software engineer,不是怎麼成為new graduate hire。

例如印象中,就聽到有個例子是在Samsung做了五年,去美國唸master program爭取工作簽證,進了Apple的new graduate hire。沒有一定哪個好,看你怎麼安排人生。

當年我考完GRE,就開始找工作,然後就進了我的前公司,現在看去,我認為這是我人生少數做過很正確的選擇。

Image for post
Image for post

簽證問題

辦公室在哪

接著也會一個個告訴你哪些城市有辦公室,主要有什麼project。

我印象比較深刻是Messenger跟Instagram 😝

好像說Messenger 在Menlo Park跟New York還哪個辦公室都有team。

面試題目心得

只記得當下想說「說好的第一關只問tree traversal/recursive/……的呢?」😂

網路上影片分享的題目真的看看就好,那些刷題list可以參考當磨練自己技能。

刷題觀念終究是:多思考對於不同情境怎麼設計資料結構,比較有幫助,不要去想「練習考古題」。

我碰到的題目很像工作上的情境題,我前進到follow-up就卡關了(泣)

而且很酷炫的是,面試官還問到我用不同db,會用什麼資料結構設計⋯當下心裡也會OS: 「這不是on-site才會問的嗎ಥ_ಥ」但也發現自己準備真的不夠ಥ_ಥ

最後我有問面試官,他是第一次面試Facebook就上了嗎?

他說「Of course not.」ಠ_ಠ

他跟我說,他後來非常認真準備,也跟我說別氣餒😂

印象深刻是他說

「這裡肯定非常多天才,但也有像我這樣的普通人」ಠ_ಠ

另外,我碰到的HR跟Interviewer,剛好都是印度人,一開始很不習慣印度口音的英文,變成我最近看一些線上課程時,會挑有印度口音的來看( • ̀ω•́ )

以上是稍稍跟其它幾家不同的面試感想~

FAAG 共通點

1.Junior vs. Experienced

主要第一點,自己當時沒調整好的心態是⋯原來自己已經來到senior的期待了(・・;)

都還記得最後「閒聊」(就是發問時間)時光,有的大大跟我說「其實你講話也已經不像junior啦」ಠ_ಠ

也很剛好碰到幾個人,都蠻好心的跟我說「同一道題目,面對experienced 解題過程的期待,會比junior 高很多。」

例如我前篇Google on-site裡說到的,盡量少的提示,又或者是有能力在題目還不清晰時候,自己先知道對方要問什麼。

不過,前陣子知道,雖然標準拉高很多,但進了senior level也有很好的地方,因為不談美國,光是在上海跟東京,很多不錯的公司,senior跟junior的年薪是以百萬台幣為差距的,這是在臺灣不太容易發生的事⋯(._.)

這邊說的senior不包含tech lead,我聽到tech lead都會比senior再更上去不少級距的薪水,級距仍是用年薪台幣百萬當單位。

2.Culture Fit — 問問題的方式

面試跟工作一樣,聽一個人「怎麼問問題」,還有碰到「觀念衝突」時,他會怎麼反應,都可以知道對方程度在哪。

因為這部分我有重複被肯定到,所以想說來分享一下(⁎⁍̴̛ᴗ⁍̴̛⁎)

你一定常看見很多人一直問問題,感覺鑽到很深,可再碰到換湯不換藥的事情,仍分辨不出來,仍然是重複的一百萬個為什麼,然後你常感覺疑惑,怎麼好像一直鬼打牆?怎麼好像一直不順遂?

你不是不認真,是有可能你在「鑽牛角尖」,不是「融會貫通」。這也是為何我說不要把刷題當作「考古題」的想法在練習。

始終都記得剛畢業在HP的第一年,有個director大大說的「沒有人工作不認真」。

我認為這些不錯的團隊,或是不錯的公司,soft skill看的並不只是verbal communication,而是

Concisely and clearly answer questions before they are asked.

我認為會是更重要的觀念跟技能,這也是刷題時練習的一個觀念😛

這樣說很飄渺,從刷題一步步舉例到生活上,大概是下面這樣~

a.LeetCode刷題

vs.

現在同一個題目,會告訴面試官有哪些解法,每種解法&不同資料結構的時間複雜度跟空間複雜度,還有各種trade-off 取捨。

b.設計方式,這可以是system design,API design rule,working flow,code review rule等等。

vs.

去查很多資料,引經據典,但我會去講自己的分析,為何那個場景人家會那樣解,為何這個場景會這樣設計,我們的現況可以用哪些方法整合,變成適合我們的狀況,又或者我們是在什麼場景,所以確實應該怎麼做比較好。

c.團隊思維

d.生活觀

就像我見過很多人到30歲,還會說是父母掌權,自己注重家庭觀,所以自己經營的事業有所限制,但我也看過有些人30歲,已經用家裡的地開發了一家知名景觀咖啡廳,疫情嚴重但生意常爆滿,而且跟政府哪些單位喬事情的能力,或是知道隔壁的地被財團飯店收購了,自己的出路,包括哪些休閒農場是月收千萬計算……等等的規劃能力與執行力。

e.觀察對方的思維

vs.

存在即合理。因為對方的環境是那樣,他會這樣想不意外。

所以才會有「奇蹟」跟「開眼界」的詞彙存在。

衝突舉例是:「我沒有那個意思,這是你自己的感覺」vs.「我能理解你的感受,跟你為何會這樣想,但我沒有那個意思」

當然這類「在別人問之前就有能力清晰分析」,或是「能有效率將對方講一大串的東西拆分」的思維能力,用在人際關係上,當碰到跟你不同類型的人,反而是

你用上帝視角看對方,不代表你要「很細緻」地說出來,讓別人覺得你不懂沒有什麼不好,因為說了可能對方反應是「你不給面子」、「給人壓迫感強」、「不會做人」⋯⋯等等。

你說碰到這類型人該怎麼辦呢?你本來就有權力選擇要不要跟這樣的人當朋友、伴侶或是合作對象。

這幾家公司的文化,以及很多不錯的公司跟團隊,都會屬於

Shipping new ideas, being bold, rather than afraid of breaking things.

反過來說,當然也很多環境,你抱著這思維,人家只會認為你擾亂一潭水,過去人家都過的好好的,不需要你來提醒他們有什麼可以改進的,或是「打破長久以來的規則」⋯⋯這是之前參加社會團體的小體悟。

但我認為沒有哪個一定不好,只是你要能確定自己是哪種人,還有對方團隊是哪類型。

再延伸一點,我現在大概能懂剛畢業時候在HP,為何有大大會說

「一個人的事業management能力不好,生活跟感情management就不會好。」

終歸Behavioral Question雖然不是佔整體面試最重要的那塊,但我面試Google & Facebook U.S. 的HR閒聊時光,都會說「但這可能會列入取捨」

「因為技術能力強的人可能很多,所以這關很重要,會看hiring committee怎麼取捨。」

我自己覺得是這樣的觀念

「Engineering 不只是 building things, 更重要的是能知道該build什麼,並且說服別人。」

「有共識決定要build什麼,可能會比實際build東西,還要更有挑戰性。」

Behavioral Question,我認為總結關鍵會在於看兩個重點

a.你有沒有能力在問題還很不清晰時候,清楚分析出對方想問什麼,並知道所有衍生問題。

b.你會怎麼幫助團隊的人,讓大家在團隊裡能截長補短,一起往前走。

3.技術面試看的不只是工作能力,包括你的悟性

我自己總結這些關卡的技術層面目的

a.判斷基本功紮實

跟大多數很好的公司一樣,鼓勵internal transfer,用紮實程度,考量你換team的pick up能力。寫出optimal solution,至少sub-optimal solution

b.獨立解題能力

我被提醒到

「雖然題目可以解出來,對於問題的資料結構跟演算法運用,複雜度分析,還有trade-off,我能很清楚知道,但可以練習縮短解題時間,以及盡量少的提示。」

不過,現在再看看幾個月前的面試歷程,也會發現技術層面上,當時確實有些更好的解法。

我覺得嚴苛是還好,因為我後來發現,不管你是PM, Marketing, Consulting,又或是Engineer,

「避免太過於仰賴由主管或團隊來告訴你應該要做什麼」

如果你想不斷突破自我往職涯頂峰邁進,有能力drive & own一個大型road-map,或是引導project的方向,這是必經路程。

技術層面準備方式就不特別說了,因為網路上資料真的很多,但觀念大概是以上幾種。

「只要你對自己一直有自我突破的追求,我覺得不論你到哪家公司,很多團隊都有類似的觀念,並不只是FAAG。」

有興趣的話可以看小的我之前的LeetCode筆記–> Leetcode-增強自我能力檢視表

最後,前段時間在這幾間公司的面試歷程,加上現在的團隊,我認為

「Engineering最棒的收穫,不是專注於你完成了什麼,而是你完成的東西可以帶來怎麼樣的影響力,以及影響別人願意也去這麼做。」

不過,偶然跟不同職業的朋友們交流發現,把Engineering換成marketing, project management, design,…等等,好像也可以
(ノ◕ヮ◕)ノ*:・゚✧

至於說到沒有身分跟學歷,可以拿到這個面試機會,我現在看去會覺得

「你人生的起跑點並不是你的錯,但你有責任決定它能長什麼樣子。」

人生就像一條內褲,哪一條都自己選的(疑)

希望這篇能給大家一點鼓勵,也祝大家都能拿到夢想中的面試機會,還有職涯發展跟人生的一點努力方向 *ଘ(੭*ˊᵕˋ)੭* ੈ✩‧₊˚

延伸閱讀

Yahoo兩年多工作給我的人生啟發

聽說有鼓勵用途的自介篇

2020 面試經驗分享 — Google 1st round

2020 面試心得- Google on-site (Final Round)

2020 軟體工程師 面試心得分享-Amazon

希望對大家有幫助,新年快樂
*ଘ(੭*ˊᵕˋ)੭* ੈ✩‧₊˚

There are a thousand Angels in a thousand people's eyes. 一千個人有一千個Angel.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store