阿里巴巴
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)