2017下半年丐黄,一二線互聯(lián)網(wǎng)公司Android面試題匯總

阿里巴巴

LRUCache原理
圖片加載原理
模塊化實(shí)現(xiàn)(好處坊萝,原因)
JVM
視頻加密傳輸
統(tǒng)計(jì)啟動(dòng)時(shí)長,標(biāo)準(zhǔn)
如何保持應(yīng)用的穩(wěn)定性
ThreadLocal 原理
談?wù)刢lassloader
動(dòng)態(tài)布局
熱修復(fù),插件化
HashMap源碼,SpareArray原理
性能優(yōu)化,怎么保證應(yīng)用啟動(dòng)不卡頓
怎么去除重復(fù)代碼
SP是進(jìn)程同步的嗎?有什么方法做到同步
介紹下SurfView
HashMap實(shí)現(xiàn)原理许起,ConcurrentHashMap 的實(shí)現(xiàn)原理
BroadcastReceiver十偶,LocalBroadcastReceiver 區(qū)別
Bundle 機(jī)制
Handler 機(jī)制
android 事件傳遞機(jī)制
線程間 操作 List
App啟動(dòng)流程,從點(diǎn)擊桌面開始
動(dòng)態(tài)加載
類加載器
OSGI
Https請求慢的解決辦法惦积,DNS接校,攜帶數(shù)據(jù)狮崩,直接訪問IP
GC回收策略
畫出 Android 的大體架構(gòu)圖
描述清點(diǎn)擊 Android Studio 的 build 按鈕后發(fā)生了什么
大體說清一個(gè)應(yīng)用程序安裝到手機(jī)上時(shí)發(fā)生了什么;
對 Dalvik睦柴、ART 虛擬機(jī)有基本的了解;
Android 上的 Inter-Process-Communication 跨進(jìn)程通信時(shí)如何工作的坦敌;
App 是如何沙箱化侣诵,為什么要這么做狱窘;
權(quán)限管理系統(tǒng)(底層的權(quán)限是如何進(jìn)行 grant 的)
進(jìn)程和 Application 的生命周期;
系統(tǒng)啟動(dòng)流程 Zygote進(jìn)程 –> SystemServer進(jìn)程 –> 各種系統(tǒng)服務(wù) –> 應(yīng)用進(jìn)程
recycleview listview 的區(qū)別,性能
排序蘸炸,快速排序的實(shí)現(xiàn)
樹:B+樹的介紹
圖:有向無環(huán)圖的解釋
TCP/UDP的區(qū)別
synchronized與Lock的區(qū)別
volatile
Java線程池
Java中對象的生命周期
類加載機(jī)制
雙親委派模型
Android事件分發(fā)機(jī)制
MVP模式
RxJava
抽象類和接口的區(qū)別
集合 Set實(shí)現(xiàn) Hash 怎么防止碰撞
JVM 內(nèi)存區(qū)域 開線程影響哪塊內(nèi)存
垃圾收集機(jī)制 對象創(chuàng)建,新生代與老年代
二叉樹 深度遍歷與廣度遍歷
B樹穷当、B+樹
消息機(jī)制
進(jìn)程調(diào)度
進(jìn)程與線程
死鎖
進(jìn)程狀態(tài)
JVM內(nèi)存模型
并發(fā)集合了解哪些
ConCurrentHashMap實(shí)現(xiàn)
CAS介紹
開啟線程的三種方式,run()和start()方法區(qū)別
線程池
常用數(shù)據(jù)結(jié)構(gòu)簡介
判斷環(huán)(猜測應(yīng)該是鏈表環(huán))
排序淹禾,堆排序?qū)崿F(xiàn)
鏈表反轉(zhuǎn)
騰訊

synchronized用法
volatile用法
動(dòng)態(tài)權(quán)限適配方案膘滨,權(quán)限組的概念
網(wǎng)絡(luò)請求緩存處理稀拐,okhttp如何處理網(wǎng)絡(luò)緩存的
圖片加載庫相關(guān),bitmap如何處理大圖德撬,如一張30M的大圖,如何預(yù)防OOM
進(jìn)程彬押椋活
listview圖片加載錯(cuò)亂的原理和解決方案
https相關(guān),如何驗(yàn)證證書的合法性隆檀,https中哪里用了對稱加密粹湃,哪里用了非對稱加密泉坐,對加密算法(如RSA)等是否有了解

滴滴

MVP
廣播(動(dòng)態(tài)注冊和靜態(tài)注冊區(qū)別,有序廣播和標(biāo)準(zhǔn)廣播)
service生命周期
handler實(shí)現(xiàn)機(jī)制(很多細(xì)節(jié)需要關(guān)注:如線程如何建立和退出消息循環(huán)等等)
多線程(關(guān)于AsyncTask缺陷引發(fā)的思考)
數(shù)據(jù)庫數(shù)據(jù)遷移問題
設(shè)計(jì)模式相關(guān)(例如Android中哪里使用了觀察者模式腕让,單例模式相關(guān))
x個(gè)蘋果,一天只能吃一個(gè)纯丸、兩個(gè)、或者三個(gè)俊扭,問多少天可以吃完
TCP與UDP區(qū)別與應(yīng)用(三次握手和四次揮手)涉及到部分細(xì)節(jié)(如client如何確定自己發(fā)送的消息被server收到) HTTP相關(guān) 提到過Websocket 問了WebSocket相關(guān)以及與socket的區(qū)別
是否熟悉Android jni開發(fā)坠陈,jni如何調(diào)用java層代碼
進(jìn)程間通信的方式
java注解
計(jì)算一個(gè)view的嵌套層級
項(xiàng)目組件化的理解
多線程斷點(diǎn)續(xù)傳原理
Android系統(tǒng)為什么會(huì)設(shè)計(jì)ContentProvider萨惑,進(jìn)程共享和線程安全問題
jvm相關(guān)
Android相關(guān)優(yōu)化(如內(nèi)存優(yōu)化畅姊、網(wǎng)絡(luò)優(yōu)化、布局優(yōu)化若未、電量優(yōu)化、業(yè)務(wù)優(yōu)化)
EventBus實(shí)現(xiàn)原理
美團(tuán)

static synchronized 方法的多線程訪問和作用粗合,同一個(gè)類里面兩個(gè)synchronized方法萍嬉,兩個(gè)線程同時(shí)訪問的問題
內(nèi)部類和靜態(tài)內(nèi)部類和匿名內(nèi)部類,以及項(xiàng)目中的應(yīng)用
handler發(fā)消息給子線程隙疚,looper怎么啟動(dòng)
View事件傳遞
activity棧
封裝view的時(shí)候怎么知道view的大小
arraylist和linkedlist的區(qū)別壤追,以及應(yīng)用場景
怎么啟動(dòng)service,service和activity怎么進(jìn)行數(shù)據(jù)交互
下拉狀態(tài)欄是不是影響activity的生命周期供屉,如果在onStop的時(shí)候做了網(wǎng)絡(luò)請求行冰,onResume的時(shí)候怎么恢復(fù)
view渲染

今日頭條
數(shù)據(jù)結(jié)構(gòu)中堆的概念,堆排序
死鎖的概念伶丐,怎么避免死鎖
ReentrantLock 悼做、synchronized和volatile(n面)
HashMap
singleTask啟動(dòng)模式
用到的一些開源框架,介紹一個(gè)看過源碼的哗魂,內(nèi)部實(shí)現(xiàn)過程肛走。
消息機(jī)制實(shí)現(xiàn)
ReentrantLock的內(nèi)部實(shí)現(xiàn)
App啟動(dòng)崩潰異常捕捉
事件傳遞機(jī)制的介紹
ListView的優(yōu)化
二叉樹,給出根節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)录别,找出從根節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的路徑
模式MVP朽色,MVC介紹
斷點(diǎn)續(xù)傳的實(shí)現(xiàn)
集合的接口和具體實(shí)現(xiàn)類邻吞,介紹
TreeMap具體實(shí)現(xiàn)
synchronized與ReentrantLock
手寫生產(chǎn)者/消費(fèi)者模式
邏輯地址與物理地址,為什么使用邏輯地址
一個(gè)無序葫男,不重復(fù)數(shù)組抱冷,輸出N個(gè)元素,使得N個(gè)元素的和相加為M腾誉,給出時(shí)間復(fù)雜度峻呕、空間復(fù)雜度利职。手寫算法
.Android進(jìn)程分類
前臺切換到后臺,然后再回到前臺瘦癌,Activity生命周期回調(diào)方法猪贪。彈出Dialog,生命值周期回調(diào)方法讯私。
Activity的啟動(dòng)模式
愛奇藝
RxJava的功能與原理實(shí)現(xiàn)
RecycleView的使用热押,原理,RecycleView優(yōu)化
ANR的原因
四大組件
Service的開啟方式
Activity與Service通信的方式
Activity之間的通信方式
HashMap的實(shí)現(xiàn)斤寇,與HashSet的區(qū)別
JVM內(nèi)存模型桶癣,內(nèi)存區(qū)域
Java中同步使用的關(guān)鍵字,死鎖
MVP模式
Java設(shè)計(jì)模式娘锁,觀察者模式
Activity與Fragment之間生命周期比較
廣播的使用場景
百度
Bitmap 使用時(shí)候注意什么牙寞?
Oom 是否可以try catch ?
內(nèi)存泄露如何產(chǎn)生莫秆?
適配器模式间雀,裝飾者模式,外觀模式的異同镊屎?
ANR 如何產(chǎn)生惹挟?
String buffer 與string builder 的區(qū)別?
如何保證線程安全缝驳?
java四中引用
Jni 用過么连锯?
多進(jìn)程場景遇見過么?
關(guān)于handler用狱,在任何地方new handler 都是什么線程下
sqlite升級运怖,增加字段的語句
bitmap recycler 相關(guān)
強(qiáng)引用置為null,會(huì)不會(huì)被回收齿拂?
glide 使用什么緩存驳规?
Glide 內(nèi)存緩存如何控制大小署海?
如何保證多線程讀寫文件的安全吗购?
攜程
Activity啟動(dòng)模式
廣播的使用方式医男,場景
App中喚醒其他進(jìn)程的實(shí)現(xiàn)方式
AndroidManifest的作用與理解
List,Set,Map的區(qū)別
HashSet與HashMap怎么判斷集合元素重復(fù)
Java中內(nèi)存區(qū)域與垃圾回收機(jī)制
EventBus作用,實(shí)現(xiàn)方式捻勉,代替EventBus的方式
Android中開啟攝像頭的主要步驟
網(wǎng)易
集合
concurrenthashmap
volatile
synchronized與Lock
Java線程池
wait/notify
NIO
垃圾收集器
Activity生命周期
AlertDialog,popupWindow,Activity區(qū)別
小米
String 為什么要設(shè)計(jì)成不可變的镀梭?
fragment 各種情況下的生命周期
Activity 上有 Dialog 的時(shí)候按 home 鍵時(shí)的生命周期
橫豎屏切換的時(shí)候,Activity 各種情況下的生命周期
Application 和 Activity 的 context 對象的區(qū)別
序列化的作用踱启,以及 Android 兩種序列化的區(qū)別报账。
List 和 Map 的實(shí)現(xiàn)方式以及存儲方式。
靜態(tài)內(nèi)部類的設(shè)計(jì)意圖埠偿。
線程如何關(guān)閉透罢,以及如何防止線程的內(nèi)存泄漏
360
軟引用、弱引用區(qū)別
垃圾回收
多線程:怎么用冠蒋、有什么問題要注意羽圃;Android線程有沒有上限,然后提到線程池的上限
JVM

OOM抖剿,內(nèi)存泄漏
ANR怎么分析解決
LinearLayout朽寞、RelativeLayout、FrameLayout的特性斩郎、使用場景
如何實(shí)現(xiàn)Fragment的滑動(dòng)
ViewPager使用細(xì)節(jié)脑融,如何設(shè)置成每次只初始化當(dāng)前的Fragment,其他的不初始化
ListView重用的是什么
進(jìn)程間通信的機(jī)制
AIDL機(jī)制
AsyncTask機(jī)制
如何取消AsyncTask
序列化
Android為什么引入Parcelable
有沒有嘗試簡化Parcelable的使用
AIDL機(jī)制
項(xiàng)目:拉活怎么做的
應(yīng)用安裝過程
某海外直播公司
線程和進(jìn)程的區(qū)別缩宜?
為什么要有線程肘迎,而不是僅僅用進(jìn)程?
算法判斷單鏈表成環(huán)與否脓恕?
如何實(shí)現(xiàn)線程同步膜宋?
hashmap數(shù)據(jù)結(jié)構(gòu)?
arraylist 與 linkedlist 異同炼幔?
object類的equal 和hashcode 方法重寫秋茫,為什么?
hashmap如何put數(shù)據(jù)(從hashmap源碼角度講解)乃秀?
簡述IPC肛著?
fragment之間傳遞數(shù)據(jù)的方式?
簡述tcp四次揮手?
threadlocal原理
內(nèi)存泄漏的可能原因跺讯?
用IDE如何分析內(nèi)存泄漏枢贿?
OOM的可能原因?
線程死鎖的4個(gè)條件刀脏?
差值器&估值器
簡述消息機(jī)制相關(guān)
進(jìn)程間通信方式局荚?
Binder相關(guān)?
觸摸事件的分發(fā)?
簡述Activity啟動(dòng)全部過程耀态?
okhttp源碼轮傍?
RxJava簡介及其源碼解讀?
性能優(yōu)化如何分析systrace首装?
廣播的分類创夜?
點(diǎn)擊事件被攔截,但是相傳到下面的view仙逻,如何操作驰吓?
Glide源碼?
ActicityThread相關(guān)系奉?
volatile的原理
synchronize的原理
lock原理
翻轉(zhuǎn)一個(gè)單項(xiàng)鏈表
string to integer
合并多個(gè)單有序鏈表(假設(shè)都是遞增的)
其他公司

四大組件
Android中數(shù)據(jù)存儲方式
微信主頁面的實(shí)現(xiàn)方式
微信上消息小紅點(diǎn)的原理
兩個(gè)不重復(fù)的數(shù)組集合中檬贰,求共同的元素。
上一問擴(kuò)展喜最,海量數(shù)據(jù)偎蘸,內(nèi)存中放不下庄蹋,怎么求出瞬内。
Java中String的了解。
ArrayList與LinkedList區(qū)別
堆排序過程限书,時(shí)間復(fù)雜度虫蝶,空間復(fù)雜度
快速排序的時(shí)間復(fù)雜度,空間復(fù)雜度
RxJava的作用倦西,與平時(shí)使用的異步操作來比能真,優(yōu)勢
Android消息機(jī)制原理
Binder機(jī)制介紹
為什么不能在子線程更新UI
JVM內(nèi)存模型
Android中進(jìn)程內(nèi)存的分配,能不能自己分配定額內(nèi)存
垃圾回收機(jī)制與調(diào)用System.gc()區(qū)別
Android事件分發(fā)機(jī)制
斷點(diǎn)續(xù)傳的實(shí)現(xiàn)
RxJava的作用扰柠,優(yōu)缺點(diǎn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末粉铐,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子卤档,更是在濱河造成了極大的恐慌蝙泼,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件劝枣,死亡現(xiàn)場離奇詭異汤踏,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)舔腾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門溪胶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人稳诚,你說我怎么就攤上這事哗脖。” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵才避,是天一觀的道長丘损。 經(jīng)常有香客問我,道長工扎,這世上最難降的妖魔是什么徘钥? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮肢娘,結(jié)果婚禮上呈础,老公的妹妹穿的比我還像新娘。我一直安慰自己橱健,他們只是感情好而钞,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拘荡,像睡著了一般臼节。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上珊皿,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天网缝,我揣著相機(jī)與錄音,去河邊找鬼蟋定。 笑死粉臊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的驶兜。 我是一名探鬼主播扼仲,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼抄淑!你這毒婦竟也來了屠凶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤肆资,失蹤者是張志新(化名)和其女友劉穎矗愧,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體迅耘,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贱枣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了颤专。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纽哥。...
    茶點(diǎn)故事閱讀 40,498評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖栖秕,靈堂內(nèi)的尸體忽然破棺而出春塌,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布只壳,位于F島的核電站俏拱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏吼句。R本人自食惡果不足惜锅必,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惕艳。 院中可真熱鬧搞隐,春花似錦、人聲如沸远搪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谁鳍。三九已至癞季,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間倘潜,已是汗流浹背绷柒。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留窍荧,地道東北人辉巡。 一個(gè)月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像蕊退,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子憔恳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評論 2 359