本篇文章已受權微信公衆號 guolin_blog (郭霖)獨家發佈 本人小楠——一位勵志的Android開發者。php
個人公衆號:html
前言
最近開始秋招了,最近也陸陸續續看到了不少後輩分享的面試經歷,想當年身邊的大神也分享過各類各樣的(奇葩)面經,自身也看過、經歷過,所以有感而發,寫一篇總結性的文章,但願可以幫到正在找工做的朋友們,尤爲是針對於正在忙於春招和秋招的大學生,另外也算本身的學習總結、爲之後跳槽作準備。程序員
寫這篇文章最初的想法是本身最近在研究Android源碼的時候,發現一個有趣的問題:面試
爲何Intent(或者說Bundle)中攜帶的數據須要支持序列化呢?
複製代碼
對於這個問題,相信不少初學者根本就不會去思考它,看似簡單,可是這其中就涉及到了Binder機制的內容。萬一被問到,企業仍是可以區分出真正深刻理解Android的人的。首先,Intent是四大組件之間通訊的橋樑,也被稱做爲信使。Intent能夠用於不一樣進程間組件的通訊,因爲進程間通訊只支持一些比較基本的數據類型以及實現了序列化的類型,所以Intent中的數據須要符合進程間通訊的規範。算法
首先在這裏聲明:數據庫
- 下面內容可能涉及一些非本人原創的內容,這裏並不是屬於廣告性質,只要是對你們有所幫助的,我都將分享給你們。
- 筆者推薦的文章/書籍通常都比較淺顯易懂(尤爲是指筆者本身的文章),不會涉及過多深奧的內容,若是須要深刻,請百度一下。
- Android技術博大精深,一篇文章不可能總結完。
1、基礎知識篇
####1. 虛擬機相關知識基礎設計模式
重點關注:性能優化
- 虛擬機的內存管理
- 虛擬機的垃圾回收
- 虛擬機的種類:Java虛擬機、Android兩種虛擬機的對比
- class與dex文件
- Class加載
這裏推薦筆者的文章:微信
- 虛擬機:www.jianshu.com/p/e00971e07…
- class與dex文件:www.jianshu.com/p/2eb518941…
- Class加載:www.jianshu.com/p/37cad7a90…
####2. Java基礎:網絡
尤爲須要深刻理解容器、I/O、線程、反射、泛型等。尤爲是容器的源碼實現。
相關文章網上比較多,筆者只推薦一小部分:
- 筆者本身的文章:www.jianshu.com/p/aaf8594e0…
- 《Java面試寶典》
- 《北京聖思園JAVA視頻教程全套》:download.csdn.net/detail/jiex…
####3. Kotlin基礎
這裏推薦:
- Bennyhuo的視頻《Kotlin系統入門與進階》coding.imooc.com/class/108.h…
- 也能夠直接看筆者看視頻總結的文章《Kotlin 學習之旅》:www.jianshu.com/nb/14405738
- 更多新知識,關注Bennyhuo的Kotlin公衆號,直接微信添加公衆號搜「Kotlin」
####4. 數據結構與算法
這裏重點關注:
- 基本的數據結構
- 基本的排序算法
- 算法的時空複雜度
推薦:
- 書籍:《大話數據結構》
- 視頻:《小甲魚數據結構》
- 有條件的看動腦學院Danny的《算法數據結構》
- 筆者的排序總結:www.jianshu.com/p/7d70a9b4c…
- 算法題:牛客網左程雲的算法視頻、他的相關書籍《程序員代碼面試指南》
5. 操做系統基礎與計算機網絡
這個就不用做太多介紹了,大學的基礎課。
其中,值得注意的是:
- 操做系統方面的知識:推薦《操做系統面試重難點總結》www.jianshu.com/p/d254b138d…
- 計算機網絡方面,注意TCP/UDP,三次握手;HTTP/HTTPS等知識
最後,仍是推薦微信公衆號『碼個蛋』特約做者--Ruhengwww.jianshu.com/u/0fa6f5d09…
6. 設計原則與設計模式、架構
推薦:
- 《Android源碼與設計模式》,誰看誰知道,好書不解釋,一本就夠了。
- 架構、思想方面的知識,推薦去看潭州學院的架構視頻,也推薦上有心課堂學習Stay的架構課程。
7. 版本控制與持續集成、自動化構建、Gradle
- 版本控制推薦學習Git和GitHub,能夠去看廖雪峯大神的文章。也能夠看筆者總結的文章《Git學習筆記》:www.jianshu.com/p/7eb0f4667…。另外,想去手機廠商的朋友,最好也掌握如下Repo。
- 持續集成、自動化構建平臺搭建:有興趣的朋友去研究jenkins
- Gradle:推薦徐宜生大神的《Android神兵利器》
2、Android面試常問知識篇
Android基礎就再也不贅述了,相信你們都比較熟悉,找一個系列的博客或者買本書籍補習便可,也推薦去看黑馬的Android視頻。重點關注四大組件的生命週期、Activity啓動模式、Service等等。
推薦:
- 郭霖大神的《第一行代碼第二版》
- 任玉剛大神《Android開發藝術探索》,這本書講解面試常見的基本知識之餘,做了必定的拓展。
下面主要介紹一下Android基礎知識之外的。
1. Android系統架構、源碼分析
招聘信息上面常常寫「熟悉Android系統架構」、還會常常被問「有沒有看過什麼源碼」,那麼到底什麼是系統架構呢,參考文章:
- 筆者的《Android 源碼分析之旅》系列文章,www.jianshu.com/nb/10424206
- 包建強的源碼分析系列文章《寫給Android App開發人員看的Android底層知識》:jax.cnblogs.com/
- 《Android開發藝術探索》中關於源碼、機制的相關章節
注:做爲Android APP開發人員,源碼沒必要深刻掌握代碼每一個細節。可是有些東西,掌握了就會加深對Android的理解,這就是源碼的魅力所在,它深深地吸引着筆者。這也是區分各位應聘者的門檻。
至於其它的通常的框架源碼的話,例如:
- 熱修復與插件化框架源碼
- Android路由、組件化源碼
- 異步框架
- 新的動畫框架
- 網絡請求框架源碼(Retrofit的話推薦去有心課堂看視頻)
- 圖片加載框架源碼(Glide、Fresco等)
- 數據庫框架源碼(留意2017年新出的框架)
這些其實都應該重點關注一下的,面試的時候大體可以說出一個流程或者原理。側重點看什麼須要根據公司而定,若是公司是搞電商的,那麼網絡請求、圖片加載確定少不了。
每樣挑一個比較牛逼、或者比較新的框架去研究便可。最好其它框架也要懂個大體的原理、會使用。
2. 新技術
學習一些插件化、熱修復框架,Android路由、組件化、異步框架、新的動畫框架。
例如:
- 插件化:滴滴(任玉剛)的插件化框架VirtualAPK、奇虎360的插件化框架RePlugin等
- 熱修復:阿里巴巴第三代非侵入式移動熱修復解決方案(注意不是AndFix哦)等
- 路由:ARouter等
- 組件化:Atlas等
- 異步:RxJava、RxAndroid等一系列框架等(推薦有心課堂)
- 新的動畫框架:Lottie等
以上只是列出一些比較常見、比較新的框架,具體深刻修行須要靠我的。應付面試的話,只須要大體能說出原理、使用體驗過也就差很少了。資料網上比較多,就不逐個推薦了。
3. 性能優化
性能優化也是Android面試中常問的點,這裏推薦一些相關資料:
- 騰訊音樂大神的書籍:《Android應用性能優化最佳實踐》
- 筆者的系列博客《Android 性能優化之旅》:www.jianshu.com/nb/10374109
- Android性能優化官方文檔
- 《Android開發藝術探索》中的關於性能優化的相關章節
4. 自定義View與動畫
這是Android中比較難的一部分知識,須要平時就不斷積累、鍛鍊,相關的文章比較多,就不推薦了。
這裏推薦扔物線大神的自定義View文章:hencoder.com/ui-1-1/
5. NDK開發(含JNI)
NDK開發也是用人單位區分應聘者的手段之一,企業不必定要用到,可是能夠經過是否掌握NDK來篩選人才。相對來講,大公司比較喜歡使用NDK技術。
相關推薦文章:
- 筆者的《Android NDK開發之旅》系列博客:www.jianshu.com/nb/10785521
- 各類C/C++、Linux資料,網上比較多
注:若是想去手機廠商的話,最好懂一些Linux的基本命令、adb命令、Ubuntu/MAC的使用
6. 項目實戰
- 推薦上菜鳥窩官網隨便買一個項目視頻學習
- 推薦去找個小公司實習或者接個外包
- 上網(例如GitHub)找一些成熟的、完整的項目學習,模仿
3、筆試篇
這裏推薦你們上牛客網www.nowcoder.com/刷題,筆試離不開上面的基礎知識的積累,所以這裏再也不贅述。
4、常見招聘網站
下面介紹一些筆者知道的常見的招聘網站:
- 智聯招聘
- 拉勾網
- 海投網:這個主要針對應屆畢業生,上面不少宣講會消息
- 各個公司的官網的招聘版塊
最好都對應裝一個APP,及時掌握最新的招聘信息,及時投簡歷過去、參加宣講會、筆試。
最後,重點推薦一個網站:看準網,這個網站上面有各類各樣、各個公司的面試經歷。面試前上去看看,搜一下,每每可以找到不少面經,提早準備面試。
另外,推薦安裝一個天眼查APP,隨時查詢是否是正規的公司!!!這一點很重要,否則的話,當心被騙
5、簡歷篇
推薦:
- 在線簡歷製做平臺:五百丁,最好開一個永久會員,能夠參考一下載製做好的簡歷
- 有能力的,找一些比較好的PS格式的簡歷,本身用PS去修改
- 不缺錢的,上淘寶找人作
另外,關於簡歷的書寫與包裝,必定要多參考牛逼的人的簡歷,下面給出兩篇參考文章:
- 《你的Android簡歷都差在哪裏》:http://www.jianshu.com/p/bc428793c114?mType=Group
- 《Android 求職簡歷》:http://www.jianshu.com/p/5a46c2b7e9f0
最後,曬出當年筆者的渣渣簡歷(其實也就去年,哈哈):
PS:
- 頭像(照片)只是展現用(這是展現版本),實際投出去的簡歷頭像千萬不能這麼吊,由於這是對HR的一種不尊重,這是值得重視的。
- 簡歷與你所準備的內容必定要充實、注重能力與技術,而不是各類校園、社會經歷,由於這是技術簡歷,你不是去應聘銷售。
- 必定要積極向上,體現你對這個行業的熱愛(例如筆者給本身的簡歷P了好多Android機器人,哈哈)。
- 筆者當年的水平也就那樣了,別噴!
- 簡歷必定要學會包裝。
6、技術面
首先,給出幾個注意點:
- 面試中必定程度的裝逼是須要的
- 適當的交談能力是必須的,這個須要平時多練習
- 被問到不懂的時候,沒必要強行裝逼,能夠虛心請教,或者適當轉移話題
- 態度必定要積極向上,對這個公司充滿期待與好奇
下面給出一些推薦資料:
- 筆者的《Android面試--紙上談兵系列》:www.jianshu.com/p/8500d42e3…
- 黑馬程序員論壇上面的一些面試經歷,例如:bbs.itheima.com/thread-1963…、bbs.itheima.com/thread-2602…、bbs.itheima.com/thread-2235…(筆者當年但是所有都看完,而且用Word文檔保存起來了)
- 黑馬程序員論壇Java板塊上面的一些筆記,着重推薦《陽哥的Android面試寶典》:bbs.itheima.com/forum.php?m…。另外還有其餘的一些筆記,例如:bbs.itheima.com/forum.php?m…、bbs.itheima.com/thread-2247…
- 關注微信公衆號「安卓筆記俠」,上面的《Android面試一天一題》系列文章以及一些面試實戰的文章都挺不錯。
- 簡書上面的Code小生的《Android面試專輯》www.jianshu.com/c/1009682ba…
注意:
《陽哥的Android面試寶典》與黑馬程序員出版的書籍《Android 面試寶典》是同樣的,有條件的同窗推薦去買本書。書上補充了不少知識,例如簡歷、面試過程。
7、HR面
終於來到最後一個環節了,過了HR面,你幾乎能夠拿到Offer了。
HR面中的注意點:
- HR主要想知道的你的工做態度、對行業的熱愛程度
- 各類職場能力:溝通、決策能力等
- 穿着得體便可,不能太隨便,又不能太正式。
- 必定要懂得HR的面試套路,對常見問題要有所準備,尤爲針對女HR。
這裏,推薦筆者本身寫的一篇關於HR面試的文章:《HR面試小總結--不按期更新》www.jianshu.com/p/6ba84767c…,但願可以幫到你們。
結束語
筆者的水平與能力有限,只能幫你們到這裏了,Android知識體系博大精深,一篇文章不可能徹底掌握,這裏只介紹了一些面試常見的知識點。
最後,給你們喂點雞湯:www.jianshu.com/nb/14294090
但願你們在準備、宣講會、筆試、面試的過程當中可以駕輕就熟,拿到本身心目之中最理想的Offer。
若是以爲個人文字對你有所幫助的話,歡迎關注個人公衆號:
個人羣歡迎你們進來探討各類技術與非技術的話題,有興趣的朋友們加我私人微信huannan88,我拉你進羣交(♂)流(♀)。