程式設計師如何做好應聘?簡歷、面試和Offer

問題3:什麼時候才知道準備好面試?

可以從如下幾個方面來衡量。

算法是否過關,是否能寫出遞歸和動規;

Coding是否過關,是否能在編譯器中寫出Bug Free;

Design是否過關,是否能給出Tradeoff;

項目經歷整理,能夠流利說出架構、難點、自己的貢獻;

加分項:Github、Blog、參與Open Source。

問題4:如何拿到美國工作簽證?

要來美國工作,一般是要求具有H1B(工作簽證)的身份,獲得該身份需要有僱主向勞工局提出申請(sponsorship)。根據現在的形式,每年的名額都是一搶而空,那麼這就需要抽籤決定。在4月1日之前提出申請,4月1日之後開始抽籤,如果是在美國獲取碩士以上的學位,可以有優先級,抽取概率更高,而根據今年情況,普通的抽中幾率是50%。即便沒有抽中,如果是擁有美國的碩士學位,可以使用OPT照樣工作,並且可以省社會安全稅(Social Security Tax)。而如果是海外的學位,只能等來年再抽籤。

像Google、Facebook這種全球性公司,他們也會提供其他國家辦公室的機會,工作一年後再通過L1或者H1B繼續到美國工作。另外如果你抽中了H1B,那麼如果以後再跳槽,則可以通過辦理轉職(transfer)沿用之前的名額,而不需要再次抽籤。H1B每3年可以續一次,最多6年。如果H1B到期時已經申請綠卡,那麼還是可以延長H1B的有效時間,直至綠卡生效。

問題5:我不是算法大牛,不是ACM隊員,聽說Google,Facebook有很多牛人才能進,那我怎麼能拿到好Offer?

首先要有信心,算法不是想象那麼難。原因有以下兩個方面:

第一,因為面試常見的算法就那麼幾種。只要你努力去總結歸類相似題目,只做很少的題,就可以舉一反三掌握很多的題。不要盲目關注數字。做題質量非常重要。標準是:你做過的題目,讓你再做一次,你就能“完美解決”。

第二,即使你知道一道題的解法,你未必能寫好。因為你可能每次寫出來的程序都很隨性,這樣會漏洞百出。程序員是一個非常講究嚴謹性的職業,如果你在總結題目的時候能夠找到這些題目的模板,把模板提煉好,碰到類似的題目,可以一邊寫模板,一邊想想怎麼在模板上做一點簡單的改動。這樣既節省時間又保證不會出錯。

問題6:從其他專業轉做計算機專業的該怎麼準備?

1.讓自己更專業。

例如,你的簡歷只能放和計算機有關的東西,其他東西再牛也不能發揮用處(如學生會主席)。如果簡歷還是很空,就多去做項目。實在沒項目,就把非計算機專業的項目改寫得更接近。

2.在某一方面達到工程師實力。臨時轉行時間短,找一個容易入手的準備,如果你以前做的事情跟數據有關,就申請數據分析師(Data Analyst)。如果你本來就會一些基本技術,可以做前端,用JavaScript、HTML和CSS,去真正做一個自己博客。如果對產品感興趣,就玩Django、Ruby on Rails這樣的網站框架,瞭解一個網站是怎麼搭建起來的。如果對移動開發感興趣,就寫幾個在iOS或者Android上的App。這樣做的好處是,簡歷不空,如果問到,可以駕輕就熟。如果不相關,坦誠相見,說由於我是轉行的,在這方面不熟悉,可以嘗試一下。也可以直接告訴面試官,我是轉行的,我對計算機很感興趣,做了這麼這麼幾個項目。於是面試官不會問你難題。而實際上你早就準備好了,超出面試官預期,會得到一個面試高分!

問題7:面試時候如何表現自己體現溝通能力?

首先你要站在面試官的角度思考問題。面試官要招你進去當同事,你希望同事怎麼樣?

你可以反覆和麵試官交流自己的想法,得到面試官認可以後再動手寫。可以講講你是怎樣想到這個思路的。從而展現你的溝通能力。記住,你並不是要說服他接受你的想法,而是要把你的想法解釋給他聽。面試官提出質疑的時候,第一,不要覺得面試官什麼都不懂,怎麼這都不知道(其實他只是看一下你是否真的懂);第二,面試官比你經驗豐富得多,很有可能就是你犯錯了,趕緊想想是不是真的有問題。

問題8:面試中出了Bug怎麼辦?

避免Bug很重要,這個需要我們平時不斷地練習,按照上述的方法準備,還是可以避免一些“坑”的。但碰巧你可能不在狀態,寫出了Bug被面試官指出,是不是就掛了呢?

首先別擔心,出Bug很正常,也許面試官來面試你之前正在Debug。衡量一個程序員能力的標準,並不是他能想出多牛的算法,而是程序員在遇到問題的時候分析和解決問題的能力。而出Bug的時候,正是展現你是否是一個合格程序員的時候!

Debug的流程如下所示:

1.通過測試用例定位Bug所在位置;

2.不要立即修改代碼,重新梳理邏輯。因為很有可能還有其他Bug;

3.走完所有邏輯之後,心裡有數怎麼改了,再動手開始改;

4.用測試用例再走一次新的代碼;

5.在整個過程中,不停地告訴面試官你在做什麼(在不影響正常寫程序的情況下)。

這樣,成功排解Bug,不但不會減分,還會因為你優秀的Debug能力和與此同時展現出來的溝通能力而加分。

問題9:如何做出最後選擇Offer?

在考慮Offer之前,先對公司做個研究,比如這家公司是什麼規模,產品是什麼,Glassdoor員工如何評價的,你的職位你喜歡嗎?這就跟選學校一樣,如果選錯了,也是需要走很多彎路。我們個人的參考是首先這家公司是上升期的,產品是否有愛,團隊是否比較強,能否學到東西。對公司分類,例如Hortonworks這種是純技術性的,面向企業級的,可能沒多少人知道,而Uber是大眾消費性,很多朋友都用過。現在的熱點是移動互聯網,大家也可以多考慮這一塊。

如果上市的公司,會給限制性股票,分3~4年行使期權,創業公司一般給期權,不同就是限制性股票是白送的,不需要自己掏腰包,期權需要自己買入,不同時期價格不同,但股票交的稅非常高,有些期權是長期避稅的。最後也要考慮你的興趣和對風險的承受能力,如果去大公司做個螺絲釘,實現共產主義生活也無可厚非。去小公司壓力大,成長快。但也要做好失敗的準備,看看當年Zynga教訓。

程序員如何做好應聘?簡歷、面試和Offer

《程序員面試白皮書》

https://www.epubit.com/book/detail/29211

董飛, 逸超 著

本書作者來自硅谷一線的IT公司,書中包含了作者親身的經驗和體驗,書中收集的題目部分來自互聯網上分享的面試經驗、在線編程網站leetcode,以及一些著名的面試參考資料。

本書適合想要從事正規的程序員、架構師以及相關IT公司的專業人士和學生參考,尤其適合那些以一線IT外企或互聯網公司為求職目標的讀者閱讀。

程序員如何做好應聘?簡歷、面試和Offer


分享到:


相關文章: