安卓面試題

阿里巴巴

LRUCache原理

圖片加載原理

模塊化實(shí)現(xiàn)(好處,原因)

JVM

視頻加密傳輸

統(tǒng)計(jì)啟動(dòng)時(shí)長(zhǎng),標(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)擊桌面開(kāi)始

動(dòng)態(tài)加載

類加載器

OSGI

Https請(qǐng)求慢的解決辦法,DNS,攜帶數(shù)據(jù),直接訪問(wèn)IP

GC回收策略

畫出 Android 的大體架構(gòu)圖

描述清點(diǎn)擊 Android Studio 的 build 按鈕后發(fā)生了什么

大體說(shuō)清一個(gè)應(yīng)用程序安裝到手機(jī)上時(shí)發(fā)生了什么;

對(duì) 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)

樹(shù):B+樹(shù)的介紹

圖:有向無(wú)環(huán)圖的解釋

TCP/UDP的區(qū)別

synchronized與Lock的區(qū)別

volatile

Java線程池

Java中對(duì)象的生命周期

類加載機(jī)制

雙親委派模型

Android事件分發(fā)機(jī)制

MVP模式

RxJava

抽象類和接口的區(qū)別

集合 Set實(shí)現(xiàn) Hash 怎么防止碰撞

JVM 內(nèi)存區(qū)域 開(kāi)線程影響哪塊內(nèi)存

垃圾收集機(jī)制 對(duì)象創(chuàng)建,新生代與老年代

二叉樹(shù) 深度遍歷與廣度遍歷

B樹(shù)、B+樹(shù)

消息機(jī)制

進(jìn)程調(diào)度

進(jìn)程與線程

死鎖

進(jìn)程狀態(tài)

JVM內(nèi)存模型

并發(fā)集合了解哪些

ConCurrentHashMap實(shí)現(xiàn)

CAS介紹

開(kāi)啟線程的三種方式,run()和start()方法區(qū)別

線程池

常用數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)介

判斷環(huán)(猜測(cè)應(yīng)該是鏈表環(huán))

排序,堆排序?qū)崿F(xiàn)

鏈表反轉(zhuǎn)

騰訊

synchronized用法

volatile用法

動(dòng)態(tài)權(quán)限適配方案,權(quán)限組的概念

網(wǎng)絡(luò)請(qǐng)求緩存處理,okhttp如何處理網(wǎng)絡(luò)緩存的

圖片加載庫(kù)相關(guān),bitmap如何處理大圖,如一張30M的大圖,如何預(yù)防OOM

進(jìn)程保活

listview圖片加載錯(cuò)亂的原理和解決方案

https相關(guān),如何驗(yàn)證證書的合法性,https中哪里用了對(duì)稱加密,哪里用了非對(duì)稱加密,對(duì)加密算法(如RSA)等是否有了解

滴滴

MVP

廣播(動(dòng)態(tài)注冊(cè)和靜態(tài)注冊(cè)區(qū)別,有序廣播和標(biāo)準(zhǔn)廣播)

service生命周期

handler實(shí)現(xiàn)機(jī)制(很多細(xì)節(jié)需要關(guān)注:如線程如何建立和退出消息循環(huán)等等)

多線程(關(guān)于AsyncTask缺陷引發(fā)的思考)

數(shù)據(jù)庫(kù)數(shù)據(jù)遷移問(wèn)題

設(shè)計(jì)模式相關(guān)(例如Android中哪里使用了觀察者模式,單例模式相關(guān))

x個(gè)蘋果,一天只能吃一個(gè)、兩個(gè)、或者三個(gè),問(wèn)多少天可以吃完

TCP與UDP區(qū)別與應(yīng)用(三次握手和四次揮手)涉及到部分細(xì)節(jié)(如client如何確定自己發(fā)送的消息被server收到) HTTP相關(guān) 提到過(guò)Websocket 問(wèn)了WebSocket相關(guān)以及與socket的區(qū)別

是否熟悉Android jni開(kāi)發(fā),jni如何調(diào)用java層代碼

進(jìn)程間通信的方式

java注解

計(jì)算一個(gè)view的嵌套層級(jí)

項(xiàng)目組件化的理解

多線程斷點(diǎn)續(xù)傳原理

Android系統(tǒng)為什么會(huì)設(shè)計(jì)ContentProvider,進(jìn)程共享和線程安全問(wèn)題

jvm相關(guān)

Android相關(guān)優(yōu)化(如內(nèi)存優(yōu)化、網(wǎng)絡(luò)優(yōu)化、布局優(yōu)化、電量?jī)?yōu)化、業(yè)務(wù)優(yōu)化)

EventBus實(shí)現(xiàn)原理

美團(tuán)

static synchronized 方法的多線程訪問(wèn)和作用,同一個(gè)類里面兩個(gè)synchronized方法,兩個(gè)線程同時(shí)訪問(wèn)的問(wèn)題

內(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)用場(chǎng)景

怎么啟動(dòng)service,service和activity怎么進(jìn)行數(shù)據(jù)交互

下拉狀態(tài)欄是不是影響activity的生命周期,如果在onStop的時(shí)候做了網(wǎng)絡(luò)請(qǐng)求,onResume的時(shí)候怎么恢復(fù)

view渲染

今日頭條

數(shù)據(jù)結(jié)構(gòu)中堆的概念,堆排序

死鎖的概念,怎么避免死鎖

ReentrantLock 、synchronized和volatile(n面)

HashMap

singleTask啟動(dòng)模式

用到的一些開(kāi)源框架,介紹一個(gè)看過(guò)源碼的,內(nèi)部實(shí)現(xiàn)過(guò)程。

消息機(jī)制實(shí)現(xiàn)

ReentrantLock的內(nèi)部實(shí)現(xiàn)

App啟動(dòng)崩潰異常捕捉

事件傳遞機(jī)制的介紹

ListView的優(yōu)化

二叉樹(shù),給出根節(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è)無(wú)序,不重復(fù)數(shù)組,輸出N個(gè)元素,使得N個(gè)元素的和相加為M,給出時(shí)間復(fù)雜度、空間復(fù)雜度。手寫算法

.Android進(jìn)程分類

前臺(tái)切換到后臺(tái),然后再回到前臺(tái),Activity生命周期回調(diào)方法。彈出Dialog,生命值周期回調(diào)方法。

Activity的啟動(dòng)模式

愛(ài)奇藝

RxJava的功能與原理實(shí)現(xiàn)

RecycleView的使用,原理,RecycleView優(yōu)化

ANR的原因

四大組件

Service的開(kāi)啟方式

Activity與Service通信的方式

Activity之間的通信方式

HashMap的實(shí)現(xiàn),與HashSet的區(qū)別

JVM內(nèi)存模型,內(nèi)存區(qū)域

Java中同步使用的關(guān)鍵字,死鎖

MVP模式

Java設(shè)計(jì)模式,觀察者模式

Activity與Fragment之間生命周期比較

廣播的使用場(chǎng)景

?百度

Bitmap 使用時(shí)候注意什么?

Oom 是否可以try catch ?

內(nèi)存泄露如何產(chǎn)生?

適配器模式,裝飾者模式,外觀模式的異同?

ANR 如何產(chǎn)生?

String buffer 與string builder 的區(qū)別?

如何保證線程安全?

java四中引用

Jni 用過(guò)么?

多進(jìn)程場(chǎng)景遇見(jiàn)過(guò)么?

關(guān)于handler,在任何地方new handler 都是什么線程下

sqlite升級(jí),增加字段的語(yǔ)句

bitmap recycler 相關(guān)

強(qiáng)引用置為null,會(huì)不會(huì)被回收?

glide 使用什么緩存?

Glide 內(nèi)存緩存如何控制大小?

如何保證多線程讀寫文件的安全?

攜程

Activity啟動(dòng)模式

廣播的使用方式,場(chǎ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中開(kāi)啟攝像頭的主要步驟

網(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 對(duì)象的區(qū)別

序列化的作用,以及 Android 兩種序列化的區(qū)別。

List 和 Map 的實(shí)現(xiàn)方式以及存儲(chǔ)方式。

靜態(tài)內(nèi)部類的設(shè)計(jì)意圖。

線程如何關(guān)閉,以及如何防止線程的內(nèi)存泄漏

360

軟引用、弱引用區(qū)別

垃圾回收

多線程:怎么用、有什么問(wèn)題要注意;Android線程有沒(méi)有上限,然后提到線程池的上限

JVM

OOM,內(nèi)存泄漏

ANR怎么分析解決

LinearLayout、RelativeLayout、FrameLayout的特性、使用場(chǎng)景

如何實(shí)現(xiàn)Fragment的滑動(dòng)

ViewPager使用細(xì)節(jié),如何設(shè)置成每次只初始化當(dāng)前的Fragment,其他的不初始化

ListView重用的是什么

進(jìn)程間通信的機(jī)制

AIDL機(jī)制

AsyncTask機(jī)制

如何取消AsyncTask

序列化

Android為什么引入Parcelable

有沒(méi)有嘗試簡(jiǎn)化Parcelable的使用

AIDL機(jī)制

項(xiàng)目:拉活怎么做的

應(yīng)用安裝過(guò)程

某海外直播公司

線程和進(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源碼角度講解)?

簡(jiǎn)述IPC?

fragment之間傳遞數(shù)據(jù)的方式?

簡(jiǎn)述tcp四次揮手?

threadlocal原理

內(nèi)存泄漏的可能原因?

用IDE如何分析內(nèi)存泄漏?

OOM的可能原因?

線程死鎖的4個(gè)條件?

差值器&估值器

簡(jiǎn)述消息機(jī)制相關(guān)

進(jìn)程間通信方式?

Binder相關(guān)?

觸摸事件的分發(fā)?

簡(jiǎn)述Activity啟動(dòng)全部過(guò)程?

okhttp源碼?

RxJava簡(jiǎn)介及其源碼解讀?

性能優(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ù)存儲(chǔ)方式

微信主頁(yè)面的實(shí)現(xiàn)方式

微信上消息小紅點(diǎn)的原理

兩個(gè)不重復(fù)的數(shù)組集合中,求共同的元素。

上一問(wèn)擴(kuò)展,海量數(shù)據(jù),內(nèi)存中放不下,怎么求出。

Java中String的了解。

ArrayList與LinkedList區(qū)別

堆排序過(guò)程,時(shí)間復(fù)雜度,空間復(fù)雜度

快速排序的時(shí)間復(fù)雜度,空間復(fù)雜度

RxJava的作用,與平時(shí)使用的異步操作來(lái)比,優(yōu)勢(shì)

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)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,967評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,273評(píng)論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 175,870評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 62,742評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,527評(píng)論 6 407
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 55,010評(píng)論 1 322
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,108評(píng)論 3 440
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 42,250評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,769評(píng)論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,656評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,853評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,371評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,103評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 34,472評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 35,717評(píng)論 1 281
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,487評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,815評(píng)論 2 372

推薦閱讀更多精彩內(nèi)容