前言:前一段時間和你們交流,據反饋如今Android崗位也沒有之前那麼多了,固然這不意味着飽和,只是市場更趨於合理一些,就像深圳房價同樣,之前破天慌的漲,新政出來後,房價慢慢趨向合理同樣。Android還有有不少機會的。最近結合一些面試的同窗(包含社招和校招),整理了下一些面試題目。實際上,不少面試題網上都能找獲得。不少人說,徹底能夠背答案,我不這麼看。背的和實際開發遇到的,說出來是不同的。舉例,你是怎麼使用多線程的?這個問題。背的答案,每每向裏面一細問,可能就不知道了。話很少說,我整理面試題以下,供你們參考,知道比沒知道的好。能夠幫你們查漏不缺。如下是(騰訊,百度,華爲,搜狗和滴滴 這些廠的面試題)前端
Android基礎面試
View的繪製流程;自定義View如何考慮機型適配;
自定義View的事件分發機制;
View和ViewGroup分別有哪些事件分發相關的回調方法;
自定義View如何提供獲取View屬性的接口;
Art和Dalvik對比;虛擬機原理,如何本身設計一個虛擬機(內存管理,類加載,雙親委派);
JVM內存模型及類加載機制;
內存對象的循環引用及避免
內存回收機制與GC算法(各類算法的優缺點以及應用場景);
GC原理時機以及GC對象;
內存泄露場景及解決方法;
OOM的避免及解決方法
四大組件及生命週期;
ContentProvider的權限管理(讀寫分離,權限控制-精確到表級,URL控制);
Activity的四種啓動模式對比;
Activity狀態保存於恢復
Fragment生命週期;
Fragment狀態保存
startActivityForResult是哪一個類的方法,在什麼狀況下使用,若是在Adapter中使用應該如何解耦
AsyncTask原理及不足;IntentService原理
AstncTask+HttpClient與AsyncHttpClient有什麼區別
如何保證一個後臺服務不被殺死;比較省電的方式是什麼
如何經過廣播攔截和abort一條短信;
廣播是否能夠請求網絡;廣播引發anr的時間限制
進程間通訊,AIDL
Handler機制及底層實現
Binder機制及底層實現
ApplicationContext和ActivityContext的區別
一張Bitmap所佔內存以及內存佔用的計算
對於應用更新這塊是如何作的?(灰度,強制更新,分區域更新)
混合開發,RN,weex,H5,小程序(作Android的瞭解一些前端js等仍是頗有好處的)
說一款你認爲當前比較火的應用並設計(直播APP)算法
Java基礎小程序
集合類以及集合框架;
HashMap與HashTable實現原理,線程安全性,hash衝突及處理算法;
ConcurrentHashMap
進程和線程的區別;
多線程與線程池
數據一致性如何保證;
Synchronized關鍵字,類鎖,方法鎖,重入鎖
同步的方法;
多進程開發以及多進程應用場景
服務器只提供數據接收接口,在多線程或多進程條件下,如何保證數據的有序到達
ThreadLocal原理,實現及如何保證Local屬性
String StringBuilder StringBuffer對比
接口與回調;
回調的原理;寫一個回調demo;
泛型原理,舉例說明;
解析與分派
抽象類與接口的區別;
應用場景;抽象類是否能夠沒有方法和屬性
靜態屬性和靜態方法是否能夠被繼承?是否能夠被重寫?緣由
修改對象A的equals方法的簽名,那麼使用HashMap存放這個對象實例的時候,會調用哪一個equals方法設計模式
數據結構與算法安全
堆和棧在內存中的區別是什麼(數據結構方面以及實際實現方面)
最快的排序算法是哪一個?給阿里2萬多名員工按年齡排序應該選擇哪一個算法?堆和樹的區別;
寫出快排代碼;
鏈表逆序代碼
求1000之內的水仙花數以及40億之內的水仙花數
子串包含問題(KMP 算法)寫代碼實現
萬億級別的兩個URL文件A和B,如何求出A和B的差集C,(Bit映射->hash分組->多文件讀寫效率->磁盤尋址 以及應用層面對尋址的優化)
蟻羣算法與蒙特卡洛算法
寫出你所知道的排序算法及時空複雜度,穩定性
百度POI中如何試下查找最近的商家功能(座標鏡像+R樹)
其餘服務器
死鎖的四個必要條件 常見編碼方式;
utf-8編碼中的中文佔幾個字節;int型幾個字節
實現一個Json解析器(能夠經過正則提升速度)
MVC MVP MVVM; 常見的設計模式;
寫出觀察者模式的代碼
TCP的3次握手和四次揮手;
TCP與UDP的區別
HTTP協議;
HTTP1.0與2.0的區別;
HTTP報文結構
HTTP與HTTPS的區別以及如何實現安全性weex
非技術問題彙總網絡
研究比較深刻的領域有哪些
對業內信息的關注渠道有哪些
最近都讀哪些書
本身最擅長的技術點,最感興趣的技術領域和技術點
項目中用了哪些開源庫,如何避免由於引入開源庫而致使的安全性和穩定性問題
實習過程當中作了什麼,有什麼產出
5枚硬幣,2正3反如何劃分爲兩堆而後經過翻轉讓兩堆中正面向上的硬幣和反面向上的硬幣個數相同 時針走一圈,時針分針重合幾回
N * N的方格紙,裏面有多少個正方形
如今下載速度很慢,試從網絡協議的角度分析緣由,並優化(網絡的5層均可以涉及)數據結構
HR問題彙總
講一件你印象最深的一件事情 介紹一個你影響最深的項目 介紹你最熱愛最擅長的專業領域 公司實習最大的收穫是什麼 本身的優勢和缺點是什麼?舉例說明 你的學習方法是什麼樣的?實習過程當中如何學習?實習項目中遇到的最大困難是什麼以及如何解決的 說一件最能證實你能力的事情 項目中遇到最大的困難是什麼?如何解決的 你的職業規劃以及我的目標;將來發展路線及求職定位 評價下本身,評價下本身的技術水平,我的代碼量如何 經過哪些渠道瞭解的招聘信息,其餘同窗都投了哪些公司 業餘都有哪些愛好 當前的offer情況;若是BATH都給了offer該如何選 你對一份工做更看重哪些方面?平臺,技術,氛圍,城市,money 理想薪資範圍;杭州崗和北京崗選哪一個 理想中的工做環境是什麼 實習過程當中周圍同事/同窗有哪些值得學習的地方 家人對你的工做指望及本身的工做指望 若上司在公開會議上誤會你了,該如何解決 是否能夠實習,能夠實習多久 你看中公司的什麼?或者公司的那些方面最吸引你?