2017年7月24號(hào)到28號(hào)播玖,我連續(xù)五天面試了五家公司:LinkedIn、Salesforce咖耘、Google翘簇、Airbnb、Facebook儿倒,最終拿到了五個(gè)Offer版保。能有這樣的結(jié)果確實(shí)非常地幸運(yùn)呜笑,付出的諸多努力也算有了回報(bào),同時(shí)這段時(shí)間也是一段相當(dāng)寶貴彻犁、刺激程度勝過高考的經(jīng)歷叫胁,所以寫了這篇帖子作為總結(jié)和紀(jì)念。
五家公司各有特色汞幢,都是我非常喜歡的驼鹅。我會(huì)回顧一下準(zhǔn)備面試的過程以及一些個(gè)人經(jīng)驗(yàn),談?wù)剬?duì)五家公司的印象,最后說一些整個(gè)換工作流程中我覺得值得注意的地方岩馍。因?yàn)槲也⒎怯?jì)算機(jī)專業(yè)出身双谆,工作時(shí)間也很短,知識(shí)和經(jīng)驗(yàn)都非常有限,所以這里寫的內(nèi)容僅供大家參考系谐。
起因
時(shí)間是2017年馆类,我已經(jīng)在Groupon芝加哥總部工作了將近三年,項(xiàng)目很有意思,團(tuán)隊(duì)也非常給力供璧。按道理說我本應(yīng)該衣食無憂地繼續(xù)下去存崖,工作輕松,生活自在睡毒。但是我卻覺得不滿足来惧,畢竟年紀(jì)輕輕就耽于安樂不是一件好事。我感覺日常工作越來越熟練的同時(shí)演顾,每天學(xué)習(xí)的速度卻在減慢供搀,內(nèi)心也開始希望迎接新的挑戰(zhàn)。同時(shí)作為一名在芝加哥住了八年的碼工钠至,也總想著去硅谷折騰折騰葛虐。
于是我和老婆說了我的想法,在得到她的大力支持后棉钧,我開始準(zhǔn)備換工作挡闰。首先是經(jīng)歷了一場失敗的面試,遺憾地錯(cuò)過了一個(gè)明星Startup掰盘,激發(fā)了我的動(dòng)力摄悯,也讓我認(rèn)識(shí)到自己的不足。然后我重整旗鼓愧捕,挑選了幾家喜歡的公司奢驯,回復(fù)了LinkedIn上面HR發(fā)來的幾封郵件,又拜托以前會(huì)議上認(rèn)識(shí)的朋友幫我內(nèi)推次绘,同時(shí)開始認(rèn)真準(zhǔn)備面試瘪阁。
準(zhǔn)備
我申請的都是機(jī)器學(xué)習(xí)相關(guān)的職位撒遣,但五家公司的具體頭銜和面試流程略有不同。有三家公司(G管跺,L义黎,F(xiàn))的職位是Software Engineer in Machine Learning,Salesforce的職位是Data Engineer豁跑,Airbnb是general的Software Engineer廉涕,因此Algorithms & Coding,Machine Learning艇拍,System Design這三塊我都需要準(zhǔn)備狐蜕。
因?yàn)榘滋爝€有全職工作,所以只能晚上和周末抽出一些時(shí)間準(zhǔn)備面試卸夕,加上需要準(zhǔn)備的東西又多层释,前后總共大概花了兩三個(gè)月時(shí)間。以下簡單說說我的方法快集。
Algorithms & Coding
這一塊其實(shí)是最好也最難準(zhǔn)備的贡羔。一方面有許多的網(wǎng)站提供了大量的題目可以練習(xí),另一方面也需要投入大量時(shí)間精力个初。我先是花幾周復(fù)習(xí)了常見的算法和數(shù)據(jù)結(jié)構(gòu)乖寒,然后有針對(duì)性地練習(xí)了一些不太熟練的方面,最后又練習(xí)了一些高頻題目勃黍。這里有幾點(diǎn)想法,其實(shí)也是老生常談了晕讲,就算多給大家提供一個(gè)數(shù)據(jù)點(diǎn)吧覆获。
1、不能盲目追求數(shù)量瓢省,而是要理解做過的每一道題目弄息。有的帖子會(huì)告訴你“一定要把LC刷三遍以上”之類的,我的感覺是這不太現(xiàn)實(shí)勤婚。目前LC上面有600多道題摹量,在全職工作的情況下要全部做完我可能要做個(gè)一年。我最后做了將近80道馒胆,個(gè)人感覺是完全夠用了缨称。我的想法是如果做完80道還沒有效果的話,那么做800道可能依然沒有效果:) 當(dāng)然前提是這80道還是要面面俱到的祝迂,常見類型都要覆蓋到睦尽。
2、按照題目類型型雳,逐個(gè)類別準(zhǔn)備当凡,每個(gè)類別要到最高難度山害。像LeetCode這樣的網(wǎng)站上都有Tag,可以分類進(jìn)行練習(xí)沿量,比如dynamic programming浪慌,recursion,graph等等朴则。一般來說每種類型的題寫兩三道之后就差不多完全熟練了权纤,如果沒有的話,那么可以思考一下自己是不是真正理解了之前做過的題目佛掖。同時(shí)要做每個(gè)類型中最難的題目妖碉,不要被Hard的標(biāo)簽嚇到。這個(gè)是理所應(yīng)當(dāng)芥被,做過最難的題欧宜,簡單一些的當(dāng)然能迎刃而解。
3拴魄、什么時(shí)候看答案:一道題卡了兩個(gè)小時(shí)以上冗茸,以及做出來一道題之后。如果一道題卡了兩個(gè)小時(shí)以上匹中,我的做法是直接看答案夏漱。很多時(shí)候做不出來就是做不出來,花再多時(shí)間也沒用顶捷,或者不劃算挂绰。用心理解別人的做法而不是和一道題死磕能夠省去很多時(shí)間。即使做出來的題服赎,建議也看看高票答案葵蒂。有的時(shí)候很多答案會(huì)讓你嘆為觀止。我就很佩服那些一行Python代碼解決問題的人重虑,雖然有時(shí)依賴語言的某個(gè)特性践付,但實(shí)在是很精妙。
4缺厉、用自己最熟練永高、最通用的語言。畢竟Coding面屬于應(yīng)試提针,用最得心應(yīng)手命爬、最流行的語言可以提高效率,面試的時(shí)候也有助于和面試官進(jìn)行溝通辐脖。如果用略小眾的語言(Clojure遇骑,Rust,etc.)揖曾,雖然可以體現(xiàn)你技能的多樣性落萎,但有時(shí)候面試環(huán)境不一定支持亥啦,和面試官解釋思路的時(shí)候在算法的上面可能還要額外解釋一層語法,不如保險(xiǎn)一點(diǎn)用Java或者Python练链。另外不得不說Python和Ruby這樣的動(dòng)態(tài)類型語言在面試的時(shí)候打起來實(shí)在是很快很方便翔脱,換做是Java容器類型的type parameter還要額外寫一遍,有時(shí)候效率會(huì)打點(diǎn)折扣媒鼓。
System Design
這一塊只要是有工作經(jīng)驗(yàn)的就會(huì)被著重問到届吁。 如果你有不少系統(tǒng)設(shè)計(jì)的經(jīng)驗(yàn),那么花的時(shí)間可以相對(duì)少一些绿鸣。雖然是很看經(jīng)驗(yàn)疚沐,但也還是可以準(zhǔn)備的,網(wǎng)上也有很多的經(jīng)驗(yàn)貼和練習(xí)題潮模。
個(gè)人感覺這一塊問的問題很雜亮蛔,范圍很廣,主要考察綜合素質(zhì)擎厢。常見的范圍包括architecture究流,object oriented design,database schema design动遭,distributed system芬探,scalability等等。因?yàn)槲抑饕嬖嚨穆毼皇菣C(jī)器學(xué)習(xí)相關(guān)的厘惦,所以這次面試遇到的session少一些(主要是Airbnb)偷仿。
這里是一些我準(zhǔn)備過程中看過的不錯(cuò)的資源:
1. http://blog.gainlo.co
2. http://horicky.blogspot.com
3. https://www.hiredintech.com/classrooms/system-design/lesson/52
4. http://www.lecloud.net/tagged/scalability
5. http://tutorials.jenkov.com/software-architecture/index.html
6. http://highscalability.com/
面試中一些大的原則是:
1. 先明白需求,然后考慮大框架宵蕉,最后是具體設(shè)計(jì)酝静。
2. 沒有完美的設(shè)計(jì),要懂得如何做出取舍(trade-off)国裳。
這里想說的是平時(shí)里的積累在系統(tǒng)設(shè)計(jì)里其實(shí)很能體現(xiàn)出來形入。舉個(gè)例子全跨,要是工作中用到HBase缝左,有的人可能就只是簡單的用一下Client跑一些DDL,做一些Get浓若,但是有的人可能就會(huì)深入一些了解整個(gè)系統(tǒng)的設(shè)計(jì)渺杉,包括Zookeeper起到什么作用,整個(gè)讀/寫流程是怎樣的挪钓,如何保證strong consistency是越,minor / major compaction都會(huì)做什么工作,LRU Cache和Bloom Filter的作用碌上,等等倚评。如果經(jīng)驗(yàn)更多一些浦徊,還可以把HBase和Cassandra進(jìn)行比較,看看二者的設(shè)計(jì)有什么異同天梧,Consistency和Availability各自如何取舍盔性,Master-Slave和Master-Master相比有何優(yōu)劣。所以工作中遇到的問題呢岗、使用的工具最好多花一些時(shí)間思考和了解冕香,平時(shí)多積累,保持虛心和對(duì)知識(shí)的渴望后豫。
另外就是許多不錯(cuò)的微信公眾號(hào)會(huì)推薦一些很好的干貨文章悉尾,雖然總體來說碎片化、不系統(tǒng)挫酿,但有的文章質(zhì)量相當(dāng)高构眯。我訂閱的有數(shù)盟、大數(shù)據(jù)文摘饭豹、架構(gòu)文摘鸵赖、InfoQ、阿里技術(shù)等等拄衰,等車時(shí)或者睡前讀讀都挺好它褪。
Machine Learning
機(jī)器學(xué)習(xí)這塊大致能分為兩種,一個(gè)是Theory翘悉,一個(gè)是Product/System Design茫打。
理論部分就要靠基礎(chǔ)和平時(shí)積累了。除非從事過機(jī)器學(xué)習(xí)方面的研究妖混,多看幾本教材肯定是有必要的老赤。經(jīng)典教材比如The Elementsof Statistical Learning和Pattern Recognition and Machine Learning都會(huì)很有幫助。有興趣的話Deep Learning制市,Probabilistic Graphical Models都是不錯(cuò)的書籍抬旺。
基礎(chǔ)概念例如bias-variance trade-off、overfitting祥楣、gradient descent开财,L1/L2 regularization,Bayes Theorem误褪,bagging/boosting责鳍,collaborative filtering,dimension reduction等等都要有所了解兽间。簡單的公式要寫得出來历葛,比如常見的模型例如Logistic regression,SVM最好要會(huì)loss function的推導(dǎo)嘀略。簡單的算法例如decision tree和K-means最好自己實(shí)現(xiàn)一下恤溶。
另外就是自己用過的模型一定要深入了解乓诽,不僅僅限于調(diào)用API,最好能夠從理論角度評(píng)價(jià)優(yōu)缺點(diǎn)咒程。
機(jī)器學(xué)習(xí)產(chǎn)品和系統(tǒng)設(shè)計(jì)方面的話问裕,總的來說比較依賴經(jīng)驗(yàn)和直覺。我自己本來不做建模和產(chǎn)品設(shè)計(jì)孵坚,但是有段時(shí)間維護(hù)幾個(gè)比較重要的模型粮宛,也算是有些膚淺的了解。
一些基本的設(shè)計(jì)流程需要了解卖宠。比如讓你設(shè)計(jì)一個(gè)機(jī)器學(xué)習(xí)系統(tǒng)巍杈,首先要明確目標(biāo)是什么(預(yù)測/推薦/搜索),其次是具體算法的選擇(有監(jiān)督/無監(jiān)督扛伍,分類/回歸筷畦,線性模型/決策樹/神經(jīng)網(wǎng)絡(luò)), 然后是針對(duì)現(xiàn)有的數(shù)據(jù)如何進(jìn)行特征工程選取特征刺洒,最后是如何評(píng)價(jià)模型的質(zhì)量鳖宾。之后還會(huì)有一些針對(duì)工程方面的優(yōu)化,比如實(shí)時(shí)的機(jī)器學(xué)習(xí)系統(tǒng)如果要滿足SLA逆航,模型應(yīng)該做些什么樣的調(diào)整鼎文。
這里再強(qiáng)調(diào)一次持續(xù)學(xué)習(xí)的重要性,好奇心和虛心還是很重要的因俐。比如有的人用Spark MLlib或者XGBoost就只是簡單地調(diào)用API訓(xùn)練出一個(gè)模型拇惋,但有的人就會(huì)研究為什么Stochastic gradient descent適合分布式訓(xùn)練,又或者了解XGBoost和通常的GBDT有什么區(qū)別抹剩,包括對(duì)Loss Function的定義有何特別之處撑帖,為什么用到二階導(dǎo),等等澳眷。
流程
電面
在集中精力準(zhǔn)備了大約兩三周之后胡嘿,我開始了整個(gè)面試流程的第一步,電面钳踊。
電面沒什么好說的衷敌,都是標(biāo)準(zhǔn)化的過程,區(qū)別是有的公司(比如LinkedIn)有一個(gè)小時(shí)箍土,有的(Facebook逢享,Airbnb)只有45分鐘罐监。
因?yàn)闀r(shí)間緊迫吴藻,而且通常只有一次機(jī)會(huì),所以熟練度最重要弓柱。題目類型一定要馬上識(shí)別出來并且給出思路沟堡,寫代碼的過程可以慢一點(diǎn)侧但,但要和面試官說明你的意圖。如果是背答案只有死路一條航罗,稍微問個(gè)Follow up就掛了禀横。
另外針對(duì)機(jī)器學(xué)習(xí)的職位,有的公司會(huì)問一些基本概念粥血,所以也不能只準(zhǔn)備coding柏锄。
我為了提高效率,把三個(gè)電面安排在了同一天下午复亏,每個(gè)之間隔一個(gè)小時(shí)休息趾娃。這樣的做法不一定適合所有人,好處是可以趁熱打鐵缔御,壞處是很累而且風(fēng)險(xiǎn)很大抬闷,萬一頭沒開好后面可能會(huì)受影響。
這里想說的是集中面試雖然很累耕突,但也會(huì)給你很多優(yōu)勢笤成,比如有的時(shí)候能夠省去某些環(huán)節(jié)。有些硅谷的公司有一個(gè)規(guī)定眷茁,對(duì)于灣區(qū)以外的面試人要進(jìn)行兩輪電面炕泳。LinkedIn和Facebook我都是一輪電面后拿到了onsite,于是我就跟Airbnb和Salesforce的HR申請能不能免掉第二輪的電面上祈,結(jié)果兩家公司都非常爽快地同意了喊崖。
而Google作為一家大公司就更加讓我驚喜了。當(dāng)時(shí)我本來已經(jīng)安排了除開周三的四天面試雇逞,本來準(zhǔn)備留出周三休息一天荤懂。沒想到就在前一周我接到一個(gè)陌生來電,沒想到是Google的HR塘砸,問我對(duì)Google有沒有興趣节仿。我自然是受寵若驚,表示非常有興趣但下周沒有時(shí)間掉蔬,問他們能否推遲到別的公司onsite之后廊宪,HR說沒問題。過了幾個(gè)小時(shí)女轿,我又接到他們的電話箭启,說決定讓我跳過電面,直接進(jìn)行onsite蛉迹,并且可以給我安排到周三傅寡。雖然預(yù)計(jì)到這樣會(huì)很累(事后證明確實(shí)如此),可這是天上掉下來的大餡餅,我沒有理由放棄荐操,所以很高興地答應(yīng)了芜抒。
Onsite & 公司印象
五家公司雖然都是互聯(lián)網(wǎng)/IT公司,但處于不同的領(lǐng)域托启,文化上也各有千秋宅倒。我簡單說一說自己對(duì)它們的感覺。另外雖然不算是吃貨屯耸,但作為民以食為天的中國人拐迁,自然也要對(duì)午飯進(jìn)行一下評(píng)價(jià)。
我三年前去過Mountain Views的總部疗绣,這次面試我去的是Sunnyvale的辦公室唠亚,比MV要新一些。作為專注于職場社交的公司持痰,L家的特點(diǎn)是端莊灶搜、大氣、職業(yè)化工窍,內(nèi)部文化也相應(yīng)地非常Professional割卖。員工的穿著都是Business casual,整體給人一種職場精英的感覺患雏,與他們的Mission非常契合鹏溯。
LinkedIn被微軟收購以后少了經(jīng)濟(jì)壓力,并且保持基本完全獨(dú)立的運(yùn)營淹仑,可以把重心放到更長遠(yuǎn)的目標(biāo)上丙挽,同時(shí)能夠與M家大量的資源進(jìn)行整合,個(gè)人認(rèn)為對(duì)L是件好事匀借。作為一家專注于職業(yè)發(fā)展的公司颜阐,LinkedIn自然也把自身員工的成長放在首要位置。目前包括ads relevance吓肋、feed ranking凳怨、people you may know在內(nèi)的許多組都在招人,感興趣的同學(xué)可以盡快行動(dòng)是鬼。
面試方面肤舞,每個(gè)Session是一個(gè)小時(shí)。Coding題目正常均蜜,不過ML方面難度不低李剖,大家要做好足夠的準(zhǔn)備。但其實(shí)onsite之前HR會(huì)發(fā)一封郵件囤耳,非常詳細(xì)地告訴你需要準(zhǔn)備哪些內(nèi)容:)
面試官們都很親切篙顺,有時(shí)候會(huì)給一些適當(dāng)?shù)闹敢忌郑偟膩碚f面試過程還是相當(dāng)開心的。面完了我還驚喜地發(fā)現(xiàn)面試官中有一位本科的師兄慰安。
L家的食堂還是一如既往地給力,中餐聪铺、西餐化焕、印度餐菜系齊全,菜樣豐富铃剔,還搭配有很多水果撒桨、沙拉。吃完了午餐坐在Sunnyvale明媚的午后陽光中思考思考晚餐該吃什么键兜,想來應(yīng)該是一件幸福的事凤类。
Salesforce Einstein
Einstein是Salesforce近幾年主推的明星產(chǎn)品,擁有一個(gè)明星團(tuán)隊(duì)普气,擁有像Richard Socher這樣的優(yōu)秀研究員谜疤。從我了解到的情況看,由于Benioff對(duì)于團(tuán)隊(duì)充分放權(quán)现诀,Einstein團(tuán)隊(duì)就像是公司內(nèi)部的一個(gè)startup夷磕,文化也與公司別的部門不同。Einstein未來幾年肯定是整個(gè)公司主推的產(chǎn)品仔沿,Salesforce擁有的海量數(shù)據(jù)加上公司推進(jìn)AI平臺(tái)的決心坐桩,可以說是前途光明。
團(tuán)隊(duì)主要使用Scala封锉,Tech stack都是Akka/Play/Spark那一套绵跷,這也是最吸引我的一點(diǎn)。我最初接觸到Einstein就是在17年4月的ScalaDays上聽了Matthew以Type safety in machine learning為題的演講成福,之后又在Spark Summit West上聽了Leah的演講碾局。喜歡Scala的人一定不要錯(cuò)過。
面試地點(diǎn)是在Salesforce位于Palo Alto的辦公室,是一棟三層建筑的頂樓。面試整體流程比較短逃糟,總共只有四個(gè)Session楼雹,總體側(cè)重于Data engineering和System design。另外需要注意的是coding也是要上機(jī)跑的勇凭。面試我的人中有Prediction IO的創(chuàng)始人,也讓我很激動(dòng)。
團(tuán)隊(duì)氛圍很輕松埋合,吃飯的時(shí)候就像是一大家子人,互相開玩笑萄传,VP也會(huì)坐在一起和大家胡侃甚颂。我去的那天吃得非常不錯(cuò)蜜猾,具體什么菜記不清了,就記得擺了一大桌子振诬,其中魚肉很好吃蹭睡。
當(dāng)今業(yè)界的領(lǐng)頭巨人,沒啥好說的赶么。最重要的印象就是大肩豁,去見我同學(xué)的時(shí)候騎車還騎了二十分鐘。就我所了解到的辫呻,和Facebook相比清钥,Google整體節(jié)奏要慢一些,會(huì)做一些比較長期的項(xiàng)目放闺。如果你認(rèn)為自己適合慢一點(diǎn)的工作節(jié)奏祟昭,那么Google會(huì)是個(gè)很棒的選擇。
面試是在許多樓里的其中一棟怖侦。感覺面試官貌似都比我年輕篡悟,總體來說題目沒有很難。Coding有一道題我沒有給出正確解匾寝,但面試小哥說接近了恰力。機(jī)器學(xué)習(xí)的部分感覺和L家問的內(nèi)容差不太多。值得注意的是Google特別強(qiáng)調(diào)算法的復(fù)雜度旗吁,一定要能夠清楚地分析出時(shí)間和空間復(fù)雜度踩萎,能夠針對(duì)瓶頸進(jìn)行優(yōu)化,這一點(diǎn)與別的公司不同很钓。
中午吃飯的時(shí)候人超多香府,排隊(duì)也排了好久,最后還跟帶我吃飯的伊朗大哥打了一會(huì)兒乒乓码倦。
Airbnb
這個(gè)時(shí)間點(diǎn)上(2017年)當(dāng)之無愧的明星公司企孩。在Snapchat已經(jīng)上市但股價(jià)低迷,Uber高層動(dòng)蕩的今天袁稽,Airbnb算是Unicorn里的一枝獨(dú)秀勿璃,擁有非常獨(dú)特的公司文化以及可能是硅谷最漂亮的辦公室。由于實(shí)際上處于旅游產(chǎn)業(yè)推汽,所以Airbnb能夠比較順利地進(jìn)入中國市場补疑。在核心的短租業(yè)務(wù)于歐美市場初步實(shí)現(xiàn)盈利但趨于飽和的情況下,也在積極地向旅游房屋租賃的上下游進(jìn)行拓展歹撒,推出了新產(chǎn)品“體驗(yàn)”以及餐館預(yù)定服務(wù)莲组,并在高端市場進(jìn)行嘗試,這些都為Airbnb的前景增添了積極的因素暖夭。
與別的公司不同锹杈,Airbnb的coding面試要求上機(jī)撵孤,并且每個(gè)Session只有45分鐘時(shí)間,某些題目的難度也相當(dāng)大竭望,所以壓力還是不小的邪码。System design環(huán)節(jié)還算正常,不過房間里的board很小咬清,有點(diǎn)寫不開闭专。而Airbnb獨(dú)樹一幟的cross functional面試我覺得是最享受的,基本上就在和面試官談人生談理想枫振,全程都很放松喻圃。但Airbnb的面試流程最長萤彩,環(huán)節(jié)最多粪滤,總體感覺也是最累的。
印象中午餐選項(xiàng)沒有特別多雀扶,但是味道還不錯(cuò)杖小。帶我吃飯的法國小哥一聽我第二天要去Facebook面試,立刻非常興奮地告訴我他從Facebook來Airbnb的理由愚墓,并且很開心地帶我到樓里幾個(gè)著名景點(diǎn)轉(zhuǎn)了轉(zhuǎn)予权。
仍然在高速成長的巨人,在可能是硅谷最愛中國的CEO帶領(lǐng)下鋪展了全面的產(chǎn)品線浪册,在社交網(wǎng)絡(luò)領(lǐng)域基本上處于壟斷地位扫腺,同時(shí)也在AI和VR等引領(lǐng)未來的領(lǐng)域積極投入,發(fā)展空間仍然非常廣闊村象。從我了解的信息看笆环,F(xiàn)acebook注重開放的文化,同時(shí)工作節(jié)奏快厚者。
我的面試是在樓頂有花園的海景房Building 20躁劣,也是扎克伯格辦公的地方,由于夏季水少其實(shí)看到的是一片鹽堿地库菲。旁邊還有幾棟正在蓋的新樓账忘,加上傳聞今年兩千多的名額,說明Facebook仍然處于擴(kuò)張期熙宇。
Facebook的整個(gè)面試過程我自己感覺是最不好的鳖擒,一方面是因?yàn)橐呀?jīng)是第五場面試,整個(gè)人已經(jīng)很疲勞了烫止,另外可能是Facebook的規(guī)定败去,面試官都沒有對(duì)我的答案給出特別明顯的好與不好的信號(hào),雖然我覺得自己的答案沒有錯(cuò)烈拒,但也稍微有些拿不準(zhǔn)自己的表現(xiàn)圆裕。
兩場Coding還算是正常广鳍,兩道題都在面試官的提醒下總共給出了兩種解法,有一場還問了兩道題吓妆。ML產(chǎn)品設(shè)計(jì)面到一半的時(shí)候已經(jīng)感覺自己生病了赊时,頭疼得厲害,最后硬撐著完成了面試行拢。出來以后感覺不太好祖秒,以為沒戲了,沒想到最后竟然也拿到了Offer舟奠。
談工資
回來以后就陸陸續(xù)續(xù)地收到了幾家公司的Offer竭缝,雖然心里基本上有數(shù),但說實(shí)話聽到HR祝賀的時(shí)候還是非常開心的沼瘫,畢竟付出那么多努力都有了回報(bào)抬纸。
然后就是流程最后的階段,工資談判耿戚。這個(gè)階段其實(shí)重要性不亞于面試湿故,因?yàn)樗苯記Q定了你未來幾年對(duì)工作和生活的滿意程度。
很多人覺得自己不擅長談判膜蛔,或者很多時(shí)候不好意思開口坛猪。我個(gè)人覺得求職實(shí)際上是在出售自己的時(shí)間,而時(shí)間對(duì)于一個(gè)人來說是唯一不可再生的資源皂股,如果你自己都覺得你的時(shí)間不值錢墅茉,那么別人也不會(huì)覺得它值錢。
工資談判是個(gè)很大的話題呜呐,這里我不打算深入討論就斤,不過這篇帖子很有幫助:https://medium.freecodecamp.org/how-not-to-bomb-your-offer-negotiation-c46bb9bc7dea
有幾點(diǎn)我覺得值得注意:
1.保持職業(yè)風(fēng)度。
2.了解你的籌碼卵史。
3.顯示出你對(duì)團(tuán)隊(duì)和項(xiàng)目的興趣战转。
4.保持耐心和信心。
5.態(tài)度堅(jiān)定的同時(shí)要溫和以躯。
6.絕對(duì)不要撒謊槐秧。
Databricks
也許五次面試拿到五個(gè)Offer是一個(gè)比較理想的結(jié)果,但這樣的結(jié)果其實(shí)始于一場失敗的面試忧设。
早在五月份的時(shí)候刁标,我就面試過Databricks,也是我換工作面試的第一家公司址晕。當(dāng)時(shí)是Spark MLlib組的經(jīng)理Xiangrui在LinkedIn上聯(lián)系我膀懈,問我有沒有興趣面試他們組。我當(dāng)時(shí)受寵若驚谨垃,覺得這是個(gè)絕佳的機(jī)會(huì)启搂。第一硼控,我自己用Spark工作,無論是Scala還是分布式機(jī)器學(xué)習(xí)算法都對(duì)我有很大吸引力胳赌。第二牢撼,Databricks的工程師實(shí)力都是業(yè)界頂級(jí),如果有機(jī)會(huì)跟他們一起工作一定能學(xué)到很多東西疑苫。第三熏版,Spark正在給整個(gè)業(yè)界帶來變革,處于浪潮的最前沿也是一件讓人非常興奮的事捍掺『扯蹋考慮了幾天之后,我覺得這是個(gè)不可多得的機(jī)會(huì)挺勿,于是簡單地準(zhǔn)備了兩天就開始了面試流程曲横。
Databricks的水平要求相當(dāng)高,整個(gè)過程包括兩道初篩題满钟、一次電面胜榔、一道大作業(yè)以及最后的Onsite胳喷。我的感覺是僅僅是兩道初篩題難度就已經(jīng)不低湃番,應(yīng)該說比其他大公司的面試更加嚴(yán)格。我前面的環(huán)節(jié)還比較順利吭露,拿到了Onsite的機(jī)會(huì)吠撮。
Databricks目前位于三藩城內(nèi),依然是早期創(chuàng)業(yè)公司的規(guī)模讲竿,辦公室有兩層樓泥兰,其中一面可以看到海灣,風(fēng)景非常不錯(cuò)题禀。
早晨和HR打過招呼后她就領(lǐng)我到了面試的房間鞋诗。前面幾輪我感覺還算正常,題目難度算是中間偏上迈嘹,面試官也都是非常的謙和削彬。但是下午有一輪是針對(duì)機(jī)器學(xué)習(xí)算法理論,一方面自己實(shí)力不足秀仲,另一方面準(zhǔn)備不夠充分融痛,整個(gè)環(huán)節(jié)完全僵在那里,不知從何下手神僵,當(dāng)時(shí)就覺得自己應(yīng)該拿不到Offer了雁刷。最后是和他們VP of Engineering簡單聊了聊。
回芝加哥之后幾天就收到了拒信保礼,雖然也是預(yù)料之中的結(jié)果沛励,不過還是郁悶了好幾天责语。雖然沒有機(jī)會(huì)到Databricks工作,但我相信以現(xiàn)在Spark在整個(gè)業(yè)界的影響力以及Databricks整個(gè)團(tuán)隊(duì)的實(shí)力目派,他們一定能創(chuàng)造出更大的成功鹦筹。
總結(jié)
1. 人生很短,職業(yè)生涯更短址貌。該跳的時(shí)候就要果斷跳铐拐。
2. 集中面試很累,但也會(huì)給你很大優(yōu)勢练对。
3. 面試不僅僅是個(gè)找工作的過程遍蟋,更是個(gè)交朋友的機(jī)會(huì)。硅谷圈子就那么大螟凭。
4. 平時(shí)有機(jī)會(huì)也要多交朋友虚青,比如開會(huì)就是個(gè)很棒的機(jī)會(huì)。Databricks螺男、Salesforce棒厘、Airbnb的面試機(jī)會(huì)都源于我去過的Spark Summit和Scala Days。
5. 拿到Offer僅僅代表你達(dá)到了公司的最低標(biāo)準(zhǔn)下隧。最高標(biāo)準(zhǔn)肯定是沒有的奢人,所以時(shí)刻保持虛心和進(jìn)取心。
從五月初份面試第一家公司到九月末接受Offer淆院,終于完成了職業(yè)生涯中第一次跳槽何乎。回過頭看看土辩,準(zhǔn)備面試的過程還是很辛苦的支救,有一段時(shí)間每天晚上都是準(zhǔn)備到一點(diǎn)才睡,第二天早晨又要100%投入地上班拷淘,確實(shí)對(duì)身心都是一種考驗(yàn)各墨。
最終能拿到這樣多的工作機(jī)會(huì)實(shí)在是很幸運(yùn),畢竟任何一家公司都是無數(shù)人的dream company启涯。
感謝在這個(gè)過程中所有幫助過我給過我建議的朋友贬堵。感謝所有給我面試機(jī)會(huì)和Offer的公司,跟我一直聯(lián)系的HR逝嚎,以及每個(gè)抽出寶貴時(shí)間和我聊天的人扁瓢。
最后也是最重要的,感謝一直默默支持我的家人們——看著我一步步成長的父母补君,全職工作引几、努力帶娃、愿意放我一個(gè)人出去浪的妻子,還有伟桅,每天都給我暖心微笑的女兒敞掘。你們是我努力的動(dòng)力。
LinkedIn:https://www.linkedin.com/in/xiaohanzeng/
Twitter:https://twitter.com/XiaohanZeng
最后給自己的小說《當(dāng)我談?wù)撍忝鼤r(shí)楣铁,我想談的是大數(shù)據(jù)》打個(gè)廣告玖雁,關(guān)注本公眾號(hào)或者上果殼看連載:http://www.guokr.com/post/592618/
曽笑寒