如何進BAT,有了這個篇面試祕籍,成功率高達80%!!(附資料)
多年前自己剛來北京找工作的時候,面了一個星期 面了七八家公司才拿到一個offer。而上次跳槽面了不到10家公司基本全過而且都給到了期望的薪資,本來自己在面試前沒想到能夠這麼順利,回想起來還是自己準備的方法比較得當!
先說前提
此方法適用於培訓機構,專科,普通本科畢業的同學,工作經驗在1到5年之間。(985,211大學的同學或者研究生,技術大拿可以不用往下看了,因為他們本身的面試通過率就很高。。)
(另外,此方法不改假簡歷,不改工資條,沒有虛假的東西!)
再說效果
毛主席說過:
實踐是檢驗真理的唯一標準!
我和我媳婦都是普通本科畢業,使用這個方法現在已經分別入職了BAT。
從本質看面試
之前在某浪做過一段時間的一面面試官,面了很多同學,大部分都沒見到我領導。遇到其中有很多同學就連最基礎的問題都答不上來,比如: HashMap,多執行緒,jvm,Shuffle這些。還有一個印象特別深刻的同學(叫他同學A吧),他本身薪資就不低,而且之前也是一個小團隊的leader,面試過程相當流暢,我提完問題之後他總能很快的流利的長篇大論的回答出來,在hr看來這個人真的很不錯,但是其實他的回答卻我的問題關係都不大。。。當我特別說明,要他直接回答我的問題(java基礎)的時候,他卻答不出來,這真的很尷尬。。
還有一部分同學,在回答一些問題的時候很不完善,如果你不去引導一下,他的回答可能就結束了,但是如果你提示一下,他還能想起來,接著沿著正確的方向完善他的答案。
我們看事情必須要看它的實質,而把它的現象看作入門的嚮導,一進了門就要抓住它的實質,這才是可靠的科學的分析方法。
那麼面試的實質是什麼?
我認為是: 儲備
和 展示
!
面試的過程就是把你的知識(技術)儲備展示出來的過程,徒有一身本領卻展示不出來和沒有有什麼區別? 光有一張嘴侃侃而談,談的都是錯誤的理論或者虛無縹緲的東西,面試結果自然可想而知!
下面我分享一下我在這兩個方面是如何做的!
儲備
儲備的內容
儲備的內容很簡單,用的什麼語言,做的哪個方向的開發,以java大資料為例:
- java基礎:jvm,gc,map,多執行緒等等
- 演算法: 8大排序和幾個查詢演算法等基礎演算法必會 + leetcode上一些初級的演算法(一般做業務的崗位不會問特別難得演算法)
- 資料結構: 我這裡有一本大話資料結構的pdf書,看著一本就夠了。
- 各種框架原理: 比如,spring必問的aop,ioc。zookeeper必問的:選舉機制,使用場景(分散式鎖)。hadoop必問的hdfs如何實現高可用。mapreduce必問的shuffle過程。spark必問的為什麼比mapreduce快。等等等等
以上幾點應該是問的最多的了,當然像 設計模式,作業系統,網路問的相對少一些了。(作業系統一般問執行緒和程序區別,網路一般就是tcp3次握手4次揮手了)
這些基本上就是面試時技術上需要問到的東西了,(我整理了一份我之前面試準備的比較全的面試題,見末尾分享)。問什麼我們知道了,那如何準備呢?
當然是把這些問題全都一一搞清楚,記下來啊。
對啊,記下來,關鍵是怎麼記?! 比如mapreduce的Shuffle過程中的每一個細節是什麼? 很多同學都不寫mapreduce,公司都已經開始使用spark,flink了,而且不會的話也不太會影響工作(遇到效能瓶頸的時候如何調優可能就會有影響了)。
針對知識儲備的祕籍是: 把一個或者一類重要的知識點搞懂之後,整理出來 然後背誦! 像背課文一樣背誦!
背誦方式1:
以jvm為例:我整理了這麼一張紙打印出來:

這是我有道雲的截圖,把jvm的知識點全部列印到A4紙的一頁上(類似這樣的一頁紙我還有 gc,hashmap,多執行緒等),早晨早到公司找個沒人的地方可以開始背誦了。
背誦方式2:
A4紙太大了,不方便攜帶,我還弄了一個手掌大小的小本子(隨身帶身上,還有一杆筆),記錄了一些常用演算法(比如樹的非遞迴遍歷) 和 一些原理的圖(比如 jvm的新生代,老年代,永久代的圖)。有時間就(比如坐地鐵的時候)複習複習。(多記幾次就很熟了)
展示
說完了儲備來說展示,我認為展示有兩種方式
1、紙上作答(有可能是演算法題,有可能是原理題)
2、口述回答
紙上作答就不多說了,儲備的知識準備好了,寫出來很容易。原理題就直接畫圖,一張圖基本上就解釋清楚了。
重點來說說第二點口述回答
口述的回答一般分為三類:
1、技術類,原理類,演算法類的題目
2、根據工作經驗提問題
3、hr常規問題(為啥離職。。等等)
第三類問題不說了,提前準備好就行,一般情況下不會決定面試的情況。
針對展示的祕籍,也是最重要的祕籍是:模擬演練!動嘴去說! 把問題的答案說出來,直到說的流暢,說的調理清楚,說到讓面試官任務你對這些東西理解很深,很自然的就說出來了。(說多了之後,真的就理解很深了)
這裡我用了一種方法: 因為我媳婦也是開發,我就練習給我媳婦說,說完之後她來點評: 比如 漏了幾個點,哪個地方有點結巴,語速有點快,發音不準。。。(她不告訴我我真不知道) 直到改掉這些不足。
當然聆聽的同學也不一定是開發,因為這裡重點評估的是說上的不足,而不是說的內容裡的知識點的對錯(對錯你自己知道)。
你就算把自己的回答錄下來再聽一遍(自己給自己當面試官),你能都發現自己回答過程中的很多不足。多錄幾次,多聽幾次 一定獲益匪淺!
除了上面兩個祕籍,我還有4個面試tips送給你:
一: 有可能的話去引導面試官
比如你的工作經歷上寫了2個專案,但是其實你對專案2比專案1熟悉的多,如果面試官總問你關於專案1的問題,你可以適當的把他的問題引導專案2中(這就要看你回答的時候如何銜接了)。但是一定要注意千萬別像前面的A同學那樣,引導的太過了。 這就好比在高速上開車,目的地是通過面試,你可以變道,但絕不能掉頭!
二: 回答問題注意下語氣,讓面試官聽語氣就感覺你很懂。可別真成背課文了。。
大家都懂。
三: 不會的題目也要仔細思考,說說你的思考過程,思考的思路
不會的問題千萬別直接說不會,這樣面試官對你的印象最起碼是: 某方面薄弱。
所以要思考,找不到答案,也要說出來你是如何思考的,思考的過程,和遇到的問題給面試官說出來,這樣面試官可能對你的印象是: 這題不會,但是還有些思路,還可以。
實在不會而且沒有任何思路的,你也要"演一演",顯得你好像知道這個問題,但是忘記了的樣子,演完之後再說想不起來了。。。
四: 打鐵還需自身硬
技術類,原理類的問題是必要條件,是必須要過的,不一定要全部回答出面試官的問題,最起碼七成要回答上來。
關於業務類問題一定要說明以下幾點:
1、why,為什麼有這個專案,產生的背景是什麼
2、how,這個專案上怎麼做的
3、what,這個專案解決了什麼問題(優點)
4、get,這個專案得到的收益是什麼(比如減少xx%人力資源)
5、這個專案中你遇到了什麼困難?如何解決的?
最後祝大家面試順利,加油!
公眾號: 程式設計師燈塔 (code12306)
回覆 '大話資料結構',獲取<大話資料結構pdf>書。
回覆 'java大資料面經',獲取拿到了百度,網易,美團,頭條offer的同學的面經+面試題
回覆 'java基礎題' , 獲取java基礎面試題(非常詳細)
回覆 'java後臺面經' ,獲取一個java後臺妹子在攜程、美團、58、中興、滴滴、華為的面經和複習心得
&n