給扔物線 HenCoder Plus 學員的一次分享文字版

半個月前,和個人終極技術目標扔物線朱凱一拍即合,到了他所開展的 HenCoder Plus 課程給你們分享了 1 個多小時的「模擬面試」心得,也順便聽了幾回凱哥的課程,感受真的挺用心的。本身也但願能一直不忘初心,在技術領域像凱哥同樣,認真而且持之以恆。準備了許久,主要是爲了作這一次分享。程序員

本身下來其實看了好幾遍本身的錄屏,以爲仍是有必要作一篇文字版的分享給你們,還要有一位童鞋可以從中獲得收穫,那也是不枉費我手打了接近 3 萬字的分享。不少思想都受着去年 Android 巴士成都交流會另一位講師 Even 的影響,因此說,你的圈子,真的會潛移默化地影響你。面試

下面是正文:算法

我先自我介紹一下,我叫劉世麟,在網上呢,個人名字是南塵或者說,是南塵2251。編程

在找工做以前,咱們總會經歷寫簡歷,準備面試知識,再到面試的過程。但咱們總會發現,即便咱們準備許久,感受自我良好。但在面試的時候,卻總感受使出渾身解數也無濟於事。實際上,咱們的面試是須要實戰的,咱們刷再多的題,不實戰也是無濟於事。然而,咱們一般面試一次,算上花在路上的時間,咱們至少得要好幾個小時。最重要的是,這個時間還基本都是花在了工做日上。設計模式

此外,咱們即便花上幾個小時,面完以後卻會發現,咱們能獲得的有價值的東西卻須要深挖細掘才能造成精華。咱們很可貴到面試官對本身真正的反饋,大多數狀況下被拒絕的時候面試官給的緣由都極其委婉。服務器

爲了解決這樣尷尬的窘境,我在去年11月在公衆號上推出了「模擬面試」這項活動。用工做之餘的時間幫助那些真正渴望但願面試卻又不但願浪費工做時間的讀者。微信

在爲期 4 個多月的活動中,我面試了 118 位讀者,其中包括小米、硅谷、美團的一些在職員工。在活動中,我與他們共同成長,一塊兒進步,從自我介紹,到面試過程,再到面試反饋。讀者從我這裏獲得了有價值的評價,我從讀者那裏獲得了很是有價值的數據反饋。網絡

我只是抱着一種嘗試的態度,但願小範圍進行,但沒想到有這種狀況的讀者極多,我採起的排隊機制已經徹底不能讓讀者獲得及時反饋了,加上我本身的時間分配問題,我很快就中止了這項活動。多線程

雖然作的時間不長,但卻很是有意義,因此,今天,我和凱哥一拍即合,來到了這裏,給你們作一下分享。我並非什麼麪霸,也不是什麼大佬,僅僅是凱哥的迷弟而已。架構

週三呢,我跟着你們一塊兒聽了課,我發現聽課的同窗很多我認識的哈,還有在我這裏進行過模擬面試的人,不得不說呀,作 Android 的人不少,但圈子裏面上進的人,轉來轉去仍是這些人。

下面,我給你們簡單地分享一下我作這個活動後的一些心得。在分享以前呢,我想先送你們一句話:你可否經過面試每每不是靠技術,但你可否拿高工資絕對是靠技術。咱們的求職面試,決定因素確實不是隻靠技術,你的簡歷、面試表現,統統都會影響着你的評級。

幾個月的「模擬面試」下來,我發現你們的問題五花八門,總結下來就是這四個問題:

  • 不知道怎麼寫簡歷
  • 不知道怎麼作自我介紹
  • 不清楚本身的定位(優點)
  • 不知道怎麼準備面試

我先說一下簡歷呀。雖然我只面了 118 位讀者,但收到的簡歷卻遠不止這點,對於明顯抱着來嘗試浪費其餘人時間的,我歷來都是直接打回去的。但我面試的人中,簡歷寫的足夠讓我滿意的人,也是百裏挑一。大多數人的簡歷都是寫的很是的亂,連基本的排版整潔都談不上。

簡歷的本質

我常常會收到來自讀者的同一個問題,「南塵呀,你能不能給我一個好的簡歷的模板?」

這個問題讓我十分爲難,若是我說「其實不存在好與很差的模板,主要看氣質」。你可能會很失望,以爲我可能在浪費你的時間。若是我說有,而且挑了一份我認爲還不錯的模板給你,可能你也會很失望,會懷疑,好的簡歷模板是這個樣子的嗎?

這就比如凱哥在上海開發者大會上講的同樣,「圖片上傳怎麼作,你服務器怎麼給你要求的你就怎麼上傳呀」。

實際上咱們並無逗你,要獲得一個「好」的簡歷模板,其實並不困難,並且根本就不須要向別人要。你只須要問一下本身,什麼是「好」,並把「好」這個很縹緲的詞量化出來,你的簡歷就是好簡歷。

不過,在你量化「好」這個詞以前,咱們須要先解決一個問題:「簡歷的本質是什麼?」

可能每一個人的理解並不必定相同,不過這並非很重要。若是你有不一樣於個人思考,那也不表明你和我之間有一我的是錯的,咱們暫時能夠這麼認爲:絢麗或者簡約的模板其實都不是簡歷的本質。

簡歷的本質只有一個:向別人說明清楚你是誰,你擅長作什麼。

你可能會發現,其實這兩個問題都是同一個問題:你的定位是怎樣的?

  • 問題 1:「你是誰」?

    可能你以爲本身很清楚了,你是張三,你是李四。但若是讓你用三個詞,能夠是名動、形容詞、動詞或者成語均可以,只用三個詞來歸納一下「你是誰」,你能作到嗎?這就是你對本身的定位。

  • 問題 2:「你擅長作什麼?」

    若是我能說「什麼都不擅長就是最好的擅長」,可能你們都會拍手稱快吧。正如問不少人你的興趣是什麼同樣,有不少人都表示沒有什麼興趣。然而,你真的沒有擅長的事情嗎?可能只是由於你沒有發現而已。這是你對本身能力的定位。

如何對本身進行更好的定位

若是你真正把問題定位好了,其實解決問題並不難。然而,難就難在對本身進行定位每每很難作到精準,正如蘇軾的名句:「不識廬山真面目,只緣身在此山中」。

即然是定位,那麼,咱們用生活中的一個例子來講明吧。你的手機上的 GPS 定位是怎麼作到「精準」定位的?

不是靠手機自身就行的吧,它須要經過在天上的至少 4 顆衛星才能精肯定位本身的空間位置。也就是一個簡單的道理:

你要定位本身,是須要別人來作參照物的。

那麼若是你是應屆畢業生,你須要在簡歷中和你的參照物(基本上是和你同一屆畢業的人)作個對比較。若是你已工做多年,那麼和一樣工做幾年的人或者應屆畢業生,你也須要和他們作一個比較。

其實,你也能夠從另外一個角度理解,要定位本身,也能夠參考一下別人眼中的本身是怎麼樣的,別人每每更能發現你的優勢和缺點,並且通常比你本身評估的要準確。

此外,你還能夠用事物來作參照。好比爲了表達你擅長 Android 視頻直播技術,不少人喜歡直接在簡歷上加上一個「自我評價」,而後寫上「我擅長 Android 視頻直播技術」,你以爲是個什麼效果呢?像不像一我的說他很幽默,但別人和他聊天曆來沒笑過?

比較好的表達一我的幽默的方法應該是直接說段子,那麼表達一我的擅長某個技術的方法呢?「段子」留給你們本身去寫吧。

簡歷的加分項和減分項

在面試後和他們分享,我才知道,他們其實並非說沒有認真去作,而是確實不知道簡歷上到底應該放哪些東西,或者說編寫的順序是怎樣的,大多數人都是直接使用好比拉勾網呀、BOSS 直聘呀,這些招聘網站的模板來編寫的。這就會致使,咱們的簡歷上出現了一大堆沒有任何價值,別人也不關心的東西。因此,我在這裏再次申明呀:千萬不要去用招聘網站的模板來作你的簡歷。

有哪些好一點的簡歷加分項呢?

  • 黃金兩頁原則:最好簡歷控制在 A4 兩頁;
  • PDF 原則:簡歷最好爲 PDF,這樣能夠解決不一樣系統上打開格式混亂或者亂碼的問題;
  • 在最頂部寫清楚我的信息:好比姓名,電話,年齡,畢業院校/專業,Blog 和 GitHub 比較有內容的也能夠直接放在最前面。最好一行兩個信息,不要一行只寫一個信息,致使右半部所有空白浪費。

不知道怎麼寫項目經歷

從簡歷上來看,你們還有一個常見的問題是,對於項目經歷,寫的很是粗糙,大多數人都是寫的:「我用了什麼第三方庫,實現了什麼功能。」「我在項目中,使用什麼技術,作了什麼什麼。」甚至是,一個項目下來,三句話就被徹底介紹完了。對於這點,我還專門諮詢了咱們的 HR,他們對於這種技術簡歷,會怎麼處理。我獲得的回答是:「除非是很是厲害的公司或者項目,否則都會直接 Pass 的。」

那到底怎麼寫項目經歷呢?在網上,盛傳着一種法則:STAR (Situation Task Action Result)法則。

  • S(情景):這能夠是讓你參與這個項目,或者是解決問題的背景;
  • T(任務):只須要在簡歷上寫清楚本身的職責;
  • A(策略):如何實現,是否遇到困難,如何解決的。
  • R(結果):取得的成果,做爲程序員,必定用數字說話。

前面說了,在編寫項目經歷上,大多數人寫的真的很是粗糙,基本都是使用了什麼技術,什麼庫。甚至有人僅僅只是用過,也寫了一個「精通」,實際上這是很是很差的,即便拿到了面試資格,也很容易在面試中翻車。由於大多數面試官面試的策略都分兩步:

  • 就你簡歷上說起的點問問題,瞭解你對簡歷上技術的掌握程度;
  • 就公司處理好的或者尚未處理的難題,問問你的想法。

因此,簡歷上出現的內容,必定要是本身能答上的,僅僅是使用過的東西,不要寫在最前面。

到底寫不寫自我評價?

還有一個比較受爭議的問題,就是到底寫不寫自我評價。多是受招聘網站模板簡歷的影響,我發現 80% 的面試者都寫了這一欄。其實無可厚非,但大多數人直接放在第二個位置,我很好奇這樣作的原因。最重要的是,深刻一看,內容竟然都是一些亂七八糟,面試官並不關心的內容。

先給你們截取一個反面教材:

  • 爲人友善,誠實謙虛,勤奮,能吃苦耐勞,有耐心;
  • 有團隊意識,能和同事和諧相處,虛心接受別人的建議;
  • 責任心強,善於溝通,具備良好的團隊合做精神;
  • 專業紮實,具備較強的鑽研精神和學習能力;
  • 性格比較樂觀外向,喜歡打籃球和羽毛球。

當我看到這個自我評價的時候,就以爲比較堂而皇之,可能面試者確實就是這麼好的人,可是,從何取證呢?因此建議你們不要在簡歷中寫一堆廢話,簡歷就是求職的敲門磚,不要把沒有價值的東西放在上面。

正確的關注點應該是:

  • 定位:主攻 Android,不依賴別人,但願全棧;
  • 態度:高效完成=>追求完美=>互相提高;
  • 困難:Google && Stack Over Flow,閱讀文檔源碼;
  • 視野:GitHub? 掘金? 簡書? CSDN?
  • 優劣勢:熱愛技術,心態溝通。非科班劣勢(算法)

上面並非模板,只是着重的一些點。好的自我評價應該寫清楚本身的定位和方向,以及平時本身的一些生活和習慣。非科班出身的一般會被打上算法不夠出衆的標籤,但咱們徹底能夠從其餘方面表現本身的優點。

簡歷總結

總的來講,簡歷就是求職的敲門磚。

  • 它不須要精美的外表,但求整潔和規範,使用 PDF,控制在兩頁左右;
  • 它不求你樣樣精通,但求你對上面的內容成竹在胸;
  • 只寫有價值的內容,不寫無心義東西。
  • 對於不同的公司,簡歷儘可能不要只寫一個。
  • 經歷必定要寫出亮點,若是你沒有亮點,那如今就行動起來去創造一兩個亮點,讓本身一兩年後再也不重複這樣的煩惱。

面試

說完了簡歷,咱們再來談談面試。無數次面試讓我深入的明白一個道理:做爲程序員,咱們的能力都是創建在技術基礎上的,技術不達標,其餘的能力會顯得很縹緲。但決定咱們是否經過面試,除了咱們得有足夠的技術能力之外,還得有不錯的表達和溝通能力。

我進行了 118 次模擬面試,卻發現了一個很是尷尬的結論,那就是:沒有人會作自我介紹。

基本總結下來你們的自我介紹是這樣的:

  • 簡單介紹下本身的我的基本信息,就已經不知所措;
  • 說兩三句就終止;
  • 把簡歷上的內容背誦一遍;

重點我「模擬面試」的方式僅僅是經過微信語音,尚未現場的氛圍壓抑感,我不可思議要是在現場面試他們會發揮成怎樣。我一度覺得他們是表達能力不行,或者說是怯場緊張,因此我一直在調整面試氣氛。但到講技術的時候,我發現他們的問題並非出在表達能力。

如何自我介紹

必需要說一下自我介紹啊。任何的面試,都會有自我介紹這個環節,這是你們給面試官的第一印象,真的很是重要。一個好的自我介紹,能改善面試氣氛,讓本身接下來發揮更好,面試官也面試得更爽。

那咱們自我介紹應該說什麼呢?我建議你們說本身的亮點閃光點,這些東西最好是簡歷上亮點的詳細介紹,時間控制在一分鐘左右,再重複一遍:不要背簡歷!!!

我先給你們來個範例哈,注意一下,這是沒有什麼技術閃光點的自我介紹。

面試官您好,我是劉世麟,很是榮幸能參加貴公司的面試,下面我簡單介紹一下個人我的狀況:我從實習到如今一直在 XX 公司工做,從事 Android 開發,憑藉良好的工做能力和溝通能力,連續兩年蟬聯「優秀員工」稱號,在今年初被公司內聘爲技術總監助理,協助技術總監開展部門管理和項目推進工做。在工做以外,我喜歡編寫技術博客和在 GitHub 上貢獻開源代碼,目前在 GitHub 上總共擁有 7k 左右的 Star,數篇技術博客也有數十萬閱讀。我很是地熱愛移動開發,早已久仰貴團隊對技術的看重,因此但願今天本身面試有好的表現,將來能有幸與您共事。

很簡單的一個自我介紹,這些內容在簡歷上都不多說起,其中,我抓住要點,強調了我本身的工做能力和溝通能力。蟬聯優秀員工,被內聘爲技術總監助理,都說明了本身在工做中的優異表現。在技術博客和 GitHub 上的表現,說面了個人軟實力比較強,很是地熱愛學習, 經過數字性的展現,讓面試官有了一個比較直觀的良好感覺。

你們在面試以前均可以在筆記本上面寫下來,而後本身對着牆壁,模擬介紹幾回,這樣下來你在面試中進行自我介紹的時候每每就可以駕輕就熟。

技術面試

在自我介紹以後,通常都會開始進行技術面試,基本上你的技術等級都會在技術面試環節敲定。那面試官如何在短期內判斷你的技術等級呢?

這裏先借用凱哥以前在知乎上的一個回答,我以爲很是有意思。

 
image

從這裏,我想你們已經能夠獲得結論啦。一般面試官在開始面試的時候,都會針對你的簡歷對你進行大概的判斷。由於每一個人的經歷不一樣,擅長的方向也是千差萬別,因此都不會緊抓本身擅長的方向問,而會選擇對你簡歷上說起的內容進行挖掘。

好比你說你擅長使用 RecyclerView,那你知道如何處理 RecyclerView 的嵌套滾動麼?那你知道如何處理 ViewPager 和 RecyclerView 嵌套的時候出現的焦點問題麼?假設檢查 RecyclerView 各類設置沒問題後,數據卻展現不出來,你能猜測哪些緣由麼?假設只能用一個 RecyclerView,不用分 Type,讓你實現一個複雜佈局,你能想到一些方法或思路麼?

咱們常常會在面試前刷不少的面試題,準備好久,但咱們真正到面試的時候,卻老是被面試官虐的體無完膚。這說明了一個問題,咱們平時準備的東西,平時若是沒有深刻理解的,是很難在面試中正常發揮的,因此,這還須要一個沉澱的過程。因此你們參加 HenCoder Plus 跟着凱哥搞清楚細節,是很是有價值的。

一些的狀況說明一個結論:細節 => 技術。

但我想說,應該是 細節 + 深度 => 技術。

前面咱們有說到,在簡歷上咱們能夠使用 STAR 法則編寫咱們的履歷。實際上,咱們在編寫簡歷的時候,就已經能夠思考本身面試中可能被問到的問題啦。呈如今簡歷上的是遵循 STAR 法則的精簡版內容,實際上面試中,咱們給到的應該是詳細版。不過我認爲在面試中應該是 START 法則,我在後面加了一個 T,這個 T 是什麼呢?Thinking。

不會總結的程序員不是好程序員,你們知道,我在工做之餘寫了很多 Blog,實際上就是一個總結的過程,我認爲這樣的方式,讓我成長很是迅速。實際上,咱們在面試中徹底能夠展示本身的總結能力,讓面試官看到本身的亮點。

咱們來看看面試中,咱們如何利用好 START 法則。

  • S(Situation):在簡歷上咱們呈現的是項目的背景,但在面試中,咱們還應該就項目的細節進行更加詳細的講解。
  • T(Task):咱們在簡歷上主要是編寫本身在該項目中承擔的職責,但在面試中,除了說明本身的職責,建議帶上團隊的總體任務,展示出不管什麼時候,你都很在意你的團隊。
  • A(Action):在簡歷上咱們展示的是應對問題採起的策略和具體方法,在面試中,除了進行詳細說明之外,還應該說清楚本身和團隊成員的分工,必定須要記住的是:不可否認團隊的價值。
  • R(Result):產生的結果,這一點在面試中和簡歷上能夠基本保持一致。
  • T(Thinking):這一個詞是我本身添加的,我以爲一個好的介紹還應該觸類旁通,總結這個事情哪裏作的好,哪裏作的很差,接下來如何去避免這個問題,以及能夠複用在哪些場景。

簡歷以外的技術面試

除了上面說起的,面試官會對簡歷上進行深挖細掘之外,一般面試官還會問一些其餘的。好比對於中級和初級工程師,通常會問一些 Java 基礎和 Android 基礎,好比什麼 HashMap 的內部結構,Hash 碰撞處理方式呀,還有 JVM 類加載過程呀,垃圾回收算法呀,啓動模式呀,Handler 原理呀,Android 的事件分發機制呀,Activity 的生命週期呀等等。這些問題好像網上都已經司空見慣,不少人都選擇了直接去背誦面試題答案。

我是很是不贊同背誦答案這種作法的,人的記憶原本就是有限的,你的腦殼就只能裝這麼多,何況網上的博客基本出處都差很少,不少博客並無深刻到細節裏面。如今的面試官也愈來愈聰明,知道如何辨別面試者是真會仍是假會。

好比上面的 Activity 生命週期,可能網上都會寫,額是,onCreate() => onStart() => onResume() => onPause() => onStop() => onDestory()。但實際上,背的了這個流程,不必定能靈活應用起來。好比面試官問到,鎖屏會依次調用哪些生命週期,面試者不必定知道。有些 Blog 可能寫的比較仔細,會給你們列上一個表,展現這些可能的問題,好比 鎖屏是 onPause() => onStop(),Activity 從不可見到可見的調用方法是 onStart(),onStop() 是徹底不可見的時候調用,因此天然而然調起 Dialog 的時候走的生命週期是 onPause() 而不是 onStop()。甚至有的 Blog 直接教你們背誦。完整生存期是 onCreate() 一直走到 onDestroy(),可見生存期是 onStart() 到 onStop(),前臺生存期是 onPause() 到 onPause()。

可能這樣的問題早已經被你們司空見慣,但實際上,面試官早就不會這樣直接問了。基本採用的方式是給你一個場景,看你可否正確的處理,好比 Activity A啓動 Activity B 後,A 真的必定會調用 onStop() 麼?畢竟咱們平時作需求,也是用本身已有的知識組織起來解決需求的。

如何準備面試

說了這麼多面試技巧,那咱們還得有個很是重要的過程:準備面試,大多數人會選擇去看各類面經,刷各類面試題。雖然這樣確實會有必定的做用,但我認爲是低效的。首先,大多數的面經,都沒有一個深刻講解的答案。第二,刷的題,大多數和求職公司的面試不匹配。目前看來,只有刷算法題在應對算法類面試的時候成功率較高,基本應用類面試,做用都微乎其微。

這就讓咱們必須談到了另一個話題:如何準備面試?

通過我屢次試驗發現,技術面試的面試官問的知識,80% 會來自於你的簡歷,因此你至少提早除了準備自我介紹,還應該認真針對簡歷上的每一個技術點,思考一下可能出現的面試題,並想想如何去應對它。

除了一些特別基礎的機制原理問題,好比 Activity 的生命週期呀、Handler 機制等,其餘問題都是容許面試者答錯的。其實面試官並不會奢望你可以完好無損地答好每個知識點,有時候判斷一個面試者是否適合面試官所在公司提供的開發崗位,每每看的是面試者在回答問題中體現出來的「編碼以外的能力」。因此,不要想着背誦面試題和知識點,那樣無疑是低效的,而且這樣得來的知識,你之後也基本不可能用到。

此外,針對不同的工做崗位,準備的面試內容也不該該同樣。相較於中小型企業,大廠會問的知識面更廣,好比會問很多的算法和計算機網絡等基礎知識,而通常的中小型企業卻對這塊不那麼看重,他們更指望的是能迅速上手的人。也就是說,他們需求的並非一個技術多麼厲害的人,而是一個合適的人。對於初級和中級工程師,面試官會更看重基礎知識,對於高級甚至資深工程師,會對多線程編程,自定義View,架構能力,產品觀有更高的要求。

其實「二八原則」在好多地方都發揮着做用,在 Android 開發中,我認爲也是同樣的。做爲一個 Android 開發,你也許只會用到 Android 開發知識的 20%,另外的 80% 你其實學了也不必定會用。

而面試官其實也同樣,他有可能也只掌握了 20% 的知識,並且一個面試也不會有足夠多的時間給你展現你所有的知識,而每每只會注意開發中最常遇到的 20%。但大致上來講,這 20% 比較重要的知識點,通常都是你們須要重視和答對的。我以前在公衆號上寫了一個面試專題,如今在公衆號底部也還有一個導航。雖而後面夭折了,但寫的內容基本都是每一位 Android 開發都須要重視和答對的。

俗話說「英雄不問出處」,前提很明顯了你得是「英雄」。若是別人不知道你是「英雄」,那麼勢必會經過你的學歷、公司和項目經驗來判斷你是否合適。畢業的學校和任職過的公司,包括你跳槽的頻繁度等都會對你的評分有必定的影響。

但其實最重要作判斷的根據仍是你的項目經驗。因此對於你從事過的項目及你在這些項目中的職責和做用,你應該有一個清晰的描敘。

對於項目經驗豐富可是項目的類型單一的人,如項目中清一色的「資訊」類應用,那麼你應該表現你具有獨立開發和處理各方面問題的能力,並且最好在平時你就要有意識的避免進入到這種境地當中。對於「一個經驗用十年」的人,面試官其實也很難分辨出他在其餘的方面是否也能作得同樣好,若是你不能在公司層面避免陷入到這種狀況,那麼你仍是應該嘗試同一個項目中的不一樣方面,或者本身作一些和當前公司不相關的項目、開源庫等。

但其實有不少人的問題在於,項目經驗並不豐富,並且有些人工做了不少年,但有可能其中的幾年都在維護一個項目,簡歷上每每用一句話就把這幾年的事情說完了。但我認爲,並非咱們在這幾年中沒有作什麼有價值的事,而是咱們沒有把這些事情記錄和總結,並作一個深刻的思考和擴展。想一想吧,總會有的,把事情想到了還要對這個主題作一下擴展,你總結出來的東西才更有深意。

對於面試者來講,每每以爲面試就是回答對面試官的問題,但從面試官的角度來看,面試其實就是要作一件事情:「如何區分面試者」。簡單的說,就是把你和麪試官面過的(或即將面試的)的人區分開來,並給你打上幾個籤標,簡單點能夠是「不錯」、「合適」、「猶豫」、「確定不行」。複雜點的,可能會把你的某些能力列出來,好比學習能力強、協做能力差,而後再和其餘人放在一塊兒綜合考慮。每一個項目都有不一樣的特色,因此每次的側重能力考察也會不同。

因此,有時候你經過了一家公司的面試,也不須要太得意了,可能並非你有多厲害,僅僅只是你正好是這個時間段裏性價比較高的那個。固然,若是你被淘汰了,也不須要妄自菲薄,也許只是由於在這個時間段有個比你更高性價比的人也來這家公司面試了。

如何準備與 HR 的面試

HR 一般會問你一些離職緣由和職業規劃,對於離職緣由的闡述,我想你們應該都很清楚了,不要否定老東家的價值,不要否定老東家的價值,能夠結合如今面試公司來講出本身的展望。好比我以前面試美團的時候,我是這樣回答的,由於美團是一個很是重視移動端業務的互聯網平臺,而我以前公司因爲公司戰略的變化,如今業務像提供服務轉型而弱化了移動端,做爲一個深愛着移動互聯網的人,我渴望加入美團這樣的團隊。

而除了說離職緣由,咱們還很可能遇到的諸如「說說你的優缺點」、「你最擅長什麼」、「你在項目提供的最有價值的做用是什麼」等等這類問題。這類問題在我前不久的面試中,其實技術面都會提到。其實,反過來看就很簡單了,這些問題歸根到底就是「你和別人的區別在哪裏」。面試官的任務是要把你和別人作區別,你本身也須要把本身和別人作區別,回答「不知道、好像沒什麼這樣的話,其本上會給減分。

我遇到過最難的「吹牛」面試題就是:

說說你和其餘程序員相比你更出色的地方,爲何咱們要錄用你?

這是我遇到過的最難的面試題,哲學家蘇格拉底說過:「人最難的就是認識本身」。這句話一點都不假,咱們可能常常會慣性地以爲本身比其餘程序員厲害,但真要說厲害在哪裏,這真難說出來。每一個人都有和別人不同的地方,在面試前必定要想一想一些正面的積極的地方,而後本身總結一下,最好給你周圍的同事、朋友說一下,看他們是否定同你的見解。最後你會發現給別人說事情時,最好的方式是說一些案例故事,雖然你要說的可能只是一個簡單的點(好比你抗壓能力強),但你也能夠用講故事的方式講出來(在某次事件中你在怎樣的壓力下完成工做的)。

如何準備和 BOSS 的面試

在我進行模擬面試中,我清晰地記得我有一位讀者,在一天晚上 11 點過,慌亂地找到我,但願我能給他作一下模擬面試,由於次日他就要和本身心儀已久公司的 CEO 進行終面。這位小夥伴已經通過了三輪技術面和 HR 面了,並且是本身很是渴望加入的公司,因此也是慌得不行。我強忍睡意,和他進行了模擬面試,額,嚴格意義上說,這隻能算一次交流。

我簡單瞭解了下他的狀況,他的音視頻開發經驗很是豐富,而本身渴望加入的公司也是微視頻領域的。因此我認爲他沒什麼好擔憂的,通過了整整 3 輪的技術面試,說明他的技術實力已經獲得了公司的承認,BOSS 面最多隻是隨便聊聊,談談「人生和理想」。

你們切不可小看這個「隨便聊聊」,這個「聊聊」能夠很容易看出你的思惟能力和對事物的見解,並且這些方面是你短時間很難改變的特質。

他應聘的職位只是高級開發工程師,並非管理和技術負責人的角色,對方並不會太在乎他的管理能力和領導能力,因此後面的面試大可輕鬆應對,但仍是要簡單準備一下,瞭解下公司狀況,態度上不卑不亢。

如何和 HR 談薪資

中國人都很喜歡打聽別人的收入,收入對於咱們這個社會傳統來講並不算隱私,可是對本公司或者同行業的人我通常都會選擇隱瞞。HR 或者公司的制度都會明文規定不準在公司內打聽員工的工資和獎金,爲何呢?你們心知肚明,別人比本身低了,別人難過;別人比咱高了,本身得難過吧。人都會認爲本身的能力高於平均水平,對公司的貢獻確定比身邊的某某多,但一但得知對方的工資比本身高,那就容易打破本身的心理平衡。

身體不平衡容易生病,心理不平衡容易出事。

因此薪資這個東西一直以來都是一個敏感話題。在講這個以前,我想先提醒你們,選擇工做的時候必定不要只看薪資福利,而應該看重更加長遠的價值。

前段時間,我也經歷了找工做,一共面了 4 個公司吧, 拿到了 3 個 offer,但我最後就選擇了薪資最低的公司,儘管薪資第一的公司一年能夠多很多收入。直到如今,我一點都不後悔。由於我看中的是同事們的學習能力和提高,如今的公司每隔一週都會又一次技術分享,分享的內容,常常都讓我瞠目結舌。

好像扯遠啦,咱們終究仍是繞不開和 HR 談薪資的過程,咱們老是指望着在加入本身心儀公司的前提下,還能夠搖到儘量高的薪資。下面結合個人經驗給你們幾點建議:

  • 增長本身的籌碼

    也就是你在技術面試和管理者的面試過程當中表現較好,這時候你能夠得到較高的評級,這時候 HR 給到你的幅度也會大一些。因此在面試前應該進行充分的準備,若是你是別人猶豫的對象,恰好放你經過,你不來也行的話,HR通常狀況下是不會對你讓步的。因此總得來講,好像是廢話,但就是真理,你還得好好準備提高本身的能力,以便於在面試中得到更好的評價。

  • 在關鍵位置上有人

    這一點很是重要,有本身人在你要面試的公司內部,你能夠獲知他們不少狀況,好比此次招聘是否緊急,什麼叫坐地起價,就是別人沒有你有。有本身人在你才能知道有沒有其餘比你合適的候選者,沒有的話,你纔有資格坐地起價。

    若是一個公司找了好久都找不到合適的人,項目已經迫在眉睫,這個時候你出現了。可是你並不知道你是他們千辛萬苦找到的,他們不要你就有可能將項目至於風險中可能會有更大的損失,這個時候你是能夠要一個比較高的價位的。但沒有本身人告訴你這個狀態的話,通常你仍是會從自身出發,可能以爲本身的表現並不算特別好,會患得患失,臉皮薄的話固然不敢獅子大開口(或者你不明白你爲何在這個時候在這個公司值高價)。

    若是沒有相關資訊瞭解對方公司內部對人員的需求狀況的話,不少時候你靠的是運氣,就是看你先後的面試者(候選人)和你的性價比結果。若是那個時期,只有你一個候選人,那麼你的要求不過份,通常均可以知足。固然,HR仍是會打擊你一下壓壓價,別人的工做就是要控制人力成本嘛。因此你認爲能力不如你的人工資卻比你高,一點也不奇怪,大家進入公司的時機不同。並且就算你認爲對方水平不如你的,那只是你我的的見解,他的水平可能真不如你,但在公司的層面,大家可能被劃分在同一級別。因此不要太在乎,最好就不要去打聽。

  • 不要讓對方給你訂價格

    以前很多讀者問我,在 HR 問到指望薪資的時候,本身能否反問對方 HR 本身值多少錢。假如我是 HR,我確定是很是反感這種行爲的,我詢問咱們家 HR 後(平時和 HR 私下關係很好),獲得的結果一模一樣。後面我發現網上居然還有文章說到,能夠委婉地把問題拋回給 HR,好比「我相信貴公司會給我一個心儀的價位。」

    我我的是很是反對這樣的作法的。大多數公司會給到招聘網站上掛的薪資範圍,並且廣泛會比較接近平均值如下。因此當 HR 問你指望薪資的時候,你除了要預估本身在以前技術面試中的表現,還應該注意一下公司給的薪資範圍。通常狀況下不要直接給出公司給的最高值(本身能力足夠優秀的例外),基本比本身預期高出 15% 較爲合適,好比本身內心指望是 18k,實際上本身以爲 16k 也能夠加入,這時候能夠說本身指望是 20k 若是實在是沒有底氣,也能夠附加一句, 19k 也能夠,相信公司不會埋沒本身。

你還有什麼想問的?

常常遇到這樣的面試官,當他吧唧吧唧問完你問題後,忽然就停下了,但感受又意猶未盡,因此每每會把對話的主動權交給你,讓你來提問。

個人問題問完了,你有什麼要問的嗎?

可能這時對於你,「要問」仍是「不要問」是個問題。若是要問,那麼要問什麼樣的問題呢?只要你不是太傻太天真,你的心裏會堅信面試其實還沒結束,並非什麼問題都合適問的,如獎金、加班費這些你特別關心的。

面試官的這個問題,是有意問的一種開放性問題,以此來了解你這我的的關注點;仍是僅僅是由於面試確實無問題可問了,但又不想太直接結束面試,因此就順便問問?

這真的是個問題。

不過咱們不必定非要去揣測面試官的用意,咱們回到自身的須要。

若是你也沒什麼問題想問,那麼能夠委婉的告訴面試官本身沒什麼問題要問。

如:「經過一些朋友和渠道,其實我對貴公司的一些文化和願景都還比較瞭解,因此我暫時也沒有什麼想問的,我也很但願能加入到這樣一個環境中。」

那問什麼呢?

若是要問,那問題就多了。

「項目常加班嗎?有加班費嗎?」
「有出國旅遊嗎?」
「在這個團隊中的我的提高空間怎樣?」
......

其實,並非說上面的這些問題很差,或者不能問。只是,咱們問題以前應該思考一下,問什麼樣的問題便可以瞭解到想要的信息,又是眼前這個面試官最合適回答的。即咱們要讓這個問題問出去後的對話能成爲有效的溝通,並且這個問題是咱們關注的,而且這個問題是對方比較有發言權的。

如關於加班費的問題,其實你問 HR 或者在裏面上班的朋友會更清楚些。

技術面試官
在提出問題前,咱們要先看一下如今這個面試官是處在公司的什麼位置。若是他也是一個開發人員,在對你作技術面試,那不妨聊聊團隊的一些技術棧方面的問題。

如:「大家的團隊在採用敏捷開發的方式嗎?」
而後和麪試官聊聊敏捷,分享一些各自的經驗,方便雙方進一步的瞭解。

並非全部的公司都會用敏捷,那咱們能夠問一些更開放性的問題,如:「在大家的項目中遇到技術障礙了,公司有什麼機制去應對嗎?」能夠就此看看這個公司是否重視技術,有沒有一些技術提高和交流的傳統。

管理類面試官
若是面試官是管理職位的,那麼能夠問問團隊組成;假設你能加入的話,會分配在哪一個team,team中有沒有帶你的人或讓你獲得進步的模式;或者瞭解一下他對團隊目前狀態的見解,是否有什麼變化他想引入團隊或組織的。

也就是向管理類面試官提問,你能夠問一些對團隊現狀和將來預期(目標)相關的一些問題,這些問題會讓你提早知道,進入這家公司後你應該往哪一個方向去努力。

HR
公司文化什麼的 HR 通常會主動向你介紹,薪酬和福利不清楚的地方也能夠繼續溝通。

簡單說,問本身需想要獲得答案的問題,並且要針對不一樣的面試官問對方比較「擅長」回答的問題。

管理者:問戰略
技術人員:問戰術
HR 行政人員:問後勤

離面試不到 24 小時,怎麼辦?

大多數面試通常都會有 3 天以上的時間讓咱們準備,不過咱們時常仍是會遇到臨時安排的面試,給你準備的時間不足 24 個小時,讓人措手不及,這個時候咱們該準備些什麼呢?固然,有些同窗多是從有數日時間拖延到只剩一天,才下定決心要準備一下。

那假如咱們就只剩下一天的時間了,怎麼辦?很多小夥伴呀,會愈來愈慌,愈來愈慌,不斷地去看一些其餘的面試點,生怕哪個點沒有看到。最後呢,在面試的時候,發現本身全都忘光啦,並且在面試的時候,發現本身前面沒答好,極容易影響本身後面的發揮,對吧。

其實時間越近啦,反而咱們不該該再去看一些新的面試知識,放平心態,不須要準備什麼。

不須要準備什麼?你可能會說,南塵,你在逗我?怎麼能夠平靜到什麼都不去準備呢?

確實仍是須要準備一些東西。

那到底準備啥?

  • 自我介紹

    第一個是自我介紹,剛剛前面說了咱們要怎麼自我介紹,到底要說多少句,但我沒有說到底該何時準備。正常來講,在面試前一天準備這個,是最好的,但不要死記硬背。

  • 項目經驗介紹

    你比較熟悉的項目是什麼?你在工做中遇到的最大困難是什麼?以及你最終是如何解決的?這個項目讓你獲得了什麼成長?

  • 本身的定位

    通常在面試中,還會問到的優點和劣勢,好比說:「你的有點是什麼」?「你最擅長的事情是什麼」?

    不過但凡是你對本身有一個比較清晰的定位,哪怕你這個定位是錯的,你也能夠以不變應萬變,拿出紙和筆記錄下你本身的優劣勢,並附上相應的案例。

  • 儘量瞭解公司

    要了解公司什麼呢?確定不是他的什麼福利呀什麼的,你先得知道對方想要什麼樣的人,能夠先看招聘網上的職位簡介。這個通常仍是不夠準確,若是有條件,能夠問問裏面工做的人,或者直接問他們 HR,若是錄用你的話,會讓你作什麼。當你清楚了對方想招什麼樣的人,你會更加清楚本身應該怎麼作。

    再來應該瞭解面試公司的產品,猜想他們可能會遇到哪些問題。對方招你去是要實現產品和解決問題的,好比大型的 APP 應用,可能會涉及組件化方案和各類性能問題,而小型的應用可能會更加看重你的快速開發能力。

  • 若是有條件,還能夠準備一下 Java 的基礎和 Android 的基礎,沒什麼好說的,Android 基礎能夠直接去看個人面試系列。

  • 不須要準備的。

    一些你如今尚未掌握的技術點,準備它們的收益不是很大。既然你還未掌握,如今再看一遍仍是難以理解透徹,可能還會出現你認爲本身答對了,面試官卻認爲你南轅北轍的狀況。

    好比:算法、設計模式、OpenGL 等,這時候看並不利於你記憶和應付面試官可能換一個角度來問你。

    這樣的題或者說技能,是很重要的,但在 24小 時內你只能接受這個現實。若是你其餘都準備好了,也能夠從如今開始投入時間在這些方面,但不要想着立刻就能用上。

在最後一刻,請再看一遍本身投遞給這家公司的簡歷,如實按簡歷上的回答,保證你的誠信。若是你的說法和簡歷上不相符,對你的影響是很大的。

總結

今天大概就講到這樣,咱們來作個總結。首先是咱們的簡歷總結。

針對簡歷

  • 簡歷上的全部內容都應該是你最有價值的東西。

    第一句話很是重要,我在這裏再說一遍啊。簡歷上的全部內容都應該是你最有價值的東西。這上面不該該帶任何亂七八糟毫無價值的東西哈,好比你喜歡打遊戲,喜歡攝影,這跟咱們程序員沒什麼太大關係哈。

  • 黃金兩頁,PDF 格式,我的信息一行兩個避免留白

    咱們的簡歷簡歷都採用 PDF 格式,防止別人打開出現各類格式問題。頁數最好控制在兩頁,項目個數控制在 3~5 個,項目數目太多的,注意篩選,每一個項目寧肯寫更詳細也不要寫太多的項目,免除外包項目嫌疑。最開始的我的信息欄最好一行寫兩個信息,不要一行只寫一個,浪費右上角大部分的好展位。

  • 簡歷上每一個欄目的順序

    簡歷上每一個欄目的順序最好遵循:我的信息 => 工做經歷 => 項目經歷 => 我的評價。社招的同窗也建議本身能有幾個練手項目,能夠增長校內經歷在第二個欄目。

  • 利用好 STAR 法則

    在寫簡歷的項目介紹的時候,最好採用 STAR 法則寫清楚項目發生背景、本身的職責任務、本身的處理方案和遇到困難如何解決,最後用數字來量化結果。

  • 拒絕太官方的自我評價

    自我評價能夠寫,但不該該太多,通常 4 ~ 5 條適宜,內容不要太官方,最好能體現本身的定位,態度,遇到困難時的方案,本身平時的技術交流平臺,以及本身的優劣勢。通常本身對本身評價容易太主觀,這時候把本身的想法告訴你的朋友,看看他們是否和你的見解一致,通常而言,其餘人的見解會更加具備客觀性。

  • 不要只准備一份簡歷

    對不一樣的公司應該準備不同的簡歷,實際上每次的修改也不大,但不要一味迎合對方的 JD 要求去改寫本身的簡歷,本身的內容仍是應該作到心中有數。

針對面試

  • 提早準備自我介紹

    自我介紹是面試的第一個環節,並且在每一輪面試都會存在。針對不同的面試官,自我介紹應該側重點不同,但大致思路一致。不可徹底背誦簡歷上有的內容,也不可隨便說幾句就完事兒。正確的思路應該是本身的一個全面總結,包含本身的工做中印象深入的難題解決過程(START 法則),一半表現本身的技術硬實力和工做表現,另外一半表現本身的軟實力,包括但不限於溝通,學習和其餘能力。

    針對自我介紹,最好是提早在紙上寫下來,而且對着牆多練習幾遍。

  • 如何準備技術面試

    技術面試通常分兩個方向。

    第一個方向是簡歷上的內容,通常會針對簡歷上說起的內容進行深層次地追問,以確保簡歷上的內容屬實,而且很容易經過細節判斷技術深度。因此在寫簡歷的時候,就應該猜想面試官可能面試到的問題。對簡歷上出現的一些框架,最好針對它的疑問點進行必定的準備。好比你說你擅長使用 RxJava,那你得知道 RxJava 1 和 2 的區別聯繫吧,給你一個實際場景,你得知道何時用 map、flatMap、zip、skipWhile 等這些操做符吧,你還得知道背壓吧,以及 RxJava 2 究竟是怎麼去應對處理的吧?

    第二個方向是簡歷以外的內容提問。這個得先看你面試的職級,好比中級和初級開發,你得明白四大組件的基本生命週期吧,你得明白 Java 的基本基礎吧,你得明白基本的自定義 View 吧。對於高級和資深,你得好好準備一下多線程、複雜自定義 View 以及動畫,得知道多點觸控這些吧。還有一些就是面試官所在的公司迫切但願解決或者是他們以前的問題後面獲得解決的內容了。

    還有一個是須要看一下你面試的公司,稍大的公司會更加在意你的基礎水平和代碼質量,因此會對你的技術深度和技術廣度有更高的要去,而小型甚至外包公司會更在意你的開發速度,和你的抗壓能力。

    總的來講,準備再多的面試題都不如先把基礎問題弄清楚,弄明白,再把你簡歷上說起的技術點都先想清楚,搞明白再去面試。

  • 如何應對吹牛題

    HR 的吹牛題不可避免,並且如今吹牛題除了 HR,甚至還有一些總監、經理等都會問到。基本吹牛題都是什麼離職緣由呀,職業規劃呀,什麼你遇到過最大的挑戰呀,還有你的優點是什麼,爲何咱們要錄用你呀這類的。這些問題仍是應該事先準備的。和自我介紹應該,一樣是應該寫在筆記本上,而後本身屢次揣摩,可能你以爲本身準備很好的東西,你寫出來本身都知道了。

    還有一個基本不可避免的吹牛題是:「你還有什麼想問個人」?這個問題,針對不同的人問的內容要不同,對於管理者,能夠問公司戰略;對於技術人員,能夠問公司的項目流程;對於行政 HR 人員,能夠問福利和公司文化。若是確實沒啥好問的,就委婉地表示本身以前經過其餘渠道已經瞭解了本身想知道的,切忌不要直接說沒有。

  • 如何和 HR 談薪資

    和 HR 談薪資是一個必不可少的過程。若是手裏已經有 offer 或者前面感受本身面試表現不錯,建議談的更加有底氣。通常要價比本身指望的高 15%,不要說範圍價格,不要說範圍價格!雖然我知道你內心比預期低 10% 也能夠接受。

  • 手裏有多個 Offer 怎麼選

    面對多個 Offer,大多數都在同一個城市,這時候須要把眼光看的更加長遠,必定要把眼光看得更加長遠!選擇更有發展潛力的公司,而不要一味地追求薪資。這一塊我其實深有感觸,因此前段時間,我放棄了高我如今薪資一半的公司,選擇瞭如今的公司,其實緣由很簡單,一面的面試官把我點燃了。

    還有一點是,必定要注意距離,最好優先選擇距離家近的公司,租房的能夠把家搬過去。天天花在地鐵上的時間,不如在公司多作點事兒。

    對於校招的同窗,確定會有些 Offer 來自不一樣城市。不考慮到家距離的,建議優先北京、上海、深圳、成都。再是廣州、杭州和一些其餘城市。

沒有技術深度的煩惱

當咱們是初級工程師的時候,最但願的就是有豐富的項目經驗,好把本身蒼白乾癟的簡歷填的炫麗飽滿。然而隨着時間的積累,簡歷上的項目是挺「飽滿」的了,但咱們只看「外表」的行爲形成了本身另外一個困境:看似很資深,其實又沒有作過什麼有難度的事情,工做了十年可能只是 1 年的工做經驗用了 9 次。

我以前就面過一位從 09 年開始就作 Android 的人,我算算啊,到如今應該是快乾了 10 年了。光項目,簡歷上都寫了 10 多個,整整 4 頁的簡歷。咱們拋開簡歷沒有對項目經歷進行精挑細選的毛病,我仔細閱讀簡歷以後,發現簡歷中沒有任何深刻的地方。雖然寫的頗有技術,但卻只是在使用 API 的程度而已,有些解決問題的方式頗有技巧,但還不成體系。

這位讀者待過 4 家公司,其中兩家都是知名互聯網企業。但假設我是公司的面試官,我可能會對他表示遺憾,心疼他沒有選擇更加深刻的研究和拓展。

有知名互聯網企業作背書,有將近 10 年的開發經驗,但我總感受還差了點什麼。

假如我是公司的 Leader,我會以爲這樣的一位面試者,固然會比通常的 Android 求職者技術更好,但性價比確實過低了。

沒有技術深度是 Android 程序員的一種常態。由於不少工做,不少人從事的項目並不須要多少技術深度,即便你有深度,你也有可能發現用不上,對於大多數人,合乎理性的作法不是去追求技術深度,而是夠用,能知足需求就能夠了。

但轉到我的的話就不同了,在技術上你須要夠用,可是在某方面上你須要有必定的深度,以突出你本身的學習理解和運用的能力,並且這個能力是要有成功案例來背書。

特別是當你成爲一個資深的工程師的時候,不少公司並不但願你仍是那樣平庸,沒有深度。雖然你會納悶,我就算有深度大家也不必定用得上呀?然而到了這個級別的人需求量並不像初中級開發那麼多,公司更理性和穩妥的作法是選擇有深度的人,不是嗎?

相關文章
相關標籤/搜索