如何得到 Google 的工作機會?
知乎處女答。Disclaimer:答者是Google員工。非招聘部門。一切言論為個人觀點,與官方無關。一切信息來源屆來自網路,不含內部機密信息。如果Google compliance部門同僚對這個答案有意見,請聯繫本人修改。
前小部分為吐槽,後大部分為乾貨。會把我個人的理解和網路上的信息整合為一個guide。
目錄:
- 吐槽
- 乾貨
- Google有什麼職位?
- Google在公開招聘什麼職位?
- Google有內部推薦計劃嗎?
- 內部推薦和自己網遞申請有什麼不同?
- 我是學渣,GPA很低,有機會嗎?
- 遞完簡歷後是什麼步驟?面試是什麼流程?
- 是誰作出錄取/不錄取的決定?
- 整套流程需要多少時間?
- 應該如何準備面試?
- 怎樣使我的簡歷突出?
- 沒被錄取,怎麼辦?以後還有機會嗎?
- 樓主的補充問題
- 傳說中Google的Benefit真的有那麼逆天嗎?
-----------------------------------------------------------------------------------------------------------
吐槽:你的問題不是問題。
怎樣去Google工作,是指怎麼坐車去?還是怎麼報名遞簡歷?還是詢問要怎樣的自身條件?樓主你不說我怎麼知道你在問什麼?我甚至都不知道你幾歲,是學生還是應屆畢業生還是工作人士,你想找的工作是工程師還是銷售還是打掃Google辦公室的清潔工,很難作答。
要想得到一個好答案,先從一個好問題開始。
而如果你能問出好問題,通常也不需要他人來知乎作答了,因為你的問題很可能在網上已經被address過。
引用 珵cici 的話,『先去用Google搜索這個問題。無論對什麼職業來說,「自行搜集信息的能力」都很重要.
怎樣的問題我認為是可以接受的?
我是XX大學軟體工程系大二生,想去Google報工程師職位。請問我應該把重點放在學習哪種語言上?Google招聘工程師最看重哪些特質?
我是從業XX行業的市場營銷,想去Google從事marketing工作,但是我沒有科技公司工作經驗。請問我的背景可以申請嗎?適合Google里哪個level的職位?我需要證明我的什麼能力?換句話說,你的問題必須夠具體,夠私人,你得到的答案才能幫助到你。
--------------------------------------------------------------------------------------------------------------
以下是乾貨。 持續更新
我決定整理一套相對清晰易讀的指南,便於有心報Google的人作為參照。
1. Google有什麼職位?
官網:Teams and Roles
分三類:
Build Cool Stuff: 硬體、軟體工程師,產品經理,Google X等。
Sell Cool Stuff: 銷售,運營等。
Do Cool Stuff: 行政,法律,市場,招聘,公關,人事,財務等。具體職能上 Teams and Roles 看。
2. Google在公開招聘什麼職位?
官網:https://www.google.com/about/careers/search/
選擇地點或職位就可以搜索出所有公開招聘的職位。用戶體驗很好,職位介紹詳細很準確。
另外,在如linkedin等招聘/職業社交網站上會出現部分Google公開招聘的職位
3. Google有內部推薦計劃嗎?
有。Google非常看重,並且鼓勵Referral。員工只要成功Refer一位最終被錄取的candidate,就能得到獎勵 。換句話說,如果你有認識在Google工作的人,而他同時認為你確實是有這個能力的話,通常Google員工是很樂意幫忙Refer你的。
所以說,如果你真的很想來Google工作,可以多發展這方面的社交。比如LinkedIn上搜索校友,或是參加Google的校招活動認識recruiter和/或員工。
Google內部推薦你的人需要填Referral form,上面有很多類似他會怎麼評價你,怎麼證明你的領導才能等問題 。如果要找人refer的話,確保你讓他充分了解你自己,這是對雙方的負責。
4. 內部推薦和自己網遞申請有什麼不同?
內部推薦很可能會加速你的申請過程,但很小可能增加你被錄取的成功率。
每天投簡歷到Google的人是很多很多的。Recruiter每天要看成千上萬份通過網上遞交的簡歷,看到你的那份時都不知道猴年馬月了。何況,你真的確定你的簡歷能在上萬份簡歷里stand out?
這時referral就能幫你了。內部規定recruiter必須在收到referral的一周內review你的簡歷,必須在兩周內給出答覆。換句話說,你算是插隊了。
可是這不能提高你被錄取的成功率,實力不行的人也只是插隊被拒。整個interview和review process都是一樣的。最終決定錄取與否的始終是你的背景,能力,和面試表現。
5. 我是學渣,GPA很低,有機會嗎?
有! Google有可能是全世界最不看重GPA的公司了。Google People Op老總 Laszlo Bock自己說過,Google通過多年統計和研究發現,GPA和個人成功的correlation極小。鏈接:Google HR Boss Explains Why GPA And Most Interviews Are Useless
Google最看重的一點,自然是 --- 你的能力。
至於能力怎麼體現?可以通過GPA體現(專業能力,學習能力)。如果無法通過(渣)GPA體現,那就通過其他途徑體現。什麼途徑?自己想去。想不到說明沒有。
工程師體現的途徑就是你的coding skill。coding skill的體現在與你參加過的個人/團體項目,github上的協同項目,學校的研究項目,面試時的當場表現。其他所有方面幾乎都不重要,唯一重要的就是你的coding skill;能力強,Google能包容一切,包括你的GPA,畢業院校,專業,甚至你不是本科生都無所謂。
非工程師職位,如果是非應屆生招聘就看工作經歷;如果是應屆生招聘,看重的是 soft skills,如溝通能力,領導能力,學習能力 - 這點很重要,因為互聯網科技是個極速發展的行業,一年後的產品和生態可能跟現在完全徹底不一樣,只有具備高度自學能力的人才能適應。
6. 遞完簡歷後是什麼步驟?面試是什麼流程?
在glassdoor上有大量的信息,都是經歷過面試的人(成功與否)留下的信息。
Glassdoor – an inside look at jobs companies以下訊息皆來自網路,請compliance同僚不要找我麻煩
通過最初步的CV Screening (簡歷篩選)後,會有大於等於5輪的面試,和3輪的review。
沒有內部推薦的話,CV Screening往往是最難的一步。
前兩輪通常是telephone screening,通常一個來自你報的team里的某人,一個來自Recruiter,也就是接下來會管理你整個application的人。
這兩次telephone screening的重心會放在你的簡歷上 - 一切你寫出來的經歷都會被question followed by question。如果報的是軟體工程師,很有可能會讓你馬上在電腦前開一個google doc然後在30分鐘內寫代碼回答問題。
Recruiter對screening的滿意的話,就會邀請你去最近的Google Office進行on-site interview了。通常會3場面試一起安排在office。不一定每個interviewer都會在辦公室,可能3個interviewer都不在。不在的會通過視頻和在辦公室的你進行面試。面試官有可能是你將來的manager,有可能是你將來的同事,也有可能是其他team的manager。Google希望得到多方面人的意見。
面試內容:工程師職位會非常focus在coding skills,會被考演算法,並且會被要求當場用紙筆寫代碼回答問題。非工程師職位的問題就focus在你報的職位相關product,knowledge或experience上。具體問題要分職位,我不可能全了解,上glassdoor搜索相應職位的interview review會準確很多。另外,interview時可能會問一些brain teaser。
當全部的interview都完成後,recruiter會聯繫你並問你要更多的信息,如推薦信,學習成績單,以及你做過的經歷的證明或補充。每個interview過你的人都會寫出他們對你的feedback,以及打給你一個分數。Recruiter會把所有人的feedback和分數,和你的簡歷,補充資料,推薦信等等所有資料整理為一個package,接著把這個package發到美國總部的3個committee做review。
官網上的 How we hire - Google Careers
7. 是誰作出錄取/不錄取的決定?
Base在美國的hiring committee。上文說到的package會被發到committee,committee中人會定時開會並討論每一個被發過來的case。前面說過面試官會打分,平均分低的就直接被刷,平均分中等以上的就會開始case by case討論,直到大家同意這個case是hire or no hire。無法統一意見的case可能會被退回給recruiter,然後recruiter可能會去collect more information如加多一輪interview。
過了hiring committee的人會進入compensation committee,這些人會決定要給你怎樣的compensation package啦。
最終會進入executive committee,也就是公司的高層老大們。他們會把所有的information最終review一次,並判斷這個candidate的quality符合不符合公司長久的招人質量。
Exe committee也過了就大功告成了。recruiter很快就打電話來了
8. 整套流程需要多少時間?
不等,短則2個月,長則6個月以上。9. 應該如何準備面試?
轉載一下官網 How we hire - Google Careers 上的說法吧,方便被牆的知友:Leadership
We』ll want to know how you』ve flexed different muscles in different situations in order to mobilize a team. This might be by asserting a leadership role at work or with an organization, or by helping a team succeed when you weren』t officially appointed as the leader.
Role-Related KnowledgeWe』re looking for people who have a variety of strengths and passions, not just isolated skill sets. We also want to make sure that you have the experience and the background that will set you up for success in your role. For engineering candidates in particular, we』ll be looking to check out your coding skills and technical areas of expertise.
How You ThinkWe』re less concerned about grades and transcripts and more interested in how you think. We』re likely to ask you some role-related questions that provide insight into how you solve problems. Show us how you would tackle the problem presented--don』t get hung up on nailing the 「right」 answer.
Googleyness
We want to get a feel for what makes you, well, you. We also want to make sure this is a place you』ll thrive, so we』ll be looking for signs around your comfort with ambiguity, your bias to action and your collaborative nature.
Again,建議有心了解面試準備的同學上Glassdoor,上面資料更齊全而且更role-related。
10.怎樣使我的簡歷突出?
Google對簡歷要求不死板。常規的CV OK,帶有創意的也很能接受。但簡歷不要超過一頁。重點突出你的skills,重點突出你的accomplishment,能用數據體現出來最好!
有人把簡歷做成這樣:
更是有個哥們,為了得到一份marketing的職位,花了3000美刀做了一個please hire me的網頁
Google, please hire me. Matthew Epstein.
逗逼的是他最終interview後被拒了。結論就是,creativity有用,可最終要靠還是硬實力。
11. 沒被錄取,怎麼辦?以後還有機會嗎?
有的。Google會保留每一個人的檔案。專門有一個招人的team是負責找回以前interview過的人並重新assess。
12. 樓主修改後新增的問題):1.你要多強(具體化的描述)才能榮幸加入Google. 2. 你為去Google做過什麼努力,或者什麼努力幫助你去Google.
進入Google的方式沒有公式,不同類型人可以通過不同途徑進入。我猜測樓主是個學生?那答案自然是 ------- 好好讀書。考上個好大學是一個好的開始。找到自己熱愛的領域,並成為這個領域的頂尖人物。如果熱愛CS,就大量參與project並成為頂尖coder。如果熱愛marketing,就大量參與各種市場活動並成為頂尖marketer。如果熱愛sell stuff,就成為頂尖sales。Google是一個很大的公司,幾乎任何人都能在這找到位置,只要你在你的領域足夠優秀。樓主說「崇拜肯 湯普遜」,那看來是學IT的?那簡單的回答就是成為一個極好的coder,做出過自己的產品,參與過學校的研究,協同過github的項目等等。我不是IT出身,很抱歉不能更加具體地回答你的問題。如果之後看到有好的回答我會轉發上來的。
13. 傳說中Google的Benefit真的有那麼逆天嗎?
比傳說中還逆天。
(圖片皆來自網路)
免費三餐:
免費零食,水果,飲料,果汁:
辦公室內有按摩:
有理髮:
有得耍:
有得睡:
Reception是這樣的:
下樓是這樣的:
- 母親有18星期的產假,父親有4星期的產假。
- 小孩出生後Google報銷奶粉錢。
- 員工的health,dental,vision保險同時包括員工的丈夫妻子和小孩。
- 如果員工在Google工作期間去世了,員工的另一半和孩子會得到員工5-10年的年薪。
- 每年聖誕節Google送給全體員工Chromebook、手機或平板。2010年更是每人發了1000美刀和全體員工10%的 raise。
- 可以帶狗上班。
Benefits真的太多了,再說就太拉仇恨了。
之前在別的題目下回答過,希望可以有幫助。熬了8個月進入的Google (主要是自身條件比較差)
鏈接:長時間堅持做一件事是怎麼樣的體驗? - wxy 的回答
本科學得是心理學專業,07年大三的時候陰差陽錯自學了互聯網前端開發,接了一些外包項目,也開始了解互聯網。當時有認識的小夥伴在Google 工作,經常講其公司的種種,慢慢被 Google 企業文化、產品、技術、理念打動。Google作為全球網民和IT人員的殿堂,作為鐵杆谷粉的我,當時最大的願望就是可以進入Google工作。
08年大四畢業的時候申請過一次 Google 前端工程師,因為技術自學,水品很差,簡歷投遞直接拒信;
09年第一份工作是在一家傳統教育公司,發現 Google 有一些 Android 工程師的職位 Openning,每天下班開始業餘自學Android開發,開發了幾個App之後再次嘗試,簡歷投遞直接拒信;
10年曲線救國,去了一家互聯網創業公司,希望積累相關從業經驗,也可以多一些行業內人脈,這樣申請 Google 成功幾率高一些;在職期間投了一次簡歷,直接拒信;
11年1月 辭職準備申請Google。因為剛剛工作不久沒有積蓄,就寄宿到了還在計算機系讀研的同學宿舍,蹭同學的飯卡、床鋪、衣服、公交卡、澡卡。。。準備面試從學英語開始。中考高考都因為理科競賽報送免試,所以學生時代基本上沒學過英文,但是外企對英文要求有很高,至少要過英文面試關。從英文音標發音學起,照著錄音背了一本厚厚的英文面試書,又把種種面試可能問道的個人經歷和對行業產品的理解寫出來,找Native Speaker翻譯成口語英文,17頁A4正反面,一字不差帶著口氣助詞背下來;
11年3月 開始準備簡歷,用蹩腳英文寫了簡歷,後者臉皮找各種人修改提意見,針對Google 不同類型職位,構思不同的StoryLine寫了重點不同的簡歷和Cover Letter;
11年4-7月 開始各種渠道投遞簡歷。因為借住在計算機系宿舍,先天優勢,每天在水房打聽有沒有哪位童鞋實驗室的師兄師姐師弟師妹在Google實習,求幫忙內推;只要聽到Google 校園招聘的消息,必出現投遞簡歷,獲取職位信息;掃描了之前同事和行內朋友的各種有可能和 Google 有關係的人,不同渠道投遞簡歷。每次簡歷被拒絕,換個馬甲接著投。為了積累面試經驗,也擔心如果沒有如願Google,也要有備選方案,所以期間同時也申請了其他眾多公司,拿了很多一線互聯網公司的offer,BAT、Top創業公司等等。但每次拿到了Offer後,只要聽聞Google 這邊可能有職位放出、有一線希望,就拒絕掉其他Offer,接著為Dream Offer準備。
11年6月 經過屢敗屢戰的簡歷投遞後,終於拿到了第一次 Google on-site 面試機會,是Eng Team,考演算法,一面就掛了。
11年7月 Google AdSense 組織了一個沙龍活動,開放給網站站長。為了打入內部,托關係用朋友的網站報了名,混了進去。在活動當天,電梯裡面了遇見了 AdSense 的一位 team member,套了套熱乎,得知AdSense 團隊在招人,擔心直接投遞簡歷會有些唐突,就想辦法聊出了我們一個共同朋友。活動回來之後,趕忙聯繫那個共同朋友朋友幫忙遞了分簡歷,也拿到面試。第一輪電面和之後的第二、三、四、五輪onsite面試都很順利,可最後一關老闆面,還是覺得我資歷太淺,恐難勝任,又被斃掉了。
11年8月 為了不讓Gap期太久,打算接受之前拿到的一家 IT 公司的Offer,之後再伺機而動。這時居然又收到Google HR 的電話,說有一個更junior 一點的職位空缺了,之前電面的面試官非常幫忙的推薦了我,不需要額外面試,但是因為有被拒過的記錄,需要準備更多的材料(推薦信、Essey、簡歷等)來向總部說明。我當然心花怒放的希望再次嘗試,於是新工作還沒入職就辭職了,專心準備各種文檔,找各種xGoogler的人幫忙寫推薦信背書。兩周的焦慮等待後,收到了Google的聘用合同。。。
歷時8個半月的求職過程終於結束了,發了第一個月工資後,我把欠的錢換上,從同學宿舍搬走的時候發現唯一剩下的兩套衣服鞋子都磨破了;而回想整個過程,痛苦的不是沒工作沒錢,是因為看不到希望而感到絕望、因為整個事情的不可控而帶來的焦慮、因為一次次被拒絕而產生的自我否定。然後熬過來又覺得都沒什麼啦。
後來在 Google 工作了四年多,工作地點從北京到愛爾蘭再到日本,視野開拓了,也更職業化了。Google 提供了非常好的平台讓我有機會去接觸移動互聯網,認識很多不同國家的開發者,深入了解不同地區的移動市場。這些收穫和成長讓我更加堅定的認為自己當年的堅持都是值得的。
現在已經從 Google 離職創業去了,朋友都覺得好可惜、當年那麼不容易得到的工作機會,而我覺得是時候追逐下一個目標啦。加油↖(^ω^)↗1.去美國讀個名校碩士博士/有國內比較出跳的工作經驗或者ACM之類的演算法相關獎項,讓自己能過簡歷關。
2.英語交流無障礙,有一定臨場應變能力,基本演算法和數據結構知識紮實,能答出面試問的演算法題,這些題知識點往往很基礎,但比較靈活,有時需要對基礎知識進行舉一反三(再強的人也不可能會答所有Google潛在面試官的問題,所以這裡也需要一定的運氣)。我沒演算法比賽的經歷,本科軟體工程,但畢業以後從業是金融方向所以沒什麼相關工作經歷可講。1月份開始準備面試,做過些演算法題,4月份拿的Offer,準備工作就是Leetcode,CC150這些人手一件的資料。
這年頭FLAG的中國程序員已經不再是稀缺產品了,Google這幾年逐漸走屯人路線,讓Google的門檻變得比以往傳說中低了很多,但不可否認的是,對碩博應屆生來說,FLAG面試的門檻依舊是不低的。
就我個人的面試經歷,論面試難度,Palantir之類的小公司要比Google難得多。人少的公司往往會更挑剔,不光要演算法還要看人和人之間的相性合不合,大公司招能幹活的螺絲釘,要求相對要寬泛多了。回答的時候在gym,後來才發現題主有兩個明確的問題,回答如下。
要加入Google(和任何其他公司),基本就是兩部分,一是拿到面試,二是通過面試。我覺得很多人卡在第一關。1.你要多強(具體化的描述)才能加入Google
除了一些大牛,程序員很難具體描述強弱。個人感覺要拿到面試,基本上是 推薦 and (好學校 and / or 相關工作經驗) 。能否通過面試,Google基本完全就是演算法代碼。我一直覺得自己最弱的就是演算法,面試前狠補了一下,大概達到Google的及格線。個人沒試過ACM、Code Jam之類,自我評價(面試前)中等偏上,基本夠用。Introduction to Algorithm能勉強看懂並應用。2. 你為去Google做過什麼努力,或者什麼努力幫助你去Google.
這個不同背景會有很大不同。我做過的直接努力是就是發了封郵件(要referral)和準備面試。間接的努力則是: 1,大學畢業後在一家小工作寫了五年Java,代碼質量問題解決能力自問不錯。2,對編程保持興趣,工作和閑暇參與open source project。3,在曼谷四面佛許了一個願。如果人在大陸的話,或許來美國讀研是最好的辦法。我印象中CMU的master個個都offer拿到手軟。自然時間和金錢的投入非常大。
============================================================================
之前更general的答案:
同意前幾名答案,順便來個簡短的。我進Google Mountain View前在新加坡讀書工作,經驗不一定適用。而且非Eng職位要求應該不同。1. 推薦。我推薦的朋友基本都有電面,雖然由於各種原因,招進來的只有一個。
2. 工作經歷和成績。至少有一樣,兩個都有最好。我大學尚可(NUS),成績很差,不過工作經驗多。
3. 做題。
4. 時機。現在Google招人比以前多,我都能進去。
5. 運氣。我有幾個朋友就是遇到坑爹的interviewer。Google的福利不錯,而且取決於地點。但時間一久就習慣了。在我看來最大的福利是在一個寬鬆自由的環境下,和一群聰明努力的同事工作。
另外,強烈建議想來灣區的單身男青年先解決個人問題。謝hh邀 @小隱於小林
準備階段
- 找人內推。師兄或者師姐。別太在意麵子。
- 最好有一定科研經歷或實習經歷。其中對於去Google工作而言,最好的是先去Google實習。
- 做一些演算法題,熟悉一下套路。搞OI的就不用刷了,不難。
- 多練英語。如果要拿海外崗位的話,英語不好可能是致命的。
面試階段
- 和所有技術面試一樣。別穿正裝。
- 我只被面試過,沒面試過人。從我個人的經驗總結來說,最好不要有超過三分鐘的空白,要保持交流,溝通思考進度,圍觀面試官反饋。不會就說不會,不要裝逼。
- 心態放好。此處不留爺,自有留爺處。
說實在的,這個要看實力。水平到了自然就得到工作機會了。不要強求……
當然運氣也很重要,遇到坑比面試官,再神也難過。==== 以及題主想知道的,1. 你要多強(具體化的描述)才能榮幸加入 Google. 2. 你為去 Google 做過什麼努力,或者什麼努力幫助你去 Google. ====
這不就是讓我現場裝逼嗎……
個人背景
- 國內top2 CS專業畢業。成績排名50%。但這個在面試過程中一點用都沒有。
- NOI銅牌兩塊,高三退役後幾乎沒參加任何演算法競賽,除了大一做了幾把CF。
- 刷題方面,Leetcode只刷了30道easy,練習白板編程的。
- 據說智商145。
- 兩段實驗室經歷:都是在做dev方面的東西,沒paper。第一段隨隊蹭得了IARC2013世界冠軍,第二段參與了http://aminer.org的開發。
- 三段實習經歷:Hulu北京,阿里巴巴北京,Megvii(Face++)。僱主反饋應該都還算不錯。
其實在身邊的環境里,我還是挺弱的。
付出努力
我付出的努力是為了讓我變得更好的。不是為了讓我去Google的,它只是人生中的一站而已。沒有專門為去Google付出任何努力(除了求來一個內推)。我最開始是想申請去國外讀書的,奈何成績太差了……
謝邀 @牛頭角青年我於2011年加入Google總部,2014年離開並著手創辦【XY】。
關於如何系統加入google的指南和事項, @Tony 寫得挺好,我就不再累贅。
我主要講講我個人從加入到離開所有的過程,希望能對你有所幫助。
2011年的春天,科羅拉多的雲雀悄悄飛過大峽谷,我接到了Google正式通知入職的電話。彼時我正帶著父母遊歷丹佛科羅拉多的湖光山色。
那時距離我面試已經過了6個多月,我幾乎都忘卻了這件事。
誠如 @Tony 所言,google面試整個流程短則2個月,長則6個多月,很不幸,我是後者。
令人尷尬的是,我才剛剛入職一個新工作半個月,為了這份工作,東家花了整整一個多月的時間,焦頭爛額地幫我整理工作簽證等等繁瑣事宜。所以接到電話的時候,我哭笑不得,根本不知道該怎麼跟老闆提離職。我在腦海里設想了大概10種方式和場合該如何開口。我找到我老闆,剛一開口說,「有一件事情我要跟你說一下,6個月以前我面試了Google。」我老闆當機立斷,「你被
Google錄取了?太好了,快去吧。我上個月剛剛收到拒信。恭喜你。」 …… 於是,我就開開心心的去入職了。(在此我要感謝Lisa,運氣有時很重要,但是寬容和體量是真涵養)入職第一天,我把紐約辦公室的5個食堂都吃了一遍,下午坐在椅子上辦公的時候,突然聽到「啪」的一聲,我襯衣靠近肚子上的那顆扣子被崩掉了。就這樣,我正式開始了Google第一天的工作。
(13年的11月回到Google吃到超級美味的甜點~啊,早知道不辭職了……)
回到正題,關於如何能進到Google吃到更多免費的食物,享受免費按摩,blahblahblah(相信這是所有人想進Google的最大動力,至少是我的:)),通過一些我的經歷和想法,分享一下Google看重什麼,和需要什麼樣的條件才能進入Google。
1. 運氣。
沒錯,我把運氣放在了第一位。
08
年我在美國研究生實習階段,實習的公司和工作跟Google有很多交集。所以準備正式畢業以後投遞簡歷到Google。結果剛畢業,美國就遭遇金融危機,
所有的公司全部進入hiring freeze的階段,而且差不多兩年多的時間都沒有太多的opening。在我進入Google之後,有一些優秀的前同事也投過Google。坦白說,有比我優秀的人太多:美國名校本科畢業、工作能力優秀、態度友好,等等等等都非常非常好,最終卻沒有進入Google。所以我覺得很大程度上,運氣是其中不可控, 不可逆轉的因素。
其實,越是晚期,加入Google的難度越大,大家都知道Google是一個好公司,就有越來越多的人想加入,門檻自然會一路提高。
到最後,如果不是常青藤一類名校畢業的話,基本上很難進去。但最早期加入Google的人,很多時候是找不到別的好的工作,或者就是抱著去創業公司試試的態度而已。因此,我想說,即使你被Google拒了,或者在其他的場合下,如果你儘力了,沒有得到最終的結果,也不要覺得是自己不夠好。去美國以前總是迷信「個人奮鬥論」,但經歷了一些事情之後,明白其實很多人起跑線都不一樣,何況再加上運氣這件事呢?
Google帶給我最大的改變就是,不要因為在某件事情成功就沾沾自喜。個人奮鬥誠然值得稱讚,更重要的是保持感激的心態,不要因為一次失敗否定一個人的努力。在我做【XY】以後,每天都有人說「不是紅利期!」、「沒有風口!」,的確,大環境有時比個人努力更重要,但我想,人活著如果永遠只依靠環境生存,和動物又有什麼區別呢?因此「運氣」的含義並不是認命,而是只要認定目標努力過,就盡全力做到最好。
聊點輕鬆的。
2. Googley
的食堂是可以帶親戚朋友去的。(突然發現我的切入點永遠是Google的食堂,哈哈哈哈)
如果仔細觀察,其實很容易辨認出哪些人是Google的員工,哪些人是來參觀的。
一個公司有一個公司的基因,這個基因是決定公司發展和成敗最重要的因素,而這個基因依靠公司每個成員身上的氣質組成。
我曾聽過一個HR的分享,大意是說:公司在決定是否最終錄用一個人的時候,不一定是看優秀與否,而很大程度上是取決於你是否跟團隊整體的氣場比較融入。這種氣場在Google被稱為Googley,用
Googley與否判別一個人是否合適的時候,就會招到更多Googley的人,而更多Googley的人加入,就會加強Googley的特徵,以此循環。Googley是什麼?一直沒有一個非常準確的定義,根據我的經驗和我觀察到身邊每個人的特徵,主要會分為下面幾個方面:
a . intellectual curiosity
對於知識的天然渴求和對於事情刨根問底的精神。這類人知識寬廣,對有興趣的事情具有鑽研的工匠精神,到了工作中其實一樣。
老外推崇,「the devil is all in details.」 細節是魔鬼。
因為在工作當中,特別是在Google的環境當中,你非常需要能夠快速的適應新的工作環境和模式,我在Google三年的時間,經歷了無數次新的安排,新的組織架構,每一次都來勢兇猛,有如海嘯般排山倒海。
為了抵禦這種極速變化,需要你孜孜不斷自主學習,同時,對新鮮事物和工作要有極強的好奇心和學習能力,能夠深入鑽研,找到每一件事情本源的東西,然後形成一套方法論,並且執行出來。
依靠這種對事物的天然好奇心,會讓你養成對事情鑽研、思考和挖掘的好習慣,常常能看到別人看不到的規律和趨勢。
b. self driven
Google 招進去的人,基本都是Personality A的人。(關於Personality
A和Personality B的介紹:維基百科:Type A and Type B personality theory)這一類人就是通常我們所說的自驅型人格。通俗點說,就是把你扔在那,你就會主動的找活干,自己能夠很high的一路往前跑。
Google吃的,玩的,和有趣的活動實在太多了,上級基本對你採取鬆散管理的態度。
Google一直強調,員工開心最重要,所以在這樣的環境裡面,如果沒有一個很強的自驅力,很難專心工作並且不斷挑戰自己的極限。而招到一群自驅力強的人,也會互相較勁、不認輸,很怕自己會落後(當然,Google很少出現惡意競爭的時候),從而整體提高大家的工作效率和創新能力。
c. Passion
這條原則和上面有點類似,對待生活和工作充滿希望、熱情和激情。
我在創辦XY的時候,招聘都會學習google這一點,強調為什麼會選擇這樣的工作,對工作為什麼會有興趣。另外,google也會問到興趣愛好,以及做到什麼程度。
因為只有熱愛生活的人,才能夠把工作和興趣愛好都做的很好。
上面這三點就是Google所謂的Googley裡面最重要的。
3. 領導力(leadership)
這一點不僅僅是Google,美國的MBA和很多企業都會在面試的時候考核這一點。
美國企業是一個非常強調Leadership的文化,這種 Leadership並不是說,把你放到一個領導的崗位上,你應該如何去管理和lead一些事情。真正強調的是,在每天的工作當中,你如何發現了一些機會,定下一個目標,合理組織,規劃安排,協調資源為這個目標去服務,最終把事情促成。
一個leader的位置不應該是被安排,而是自己爭取得來。這樣一方面考驗你發現問題的能力,同時也考驗你解決問題的能力。在完全沒有「官方正式授權」的基礎上,你如何能夠調配資源為我所用——這才是真正的 leadership。
職場上一直有一種人,總覺得自己乾的活太小,太瑣碎,覺得」如果我當了負責人,就會怎麼怎麼樣「,而很少真正去改變一些事情,讓大家看到成績並且自動認可你,等到更大機會來臨的時候,就會想到你。
說白了,就是眼高手低。
在google中工作的時候,我也有過這個階段。所以,我和你一樣是一個普普通通的人,不管是進入google也好,還是創業也好,我們不過都是在一個又一個階段里成長。
4. 思維能力
除了工程師至少得是計算機專業,會寫代碼,Google里的每個人的專業背景都各不相同。
Google相信能力遠大於技能(skills),任何技能都可以通過勤奮習得,並且在Google內部調崗的機會也非常多,所以Google並不要求剛進入的人會各項技能,更重要的是思維能力,或者說,具備很強的思維能力的人,才會有很好的學習能力,能夠很快地掌握工作的技巧。
所以在面試當中,除了網上能夠查到的Brain Teaser,比如「一個房間能夠放進去多少個網球?」這類題目。也會常常就專業的問題和場景提問,不一定是要正確的答案,更多時候是在看你對問題的分析能力,和提出的一些有建設性的看法。
該如何準備簡歷?
@Tony對於Google對能力的要求講得非常好,但Google並不是不看重GPA。
對於學歷和GPA,Google到後面是非常看重的,倒不是說對於一般學校有歧視,或者認為能力不行,只是申請的人非常多,那麼用學校和GPA是最快的篩選方式。
所以基本上什麼斯坦福的本科,哈佛的MBA這種學歷在Google都比比皆是,Cornell都是不入流的學校了。因此在準備簡歷的時候,要麼你就有好的學校和GPA,要麼你有很好的工作record能夠證明你的能力。前面說的所有的都是general principle,那麼就需要在簡歷上,用具體的數字和例子來表現每一點。重要的事情說三遍,具體的數字和例子表現每一點,具體的數字和例子表現每一點,具體的數字和例子表現每一點。
面試的過程如何?
收到簡歷之後,如果過了初篩,就會有HR聯繫你,進行一個大約半個小時的電話面試,一周之後會通知你on site
interview。On site interview差不多會有5-7輪,基本上會讓你見到未來你要工作的主要同事,每個人都會從不同的方面進行面試。另外,如前面提到的,團隊找的是跟自己氣質相投的人,所以儘可能讓更多人見到你是比較重要的。另外,每一個面試的同事,都需要進行專業的面試培訓,並且在面試的過程中,會進行詳細的記錄,最後匯總。
再往後,就是2-3輪的hiring committee(招人委員會)。
這是一個「神秘」的組織——所有面試的記錄,以及HR會要求你自己再根據一個問題提綱,寫一份完整的資料,由HR整理成冊,提交到Hiring Committee進行評估。一般有至少兩輪不同的hiring committee,層層評估,由他們決定是否錄用。最終,材料會被遞交到CEO,由CEO最終決定是否錄用。大多數時候CEO都會通過,據說歷史 上,只有一個設計師被CEO pass掉過,原因是不太喜歡他的設計風格。
所以整個過程差不多要2-6個月。這個時間相比其他大多數公司都要長很多。
Google的招人原則是,寧可招不到,也不招不合適的:一旦錄用,以後如果表現不好,通常他們會認為是崗位不合適,而不是人不好。
5. 一些零散的建議
Google非常看重內部推薦。因為他們相信,聰明人的身邊也是聰明人。也能省不少獵頭費。所以如果有認識Google的人,並且有共事過,就最好了。
被拒了之後,還是會有機會再投簡歷。很多時候,是工作崗位是否合適的問題,而不是人是否優秀的問題。
進了Google,只是一個開始。裡面的壓力還是很大的,加班的時候雖然沒有那麼多,但是工作的時間內,基本都是跑來跑去,沒有太多時間休息。
總得來說準備充分會有很大的幫助,能進Google當然好,不能進也沒有關係。離開Google已經2年了,我真的非常感謝這家公司,可以說,它帶給我的改變是天翻地覆的,我也希望今後能把這種改變的經驗、好的思想帶給我自己的公司、帶給中國。
今天先寫這麼多,思緒有點亂,也是想一點說一點,不知道是否完全回答清楚了你的問題。如果有別的問題歡迎在評論里留言,我看到了都會回復大家。
以上。
正巧幾天前有位學長剛進了谷歌加州總部 好像大陸一共3個人(輔導員說的o(╯□╰)o,評論里很多說不止,具體不太清楚,可能輔導員說的是學長應聘的職位只招3人吧。。。不過建校70年以來第一個去加州總部的板上釘釘的),膜拜忘了說一句:學長188cm,大一有過接觸,人很帥,為人低調,沉默寡言,谷歌年薪10W美金起(評論里說加州10W薪水不算高,其實我想說那學長本身就是土豪。。。o(╯□╰)o),這才是真正的 高~富~帥
下面是學長寫的一篇求職總結:Google北美求職總結
1) 備考
據我所知,大公司的面試題難度並不算大,考的內容也偏基礎。備考的關鍵態度是「有誠意」。因為有誠意,所以不會敷衍地不會把書背一遍了事,更不會把學習知識當成一種負擔。
說來僥倖,我是從高一開始學習編程的,所以功底紮實也算是情理之中。高中三年雖較大學更貪玩,但是雜事少了太多,所以學習效率還是高的。另外,高中資源匱乏,沒有筆記本電腦之類分散注意力的東西,所以大半的代碼都是在紙上書寫和模擬執行的,這也無形中使得學習的過程更踏實。進入大學後,因為有了高中的基礎,所以對於學習的方向和方式都有很有主見,三年學下來基礎已經很紮實了。
從細節上講,我在高中參加信息學奧賽,學習了各種演算法和數據結構;大學開始「不務正業」,把玩各種系統(GNU/Linux的各種發行版),語言(C, C++, Java, Python, Go, Scheme),項目(LLVM,Ogre,libstdc++)和公開課(Coursera的Programming Languages和Compilers)。先後也看過點書,比如《計算機程序設計藝術》的卷1,《Unix編程藝術》,《編譯原理》等,也略讀了《計算機程序的構造和解釋》。《深入理解計算機系統》也是本口碑不錯的書,但是我沒讀,而是直接看著Intel手冊和彙編器文檔寫了點bios啟動代碼了事。
大三下學期回歸競賽(ACM-ICPC),憑藉著熟練的代碼功底,拿了兩個中國邀請賽的銅牌玩玩。但是這成績並不算好,畢竟我沒有經過長期的訓練。我平日在TopCoder和CodeForces上做的練習題也使我獲益良多。
大三暑假參加了一個在我看來意義十分重大的活動,叫Google Summer of Code(GSoC)。我在這個活動中幫開源編譯器項目GCC編寫代碼(一個正則表達式引擎),而且得到了他們的肯定。這份經歷在後來的面試中起到了很大的作用。上一個寒假的時候,我看到Apple的LLVM團隊招實習生,我也投了簡歷。他們表示感興趣,但是由於我即將畢業無法做實習生,而他們也不提供正式職位,所以終究沒有面試。直到最近,我還突然收到了華為的郵件,說看到我在GCC項目中的貢獻,問我願不願意去他們的編譯器組。
這零零散散的六年備考,其動機自然不是就業,而是出於一種本能。我受個人興趣的影響很大,做不感興趣的事會異常痛苦;同樣做感興趣的事也會非常賣力。我甚至在大二下學期從通信工程專業轉到了計算機科學與技術專業,因為我覺得通信方面的課程實在是枯燥無味。轉專業之後相當輕鬆,大部分課程能應付自如,也多出了更多課餘時間來鞏固自己的技能。可以毫不誇張地說,如果不轉專業,我能拿到這個offer的可能性並不大。
2) 面試我曾給Twitter投簡歷,卻被直接拒絕。若是直接投簡歷給Google,多半不會引起他們的注意。所幸的是,Google正好在中國舉辦了特別的招聘活動(Google校園招聘),而筆試形式正是一場競賽風格的比賽,和ACM-ICPC如出一轍。筆試面向全互聯網,見者有份。其題目難度很低,但是時限很緊對代碼熟練度的要求很高。我憑藉熟練的C++功底拿到了第36名的成績(約2000多人蔘賽)。果然,沒幾天他們就給了我面試的機會。
第一輪是電話面試,約45分鐘。面試方式是一邊打電話一邊在網頁上寫代碼,我所鍵入的每一個字元都會實時地在面試官的屏幕上顯示出來。面試官毫無廢話,讓我做完簡單的自我介紹之後直接上題,讓我在網頁上寫代碼。題目不難,但是我們通常也應該對自己的能力打個折扣,畢竟現場寫代碼的心裡會有點緊張。題目寫完後又問了一些概念性的問題。這個憑藉自己六年積累的常識隨便作答即可,他們最看重的是代碼而不是概念,因為概念可以隨時掌握,而寫代碼的功夫卻是實打實的。
電面過後被安排了兩次Onsite(直面)。幸虧Google在紐約有辦公室,省去了坐飛機的辛苦。兩次Onsite前後一共五輪,一輪45分鐘。形式幾乎一致,都是極其簡單(甚至沒有)的介紹之後開始做題。
做題的方式不盡相同,有的面試官偏好讓你在紙上寫代碼,有的喜歡白板上寫;也有一個面試官允許我在電腦上寫,最後他對屏幕拍了一張照片。總言之,此處對代碼熟練度的要求又高了一個檔次,特別是他們要求在紙上寫的那種。
他們對編程語言沒有限制(再一次體現了他們注重代碼能力而不是概念),也不要求寫出能編譯通過的代碼(因為代碼中少個分號無關緊要),只求能把自己的演算法描述清楚。
五輪直面碰到了四個白人和一個亞洲人(聽口音有可能是中國人)。四個白人選的題都比較簡單,甚至出現了45分鐘做完一題又做一題的局面;其中兩位給我機會讓我做較詳細的自我介紹,我也乘機介紹了自己在GSoC中的得意之作。我可以覺察出,即便是Google員工,也覺得做出一個工業級強度的正則表達式引擎不是一件簡單的事情。那個亞洲人並沒有問到我的項目經歷,而是對我的競賽經歷十分感興趣,問的題也十分給力。我寫了兩頁半的代碼完整地解決了問題,簡直酣暢淋漓。
面試反饋相當的正面,看來他們就是要基礎紮實,寫代碼熟練的人。之後便是走一些流程,自己不能做些什麼了。最後也順利拿到offer。
3) 總結這場求職前後歷時四個月,我承認最初是有點運氣的,但是更多的是紮實的基本功。這些基本功唯一要求的就是不斷的練習。
很多同學在高中階段並沒有像我一樣參加競賽,大學階段也沒有得到很好的引導;但是在我看來,只要定下心來,花上半年到一年的功夫,認認真真寫代碼做題,有針對性地打磨自己的熟練度,在北美獲得一份大公司的工作並非難事。
附Working Experience:
Google, Mountain View, start from June 2, 2014
Interests
Programming Languages, Compilers
Skills
Languages: C, C++, Java, Python, Go, Scheme
Platform: GNU/Linux
Projects
GCC (on http://gcc.gnu.org) : GNU C++11 standard library &
Evil (on http://github.com) : Yet another Scheme interpreter, in C
compiler_practice (on http://github.com) : A compiler practice based on LLVM.
OgrePractice (on http://github.com) : A WoW-like scene wandering program, in C++ Ogre
Contests
2013 ACM-ICPC China Nanjing Invitational Programming Contest Bronze Award
2013 ACM-ICPC China Hangzhou Invitational Programming Contest Bronze Award
Google of Greater China Test for New Grads of 2014, Rank 33/2142, identi?er TShen
Google Code Jam 2013, stop at Round 2, identi?er INNOCENT
Scholarship
Google Summer of Code 2013, Completing C++11 regex, $5000
Education
B.S. Computer Science, New York Institute of Technology, 2014很真誠地建議,先去用搜索引擎搜這個問題。
無論對什麼職業來說,「自行搜集信息的能力」都很重要。=========以下為補充內容========
評論里若干人都假定「提問者已經搜過這個問題了」,所以我就變成「不友善」了。
原來現在已經是授人以漁不如授人以魚不如請人吃一頓水煮魚片……如果我一直想進一家公司,那麼常規情況下我會這樣:
1. 通過媒體以及員工兩方面更多地了解該公司,使用並體驗該公司的產品。 媒體用搜索引擎搜,員工的話可以搜他們在各種SNS上發的內容來看,以博客的信息為主。
a. 了解公司產品
b. 了解公司文化
c. 了解員工背景及日常生活
(如果一個公司里所有員工的風格都是吐槽自家公司,整日加班,苦逼生病過勞死,沒有什麼個人生活,我反正就會謹慎考慮這家了。不過Google福利很好這是眾所周知。)2. 讓自己的簡歷變得好看一些並及時更新,這是一個長期的過程,會讓機會砸中你的幾率變高。我們lab里幾乎每個人都被Google的HR主動發信聯繫過問有沒有興趣來實習或者工作。Google的HR是直接從linkedin聯繫的我。HR一般會看的大概是:
a. 名校 及 高學歷。 (本科學校也很重要)
b. 相關項目經驗
c. 各種演算法相關比賽的金獎 (acm/icpc, 各種codejam) 之類。
d. 暑期實習經驗。 (很多公司會在優秀的實習生結束實習後簡化面試流程然後發正式offer)
e. 對博士生來說,publication。
總之,牛人有各種各樣的牛法。沒有統一的標準。只要能突出自己的亮點即可。3. 了解該公司如何招聘。
a. 看公司的招聘頁面,了解職位信息。 (在我自己沒有NB到可以靠臉或者公司為了特招我特意創造出一個職位的時候,還是先了解人家公司的信息比較好)
b. 看是否有校招/宣講會。校招和HR聊天遞簡歷。面試門檻比社會招聘容易些。
c. 看有沒有該公司的朋友/同學/學長學姐可以內推我。這樣獲得面試的幾率最大。 很多公司員工內推成功後有獎金拿,因此會熱心幫忙。4. 拿到面試機會之後,
a. 網上搜索別人寫的面試經驗,面試準備流程。
b. 一般不同地區面試題的難度會有一定差異。個人感覺是歐洲&<美國&<中國(印度)。由淺入深地來做。
c. 做搜集到的所有的面試題,以及類似公司的面試題,發現自己面試知識欠缺之處。
d. 根據下一輪的面試類型,請朋友給自己做模擬面試。以上是最普遍的面試流程,隨便搜幾篇面經就能總結出來這個流程。
其實這個問題在知乎上都有若干版本了-__-
還是那句話:「請學會使用搜索引擎自行搜集整理信息」。
不要把「年紀輕」當做心安理得伸手的借口。 (其實這句話是我以前伸手的時候,某位前輩教育我的,我當時醍醐灌頂)=======再更新幾句========
2. 我從來不反感提問這件事兒。只是「自己試圖找過答案了找不到於是求助」和「自己試都沒試過找答案,直接就來求助」是有區別的。喜歡自己動腦解決問題的人有很多,喜歡靠別人解決問題的人也有很多,兩種各有優劣,都是自己的選擇罷了。
1. 「請使用Google」,是指請使用搜索引擎。百度,Bing都算。只是因為最常用Google才這麼說。
上次回國是今年2月,當時不開VPN的話,Google還是勉強能用的。 確實也是看了評論才知道QUIC被封了。是我表意不明。於是把「使用Google搜索」都改成了「使用搜索引擎檢索」。
說一個身邊朋友拿到Google Offer的準備經驗求職經歷
先介紹下我的背景吧。國內211非985高校的CS畢業,在美國東部一所大學念研究生。由於是一年的項目,沒有實習機會,只能一開始就找全職的工作,亞歷山大!!
首先是去年九月份,以為自己是CS「科班」出身,刷了20道題就跑去參加學校的Career Fair,結果可想而知。只拿到了Amazon Robotic的電面,問了好多OOP的問題,掛了。。。大公司沒敢投,面試了幾家start-up 覺得自己還是不太適合。上半學期特別辛苦,刷的題數停留在80。。。其間找同學內推了Google,由於沒時間準備,和HR商量把面試的時間拖到了來年的1月。
然後下學期剛開學,開始瘋狂的投簡歷,參加了春季的招聘會,on-campus 面試了GreenHill, SevOne,倒在了智力題上(話說現在我都不知道怎麼做)。那段時間相當絕望,大環境不景氣,大部分投的簡歷都石沉大海。二月份Google的電面來了,在充分準備的情況下過了(感謝面試我的中國大哥!!)。
我把Google的on-site 放在了春假裡,準備在灣區待一周,這樣可以盡量可以多面幾家,順便改善下伙食!準備面試的時候我又讓LinkedIn里的學長幫忙內推了eBay,我和HR說我春假的時候會去灣區,他就爽快地讓我跳過所有步驟,直接幫我聯繫了on-site了,真幸運!!
Google 面試前的周末,我把自己關在一個會議室里,拿著筆在白板上練了一天的白板coding,最後證明還是很有幫助的。Google面試定在周一,不過真到面試的當天也不太緊張了。面試就這麼平平淡淡的過去了,Google的面試題比較活,follow-up比較多,可能比較背,所有題目都沒做過,也沒命中面經。非常喜歡Google的面試方式,感覺是在和面試官一起討論一個問題而不是被問好多奇怪的知識點。
第二天面試了ebay,發現好像面試的職位是一個senior的!一共四輪,每輪都是演算法題+基礎知識+system design。。。真的比Google的面試難太多。我覺得我就是演算法題和基礎知識答的比較好,system design只能呵呵了。 面試的非常累,四輪從一點面試到6點,中途就喝了一瓶可樂。。。第三天面試了一家SF的小遊戲公司,都是基礎的演算法題,相當簡單,四輪花了2個小時,當場給了Offer。
面試後一個星期,ebay給了口頭offer,過了一個月Google的offer也姍姍來遲。權衡利弊之後還是選擇了Google。其中有個小花絮,Google一開始拒絕了我,HR打電話說我的所有feedback都是positive 的,但是有個面試官打的分數超級低,和別的面試官反差特別大,問我怎麼回事,我說因為這是我從小到大的第一次onsite interview,這又是第一場,寫白板的時候腿都在抖,把HR逗樂了。她同意再幫我想想辦法,第二天就問我要了成績單,過了兩個星期就給了offer,感謝HR姐姐!
總結:
Phone:Adobe(海投),Pure Storage(海投),cloudier(海投),HP(Career Fair), Amazon Robotics(Career Fair)
on-campus: 騰訊, GreenHill, SevOne
on-site: Google(內推, offer, ac), eBay(內推, offer, rej), PennyPop(海投, offer, res)
石沉大海的太多了,就不列了。。。
總之挺幸運,onsite的都過了,而且第一次on-site就拿到女神公司的offer!希望大家都能有好運
準備建議我是從去年9月入學才知道有刷題這回事的,但是因為上半學期特別忙,一學期也只斷斷續續刷了80道題。
接著是寒假,寒假的時候先是找地方度了個假(勞逸結合嘛),回來就開始瘋狂的刷題,期間報了九章的演算法班。報名九章的時候其實我已經吧lintcode的easy+medium 的題刷過一遍,但是上九章課的時候還是有很多新收穫。那些模板特別好用,特別是二分法的模板,解決了我一直以來搞不清停止條件的問題,而且不可能寫出死循環,特別給力。另外老師風趣幽默,零零碎碎介紹了好多面試的小技巧,還是非常受用的。不定時的免費講座也很給力,我修改了簡歷,學會了怎麼用LinkedIn聯繫HR,拓展自己的人脈。我eBay的面試機會就是LinkedIn上一個素昧平生的學長幫忙內推的。
由於上半學期有一些面試經驗,發現面試題基本都是medium或者easy的題,hard的題極少。我刷題的時候就基本沒做hard的題。寒假過後,終於把lintcode上medium以及easy的題過了一遍。
之後為了準備Google的on-site,把lint code的幾個階梯訓練全部做完了。Google面試之前,花了一天躲在小房間里,用白板吧一些常見的面經題用白板寫了一遍。
幾個小經驗就是:
- 千萬不要背答案,但是可以記思路。有些思路非常巧的演算法可以加分的(比如找鏈表環的入口的那道題)。
- 可以看面經,但是不要迷信面經。把面經當成鍛煉的真題而不是臨時抱佛腳的救命稻草。
- 練寫白板非常有用!!
- 和面試官的交流很重要,不會的時候可以問面試官要hint
- medium + easy的題就足夠了,剩下的時間可以看看系統設計呀大數據之類的知識
- SQL也可能會考。。(一把辛酸淚)
準備時間演算法題:1個半月集中刷題,lintcode里medium+easy以及lintcode的階梯訓練里的題都刷了兩遍
一些個人經驗
本人普通985cs小本,畢業半年,就職於某遊戲大廠。本科時全無工程經驗,搞了4年acm,面試問的演算法基本無壓力,coding還行,工程能力和技術弱,cs基礎弱(課都翹了刷題去了,弱校acmer懂得)。最近剛跳去g,而且前年剛面掛過一次。感覺我的經驗僅適用於跟我類似的acmer。
1,面試不是刷題,不要太過糾結複雜度,一來也許這個題就沒有更好的解呢?二來面試時間有限,面試官更希望得到一個work的solution,當然best更好,然後寫完。所以想到一個解決方案時如果短時間內想不到更好的,就直接說出來,說不定他會提示你。否則他只能以為你沒有任何想法。
2,寫code的時候不要太糾結細枝末節。比如參數怎麼傳給你,全局也好vector也好指針也好,你喜歡咋樣就咋樣。同樣頭文件就不用浪費時間寫了,面試時間很寶貴。這方面推薦刷下leetcode,我面試前花了幾天刷了一半,感覺面試的時候寫起來利索多了。
3,面試前練習下在google docs上碼代碼,或者直接在leetcode的輸入框里碼完交
4,面試的時候嘗試和面試官去討論,交流,讓他隨時知道你的想法。
5,放輕鬆,這不是你唯一的工作機會。
Cracking code interview + leetcode 刷到出個題就順利無bug寫出來的程度我06年去谷歌中國待了5年。也面試過100多個應聘者。說些你們不願意聽的東西。
首先,谷歌很看重你的學校,所有國際大牌企業都這樣。如果你不是國內排名前20的學校,基本不要想被面試了。谷歌的應聘者是天量,每份都去仔細看,一百人都不夠。所以有一輪是機器篩選,換句話說,背景差了,你的簡歷很可能到不了人事那裡。另外,本科的學校很重要,如果你在二本學校上大學,想通過清華北大研究生逆襲,基本上也很難。
原因很簡單,面試結果表明,學校一般的,就算面了,能力不達標的是絕大多數。包括很多簡歷寫的神乎其神的人。一個公司從成本考慮,不可能佔用那麼多工程師來做無止境的面試。
第二,成績單谷歌也很重視,老闆說不重視,那是大忽悠。反正他又不用篩簡歷,他又不用批面。原因?還是那件事,應聘者太多了!
第三,面試也有運氣成分,這個任何公司都無法避免。比如和招聘計劃很有關係。2006年谷歌中國大舉招人,那時候的畢業生就很幸運,標準就適當放低了。上百人的進。我當時本科畢業,面試時候問了面試官一個問題:我保研了,如果讀研再來應聘,而你們不怎麼招人了,是不是我就進不來了?面試官可能覺得我問得太他媽現實了,表示了輕微的不屑。
但事實表明我是對的。2009年經濟危機,也就是我本來要研究生畢業那年,招的人就是個位數了,很多極為優秀的學生都被拒之門外。
什麼?你想等一年經濟危機過後再面試?對不起,一年後你就不是應屆生了,按社招標準來要求:你有3年以上經驗嗎?原公司很牛逼嗎?不是?對不起,那你過不了初篩。
呵呵,所以現實是不是很殘酷?很多事情不是你單方面就能決定的。所以,有好的機會,一定不要等哦,過了這村就沒這店了。謝邀,前幾位說的都很全了,但是最重要的面試沒說,這才是硬功夫,別的都是次要的,我主要說一下面試:
其實主要還是自己的演算法水平,Google對於應屆生一般不會考system design,有工作經驗的會考,當然有工作經驗的offer更高,步驟我就不多說了,interview這東西還是看RP,有些interviewer人好,有些geek和某race(你懂得)會坑你,比如實現紅黑樹啊,這樣你也別慌,事實上能全部做到bug free的interviewee是很少的(Google是白板手寫,不準用IDE),即使做不到bug free,也有很多人拿offer,關鍵在你懂得這麼去和interviewer溝通,他們其實也不期望你全做出來,甚至你說你卡殼了,他們還會給你一些hints,別聽有些人說刷題好了進Google就輕而易舉,actually,每年也只有極少數人能進FGL,大部分人去Amazon,MS都算精英了,所有總的來說面試Google,要的是IQ+EQ,只會埋頭做題肯定是行不通的,搞過ACM/NOIP的同學應該很清楚,有些題就像高考數學最後一題,一些技巧別人不說,死的想不出來,關鍵要和interviewer溝通還有兩點:
另外,希望今晚我西能夠取勝
1.要找工作就去找refer,不然拿面試都困難
2.要投就投北美總部,像Singapore和HK的可能做salesmarketing的居多,總部SDE的機會會多的多
3.年輕人還是有vision一點,每年拒掉FGL的牛人很多,大部分去了比Google更難進的airbnb,uber,Pinterest,dropbox這些hot startups,你要的不是serve for Google,而是create a Google
看來 Apple 的招聘流程還是好得多UPD 20140612
1.
「需要多優秀才能成為美國總統?」
「……」看到了嗎?這種問題是沒法回答的。有兩個原因。
第一,變成多優秀也不一定能成為美國總統。同理,進入谷歌除了你的優秀程度還有很多其他因素。
第二,進入谷歌和進入一所國內的大學不一樣,不是只看一個分數決定的,因為人的才能和素質很難量化,不能簡單通過對比取捨。如果題主多留一些自己詳細的信息,並且有詳細的目標,那麼部分答主也許願意提供一些詳細的建議讓你更有機會進入谷歌實習。
2.
其他人進入谷歌實習的方式,你未必能採用,比如我的學長們大都是coop形式,你沒這個機會。別人能做到的,你真不一定能做到;但是相反的,別人做不到的,你未必做不到。為什麼不去自己思考下以你現有的條件和資源,怎麼進入谷歌實習呢?曾經作為一個大一的新生,其實我也傻傻問過幾位學長類似的問題,其中有一回答讓人印象深刻。他說他也不知道谷歌為什麼會給他offer,他只是在大一自學了java並且參加了一個小項目。他不知道自己想進什麼公司,但是他認為不斷充實自己,實力達到一定境界自然被好公司看上。
我的理解是:
如果你知道自己想要什麼,你自然知道自己想去谷歌幹嘛,你只需要為之努力,不斷接近你既有的目標。這樣你會離進入谷歌越來越近,然後實現。
如果你不知道自己想要什麼,你至少可以不斷積累和進步,等到你達到谷歌所需要的質量,他自然會選擇你。另一方面,等你達到一定高度,你也會有機會找到自己想要什麼。
遺憾的是,在知乎提問題等一份叫做「如何進入谷歌」的攻略不能幫你進入谷歌。好奇的問一句,你除了等這個回答,還有做過別的嗎?
你收到@tony 的答案後有去研究去搜索去行動嗎?
你看到答案之後有思考去谷歌從事什麼崗位以及你有多大差距嗎?
你開始找教授上學校bbs開始勾搭曾經進入谷歌的學長學姐嗎?
……路明明就在腳下,登山少年卻盯著遠方的山,展望美景和研究捷徑卻不踏出一步,這是一件很愚蠢的事情。
---------------------------
只說說北美谷歌。
我沒去谷歌實習過,但是很多學長在谷歌實習過,大部分是coop,小部分intern. 從他們的描述中看來,應聘google與fb ms或者蘋果等其他大公司沒有特別的區別。
碼農這個行業最大的特點就是很容易從你的工作經驗和面試中看出你有沒貨,只要有實力,再加一點運氣,谷歌的offer還是有可能的。請先確保你專業知識達到一定標準,有一定的項目經驗(比如其他實習或者開源社區),然後再來考慮怎樣進入。途徑不多也不少,谷歌百度上大都能查到。
如果你是國內大學,請確保你的英文不會拖你後腿。最好的鍛煉與證明方式就是獲取北美或者其他國際互聯網公司的Intern經驗。Intern在簽證方面比正式工好籤,但是我不了解詳細情況。
我給一個google官方的回答吧,鏈接如下:
http://www.google.com/edu/tools-and-solutions/guide-for-technical-development/index.htmlGuide for Technical Development
Having a solid foundation in Computer Science is important in being a successful Software Engineer. This guide is a suggested path for University students to develop their technical skills academically and non-academically through self paced hands-on learning. You may use this guide to determine courses to take but please make sure you are taking courses required for your major or faculty in order to graduate. The online resources provided in this guide are not meant to replace courses available at your University. However, they may help supplement your learnings or provide an introduction to the topic.
Using this guide:
- Please use this guide at your discretion
- There may be other things you want to learn or do outside of this guide - go for it!
- Checking off all items in this guide does not guarantee a job at Google
- This guide will evolve or change - check back for updates
Follow our Google for Students +Page to get additional tips, resources, and other students interested in development.
Recommendations for Academic Learnings
- Introduction to CS Course
Notes: Introduction to Computer Science Course that provides instructions on coding Online Resources:Udacity - intro to CS course, Coursera - Computer Science 101
- Code in at least one object oriented programming language: C++, Java, or Python
Beginner Online Resources: Coursera - Learn to Program: The Fundamentals, MIT Intro to Programming in Java, Google"s Python Class, Coursera - Introduction to Python, Python Open Source E-Book
Intermediate Online Resources: Udacity"s Design of Computer Programs, Coursera - Learn to Program: Crafting Quality Code, Coursera - Programming Languages, Brown University - Introduction to Programming Languages- Learn other Programming Languages
Notes: Add to your repertoire - Java Script, CSS, HTML, Ruby, PHP, C, Perl, Shell. Lisp, Scheme.
Online Resources: w3school.com - HTML Tutorial, CodeAcademy.com- Test Your Code
Notes: Learn how to catch bugs, create tests, and break your software
Online Resources: Udacity - Software Testing Methods, Udacity - Software Debugging- Develop logical reasoning and knowledge of discrete math
Online Resources: MIT Mathematics for Computer Science, Coursera - Introduction to Logic, Coursera - Linear and Discrete Optimization, Coursera - Probabilistic Graphical Models, Coursera - Game Theory
- Develop strong understanding of Algorithms and Data Structures
Notes: Learn about fundamental data types (stack, queues, and bags), sorting algorithms (quicksort, mergesort, heapsort), and data structures (binary search trees, red-black trees, hash tables), Big O.
Online Resources: MIT Introduction to Algorithms, Coursera Introduction to Algorithms Part 1 Part 2, List of Algorithms, List of Data Structures, Book: The Algorithm Design Manual- Develop a strong knowledge of operating systems
Online Resources: UC Berkeley Computer Science 162
- Learn Artificial Intelligence Online Resources:
Stanford University - Introduction to Robotics, Natural Language Processing, Machine Learning
- Learn how to build compilers
Online Resources: Coursera - Compilers
- Learn cryptography
Online Resources: Coursera - Cryptography, Udacity - Applied Cryptography
- Learn Parallel Programming
Online Resources: Coursera - Heterogeneous Parallel Programming
Recommendations for Non-Academic Learnings
- Work on project outside of the classroom.
Notes: Create and maintain a website, build your own server, or build a robot.
Online Resources: Apache List of Projects, Google Summer of Code, Google Developer Group- Work on a small piece of a large system (codebase), read and understand existing code, track down documentation, and debug things.
Notes: Github is a great way to read other people』s code or contribute to a project.
Online Resources: Github, Kiln- Work on project with other programmers.
Notes: This will help you improve your ability to work well in a team and enable you to learn from others.
- Practice your algorithmic knowledge and coding skills
Notes: Practice your algorithmic knowledge through coding competitions like CodeJam or ACM』s International Collegiate Programming Contest.
Online Resources: CodeJam, ACM ICPC- Become a Teaching Assistant
Notes: Helping to teach other students will help enhance your knowledge in the subject matter.
- Internship experience in software engineering
Notes: Make sure you apply for internships well in advance of the period internships take place. In the US, internships take place during the summer, May-September, and applications are usually open several months in advance.
Online Resources: google.com/jobs原創,轉載請聯繫本人。
利益相關:本人在國內的外企和BAT(具體哪家不細說了)工作三年半,最近(2016.12月底)剛剛拿到Google歐洲某地的offer。
我之前也在網上看了眾多谷歌面試的帖子,大部分是在校的學生寫的校招,面向國內的程序員的成功面試的經驗不太多,我就結合自己的經驗和過程說一說。
其實主要是三個問題:
- 如何寫簡歷並得到面試機會?
- 如何準備面試(技術面試包括演算法面試和System Design面試)?
- 在正式面試中有些注意點和坑?
下面就這三個問題總結下我的經驗和教訓,以及最近面試流程的一些新變化。
如何寫簡歷並得到面試機會
如何準備面試?
先說面試機會,這一點對於很多人來說很容易,對於另一些人來說也不難,但是不知道門路在哪裡。如果你是國內名牌大學的畢業生,或者身邊有同學朋友是Googler,那麼想必有內推機會並不困難,就算不熟,只要你願意找他們幫助你推,就一定會有人來幫助你,原因很簡單,除了他們可能人很好以外,內推是有不菲的推薦獎勵的。
如果你不是這樣的情況,那麼,就想想盡一切辦法找這樣的人,比如,你的學校歷史上如果有去谷歌的人,你就可以通過Linkedin或者其它社交網路找到他們,只要沾一點校友或者任何關係的光,我想都是願意幫助你的。當然,前提你也要為了面試而好好準備。他們很可能也走過和你相同的路,因而願意幫助你。
就我來說,不怕笑話,這已經是本人第三次面google了,小碩畢業前面過一次,工作一年後又面過一次,這是第三次了,HR 在電話里說:看歷史你已經是第三次面google了,這次準備的怎麼樣啊?我愣了一下說,比上次好。。。
關於簡歷,廢話不多說,一頁,只需要一頁,另外,不要寫與搬磚無關的事情。有人說,如果我當過學生會主席,寫上無妨吧?當然,讓別人知道你有領導能力,固然很好,但是從面試官的角度來說,簡歷就這麼一頁,你寫了這麼個事情,只能猜你是因為沒有更好的料(與編程相關的)才寫這個的。我以前,一直把這樣的內容寫的簡歷上,然而,從畢業到現在面試過的公司包括了國內外幾乎全部的一線大公司,沒有一家的任何一個面試官對這些內容中的任何一項有一丁點兒興趣。。。所以,現在全部都是寫工程啊項目啊的。。。
面試常問的問題是,你這個項目是幹嘛的,你做了什麼,別人做了什麼,你怎麼看。都是這一套,Microsoft, Amazon都是這一套。關於這點,一定要對自己團隊做的項目,尤其是自己的部分(不管是接手前人的,還是原創的)的每個細節一清二楚,尤其是對於 trade-off 的部分理解透徹,面試官一定會說:「我認為另一種方案更好,你們為什麼不採用?」,這時候,你的準備就派上用場了,可以說「我們當時也考慮了什麼什麼方案,但是因為。。。。所以沒有用。。。。我的方案也確實有些你說的問題,但是因為。。。所以這樣trade-off了」,千萬不要反駁面試官,一定要記住沒有最好的方案,一定都有取捨,說一些面試官聽得懂的話,不撒謊不忽悠,從容搞定。
這是如何進Google的核心問題,尤其是對於並沒有什麼 ACM 經歷的(比如我,本科就不是學計算機的)的同學最為關鍵的問題。
面試的問題有兩類,一類是演算法題,一類是系統設計。
先說演算法。
我有一個同學,畢業後去了facebook,後面轉到airbnb,最近當面試官的時候說,公司面人出題的要求是,不能是leetcode上有的,不能很容易想出來,但是也不能是欺負沒有刷過ACM的同學。且不說這樣題目是否難出,至少對於google,聽說是有這個一個題庫存在的,我自己多次面google的經驗也是如此,很多2013年面試失敗的題目很多個月以後才在leetcode上出現,但這個時候在mitbbs或者這些大家天天透題的網站上已經看不到有人面試時再遇見了,這也說明google的內部題庫應該是很大的,這些題目包括但不限於各種數據結構,常用的數組和鏈表的各種操作不說了,還有樹狀數組、線段樹、二叉搜索樹、字典樹、後綴樹等,倒不是說這些會在面試中直接問,而是在具體題目中,如果用上這些數據結構,演算法的時間複雜度會完全不一樣,當然,也可以在面試中給出使用一般數據結構的做法,但是如果了解這些相對高級點的結構,想必面試的效果完全不同。
簡單來說,我的準備流程是:
- 演算法導論一遍,課後題一遍,太難的章節,或者面試可能性不大的章節,如斐波那契堆等,直接跳過;
- leetcode兩遍,唉,現在leetcode上的題目真是越來越多,多得不像話了,而且新加了周賽,周賽的難度挺好,完全適合面試;
- 《Cracking the coding interview》至少一遍,裡面很好的梳理了面試的各種問題,尤其是behavior question(就是你印象最深的bug啊之類,這個我面多家都遇到了),書里的演算法題也十分好;
- 各種最新面經,主要來源有一畝三分地,http://mitbbs.com等,都需要翻牆,每天會有人更新最新的flag等各公司面經,不過主要問題是,裡面很少會有靠譜的回答,畢竟還在上面泡的大多數是正在找工作的人,而不是已經進公司的面試官了;
- 沒了
至於為啥最開始要刷一遍演算法導論,我本來只是想過一下基礎,想在刷題前看看一些基本東西,如堆啊等玩意兒的標準操作是啥,畢竟演算法導論還是比各種七七八八的論壇的總結帖靠譜。結果萬萬沒想到,最後面試時竟然用上了。故事是這樣的,面試官居然問了一個問題,我在現場分析時發現,這個題的難度要大於我在演算法導論上看到的一個NPC問題,按照複雜度理論,這樣的話,這個題就不可能有比指數複雜度(也就是窮舉法)更好的解法了。我給面試官說明了這個,他不置可否,就讓我開始寫代碼,我用完全搜索的方法,也就是O(2^n)複雜度完成了,按照當時面試官的要求沒有做剪枝,可能因為剪枝也不會影響複雜度。最後這一面也順利結束了。後來回到家我在想,如果當時我沒有看過演算法導論,而這個題基本不可能刷到(leetcode等刷題地方一般不會有NPC問題,因為這種題沒啥可優化的),那我會不會在面試時花很長的時間來思考「有沒有更好的解法」,顯然這樣會浪費面試的時間,因為根本不可能想出來。
再說系統設計
未完待更~
其實我覺得這一塊挺坑的,因為並不是每個人都會在實際工作中遇到這樣的scaling的問題。但是這些外企面試的時候,不管你面什麼技術崗,都要問你「如何設計一個twitter支持10億用戶」這樣的問題。
補充:如果能要來referral最好。谷歌每天都收到太多太多申請,referral至少保證自己簡歷能被recruiter看到。可以多用LinkedIn,搜索recruiter和自己想去的組,多加好友,也可以通過身邊朋友找到那個組的員工聊一聊,這樣面試成功率能相對提高。去glassdoor看看就知道,谷歌的面試24%來自recruiter,還有24%來自referral,只有37%來自網申。1.第一步務必是要找一個靠譜的推薦人:
最重要的一點,不要害怕投Google...一旦HR認可你的背景之後(並不需要特別好),面試能力就像考試能力一樣是可以訓練出來的,拼上你的抱佛腳能力上吧~
推薦給HR時需要填寫很多資料,類似這個人你熟嗎,能力如何,云云,推薦人所說和你的簡歷是HR綜合考慮給不給你面試機會的關鍵.
2.拿到面試機會以後就到了第二步:
就如斷浪刀所說,先把leetcode之類的online judge刷到10到15分鐘內一題,代碼簡潔(如總是要寫到40行..一定是來不及的)且無BUG(或者沒有面試官在幾分鐘內可以看出的BUG,不過他們面試後會review你的代碼再寫評價的,所以盡量做到無BUG吧).看cracking the coding interview感到題題均略為眼熟...在代碼方面就及格了~cracking一書也幫助面試者看看自己有沒有遺漏的知識點,所以此類書一定要看一本.
3.第三步是面試技巧:
有ACM等競賽經驗既不是進Google的充分條件也不是必要條件,很多有競賽經驗的大牛也跪在面試上,主要問題在和面試官的交流溝通上,面試官在評分時,是否願意和這位被面試者共事也是考慮點之一.問清題目,千萬不要悶頭思考做題,還可以主動問問各種情況是否要考慮,是否可以假定XX條件,之類的(當然也不要問好幾分鐘..寶貴的答題時間都是你的喵).可以按這個步驟答題:
聽題-&>問問題-&>想思路-&>和面試官探討思路-&>寫答案-&>找BUG-&>和面試官討論你的答案
面試官都是大活人,一定要多交流,說出你的思路,如果沒有思路也不要一直想,可以要提示,提示會扣分,但總比時間耗完的好.
4.面完基本就是聽天由命...不過還是有一些TIPS的:
可以問問HR面試結果,如果不盡如人意看看面DEV的能否換TEST啊,換office啊,如果你面得還算可以卻又沒有完全qualified也是可能拿到其他職位或者其他office的面試機會的~
- 需要有比較紮實的演算法基礎(ACM經歷不是必須的),熟悉數據結構,思維靈活。
- 較好的溝通能力。
- 面試國外職位的話,需要用英文進行簡單的交流。
- 找一名Google員工內推你
推薦閱讀:
※如何把自己屋子打造成像灣區那種,大部分用遙控充滿高科技的感覺?
※如何評價谷歌的漢堡 emoji 和其他 IT 公司在結構上的巨大區別?
※大件事到需要跟政府僱員簽署保密協議,究竟 Google 停泊在舊金山灣的巨大駁船是做何用?
※Google Glass 使用了哪種顯示技術?具體是怎麼實現的?
※Google 和 SONY 的黑科技誰更?黑??