最近事情比較多,工做比較忙,同時在自學泰語和前端,精力比較分散。差點這份面經就跳票了,感謝同行的鼓勵讓我從新提筆。前端
數數這也正好是我入行的第三個年頭了,僥倖當年在外包公司獲得實習的機會,今後開始了IT生涯。回頭看看這三年一步一步走來,真是吃了很多苦頭。不知道大家有沒有跟我一樣的經歷,剛畢業的時候什麼都不懂,渴望一個機會,去面試當面被面試官批評太差勁。剛入行的時候,沒有牛人帶,總盼望着誰拉扯本身一把,什麼都得本身摸索,一步一步本身踩坑。才工做一兩年的時候,就感受遭遇了瓶頸,將來一片迷茫,不知所措。這些我都經歷過,我甚至還經歷過比這更糟糕的狀況。幸運的是,我堅持了下來。
git
先介紹下我的履歷,做爲面試的參考,拋開背景談面試都是耍流氓。程序員
雙非(非985,非211)一本電信專業畢業,半跨行從事IT行業,工做三年,跳槽前沒有互聯網履歷,第一份工做在外包公司任職,第二份在公募基金公司任職。github
若是你是專科畢業,我建議你至少要考個本科學歷web
如今不少公司簡歷審覈的時候都會卡學歷,我以前任職的基金公司甚至一度卡到985,211。雖然IT是靠能力吃飯的行當,可是隨着從業人員的增多,市場的門檻也會隨之調整。我有時候甚至以爲本科都有點不夠看,建議專科畢業的同窗至少要考個本科學歷,否則很容易失去面試機會。即便面試經過了,在最終的HR面也很容易被刷。面試
3.1養成平常學習的習慣,而不是依賴考前突擊算法
個人面試準備週期很長,差很少從17年12月底開始有想出去看看的打算,一直到18年6月才最終拿到滿意的offer,這個期間我一直在查漏補缺。但個人學習週期更長,從17年5月進入一個平常學習的狀態,花了一年時間跟着網課完成了系統性的學習,中間還看過不少書。數組
我不建議你們只在面試前夕進行突擊學習,背面試題,這種技巧可能會讓你得到一個offer,但沒辦法提高你的我的能力。我建議養成一個平常學習的習慣,天天抽空學幾個小時,在面試前把總結的知識點重溫一遍便可。這種習慣日復一日所帶來的複利會讓你的技術在某一刻由量變產生質變。緩存
3.2人不是神仙,不可能面面俱到安全
業內常常會調侃,面試造航母,工做擰螺絲。你不可能問什麼都能答的上來,因此你要調整好心態坦然接受失敗。不得不說準備面試真的是個很痛苦的事情,耗費精力不說,你可能忽然會發現你原來這也不會,那也不懂,自覺得拿手的本事被人兩三下就問懵逼了,信心嚴重受挫。但你要相信本身,跌倒了沒關係,再爬起來就好。
關於面試具體要準備什麼,聊這方面的文章不少,我簡單梳理一下,後面也會有我部分公司面試題的總結。
多線程、JVM
這兩塊的知識點是讓你能順利經過大廠一面的保證,我所經歷過的阿里、頭條面試一面基本圍繞這些知識點展開。
開源框架
我以爲多多少少須要看一些框架源碼,瞭解其中的原理,掌握其中的核心,而且能用本身的語言,陳述出來。還有時下比較流行的東西面試官問的概率很高,好比組件化、hybrid。多讀讀源碼也能培養本身讀代碼的能力,這樣的本事能讓你很快的瞭解一個新的項目或者一個新的框架。
性能優化
這一塊也是不少公司喜歡問的,特別是當部門架構組團隊招人的時候喜歡問。我不太擅長這方面,就很少談了。
數據結構及算法
在我係統學習的過程當中我是把數據結構和算法跟着課程學了一遍的,可是我面試期間是徹底放棄複習算法的。這麼說並非說算法不重要,頭條的面試上來就會考一道算法題,喜歡考算法的廠也愈來愈多。只是你們要根據本身的實際狀況分配複習的比重。畢竟數學考試最後一道大題你作不來,你能夠把前面的小題爭取所有作對。
簡歷是敲門磚,也多是面試的引線
你們必定要重視簡歷。對於學校不優秀,工做背景不突出的同窗,簡歷是你的敲門磚。簡歷寫的很差,你可能直接會錯過一次展現本身的機會。
在面試中不少面試官會根據簡從來提問,因此你擅長的東西,必定要寫在突出的地方讓面試官看到,主動引導面試官問你你擅長的問題。在回答問題的時候,千萬不要隻言片語草草結束。每次被提問,都是一次展現本身的機會。儘量的說全,說詳細。接着面試官可能圍繞你說的內容進行深挖去考察你,因此你的知識點不能浮於表面,否則兩三個回合可能就被問的啞口無言。若是你實在有些知識點不懂,儘可能的在回答中規避這些細節,省得面試官一時興起問你一下。
那麼簡歷到底該怎麼寫,有些同窗可能會以爲,我平時工做都在堆業務,項目上沒有什麼能夠寫的怎麼辦。首先再回頭看一看項目裏是否是真的沒有什麼閃光點,日活、品控、性能這些都能做爲你的談資。若是實在沒有那就去研究兩三個主流開源框架,讀讀Android SDK源碼,寫點開源項目放到github上。你也能夠搞明白本身項目的業務架構,鑽研一下組件化、熱修復、插件化、hybrid等熱門技術,深究一下性能優化好比卡頓監測、APK瘦身、DEX加密、過渡繪製等。每個點它均可能成爲你成功的鑰匙。
生活是場修行,認真對待每場面試
這裏寫了部分大廠面試題做爲你們複習的參考,平安系的面試主要問的項目,包括個別小廠面試沒什麼參考性,這裏就不寫了。
頭條的面試質量很高,覆盤的時候有種醍醐灌頂的感受。
攜程的面試很不走心,大老遠跑一趟最後面試官都不給我提問的機會面完直接走出去了,我也沒差到這種地步吧。
阿里的面試比較隨機,兩次下午上班的時候來電面試,一次是晚上來電面試。
算法:數組中的數據前半部分遞增,後半部分遞減,排序並去重
Java虛擬機
------如下問題都是面試官根據簡歷問的------
一面
(招行是架構組招人,問的問題主要是架構方面和安全方面,比較開放,簡單總結一下)
幹這行三年了,本身恐慌過,也看到過別人恐慌。擔憂行業日落西山,擔憂Android被大前端統一。這樣的擔憂也不算沒有道理。但其實真正讓我恐慌的是我沒在進步,而行業在不斷進步,擔憂跟不上行業的腳步。做爲程序員,仍是要保持一顆學習的心態,不斷前進。但也但願你們在繁忙的工做、學習之餘抽身出來多培養些興趣愛好,多陪陪家人朋友。多打磨一下本身的軟技能,提升談吐、情商、表達能力。這些也是一個優秀的程序員所須要具有的條件。
我不算是一個優秀的程序員,也只是努力的在這條路上前行,但願能作一些本身喜歡的事情。
若是有機會,會在博客上跟你們分享一些安卓之外的內容。
願每一個人都有夢想,也願每一個人都能堅持本身的夢想