2019 年對我來講是最幸運的一年,在這一年我多了一個「小情人」。然而,剛忙完回到公司的第二週,我接到了最殘酷的通知,公司經濟情況不佳 —— 裁人!前端
雖然能夠選擇降薪留下來,可是社保公積金最低,還須要996,無奈只好選告別了待了三年之久的 xxx,沒有 n+1,沒有 xxx,mmp。
因爲離職時間點比較尷尬,立刻就是中秋節,恰好能夠放鬆下回家陪陪家人。程序員
中秋事後,嘗試投了幾份簡歷,可是效果不太好,面試機會也很少,多是因爲立刻就是國慶長假的緣故(也只能這樣安慰下本身)。web
下面是我面試所有以後整理的面試題,把一些重要的面試題給記了下來,有一些已經忘記不過不礙事,是一些比較簡單你們都能答上來的,但願這些面試題能給以後面試的朋友們一點幫助。面試
注意文末的準備與建議,還有整理好的面試PDF文檔分享~算法
這是一個神奇的公司,只怪本身太菜筆試都沒有過,出師不利啊。然而奇怪的是國慶後,該公司的HR找了我不下3次。編程
這是我迄今體驗最差的面試沒有之一,面試官特別裝b,一直問我 API 細節,方法裏有什麼代碼。最後面試官居然 JVM 運行時內存區域和 JMM 都分不清,我實在忍不住了反問了一句:公司難道是在招 API 工程師嗎?小程序
不得不認可阿里實力仍是很強的,也可能我投的崗位指望 P8 以上水平的緣故,被虐的很慘。忽然感受這幾年都荒廢了,選擇大於努力,必定要選擇好的方向,好比我選擇小程序就是一個錯誤。設計模式
你沒有看錯,就只有兩道面試題,白板手寫代碼,這是我遇到的最奇葩的公司了,最後還說我代碼寫的不講究(這 tm 是面試吧,我已經說了因爲篇幅有限,一些細節就忽略了),太浪費時間了。數組
每一個人應聘的職位級別不同,須要準備的範圍也有所不一樣。我應聘的是高級職位,主要準備瞭如下幾點:安全
通常都會問 Java 虛擬機相關知識:類加載機制、雙親委派模型、垃圾回收機制、運行時內存區域、註解、泛型、反射等等。強烈建議精讀一下《深刻理解 Java 虛擬機》這本書。
Java 併發編程也是高級必問知識:Thread生命週期、JMM、volatile、synchronizied、final、JUC、Lock、線程池等等。推薦看一下《Java 併發編程的藝術》。
這部份內容比較多,仍是須要平時多積累,養成看源碼的習慣。
如今通常都不只僅問原理是什麼了,好比 View 繪製原理會問 requestLayout() 和 invalidate() 什麼區別?什麼狀況下 requestLayout() 會執行 onDraw() 方法?
Handler 機制你們都會說,網上找找都能找到,如今會問一個線程幾個 Looper,幾個 Handler?Looper 中的死循環爲何不會卡死主線程?IdleHandler 的原理?發送延時消息怎麼處理的?
若是你能從 Handler 答出 epoll 機制,接下來會問 epoll 機制的原理,有沒有看過源碼?
高級崗位 Framework 層原理確定逃不過的,系統啓動流程、Binder、AMS、WMS 都是最基礎的,最好有一個本身深刻研究的方向,好比 SurfaceFlinger。
進階必定要看剛哥的《Android 開發藝術探索》必備,Framework 部分《Android 內核剖析》、《Android 源碼情景解析》、《深刻理解 Android》系列等都是很不錯的書籍。
面試中通常會問 HTTP 的三次握手、四次揮手過程,以及爲何?HTTPS 的通信過程?等等。
網絡是個大方向,對於 Android 工程師來講,常見的概念必需要了解的,固然深刻研究一下也是很不錯的加分項。就像直播,網絡優化等方面都離不開網絡知識。
推薦看一下《圖解 HTTP》、《圖解 TCP/IP》,向深刻研究能夠看《TCP/IP 詳解》、《UNIX 網絡編程》。
數據結構計算機專業的通常都是必修課,網上資料不少這裏放上我收集到的一些資料,文末自取。
面試中數據結構通常會問 Java 集合類:ArrayList、HashMap、ConcurrentHashMap 等等,常見的高頻算法題必定要準備下。
算法能夠看看《算法》、《算法導論》、覃超的《算法面試通關 40 講》、刷下 LeetCode。
設計模式通常會問你在項目中經常使用的設計模式有那些?等你說完以後會問你怎麼用的,什麼場景用的?它的優缺點是什麼?遵循了什麼原則?違背了什麼原則?...
架構 MVC、MVP、MVVM 爛大街的問題,通常會問它們的優缺點各是什麼?
雖而後面還有好幾家面試,也有像豹廠這樣的很不錯的公司。但不得不認可一天面兩家,一週面 10 多家實在太累了。
在收到大數字公司的 Offer 後就沒有再面了,加上 HR 將近五輪的面試聊得過程都很愉快,大數字公司也是我比較理想的公司。
雖然在以前也收到了幾家很不錯 Offer,相比之下仍是大數字公司比較適合我,接下里的幾年也須要好好沉澱一下技術了。
通過這一次的被動面試經歷,我我的感覺有如下幾點:
若是是裸辭找工做,HR 通常都會問何時離職的。若是手裏沒有 Offer,就很被動了,頗有可能被壓薪資。主動權必定要掌握在本身手中。
即便很努力若是方向錯了就是浪費時間,就像我選擇了小程序就是個錯誤(大前端坑太多,入坑需謹慎)。個人建議是多深刻研究一些以不變應萬變的技能。
雖說能力很重要,但學歷是敲門磚(HR 就看這個)。若是連面試機會都沒有,還怎麼談而後?若是學歷不突出有很好的大廠履歷也很不錯,貌似是個蛋生雞,雞生蛋的問題。
一些基礎知識和理論確定是要背的,要理解的背,用本身的語言總結一下背下來。
雖然 Android 沒有前幾年火熱了,已通過去了會四大組件就能找到高薪職位的時代了。這隻能說明 Android 中級如下的崗位飽和了,如今高級工程師仍是比較缺乏的,我能明顯感受到國慶後多了不少高級職位,因此努力讓本身成爲高級工程師纔是最重要的。
好了,但願對你們有所幫助。
接下來是整理的一些Android學習資料,有興趣的朋友們能夠加我wx:X1524478394 免費獲取。
①Android開發核心知識點筆記
②對標「阿里 P7」 40W+年薪企業資深架構師成長學習路線圖
③面試精品集錦彙總
④全套體系化高級架構視頻
Android精講視頻領取學習後更加是如虎添翼!進軍BATJ大廠等(備戰)!如今都說互聯網寒冬,其實無非就是你上錯了車,且穿的少(技能),要是你上對車,自身技術能力夠強,公司換掉的代價大,怎麼可能會被裁掉,都是淘汰末端的業務Curd而已!現現在市場上初級程序員氾濫,這套教程針對Android開發工程師1-6年的人員、正處於瓶頸期,想要年後突破本身漲薪的,進階Android中高級、架構師對你更是如魚得水,趕快領取吧!
【Android進階學習視頻】、【全套Android面試祕籍】加我wx:X1524478394 免費獲取!