您的位置:首頁(yè) >  新聞中心 > 行業(yè)動(dòng)態(tài)
  行業(yè)動(dòng)態(tài)
 

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

來(lái)源:原創(chuàng)    時(shí)間:2017-10-17    瀏覽:0 次

轉(zhuǎn)瞬就到了2017年10月,離2018就剩余幾個(gè)月了,許多人估量正在換崗的路上,收拾一份Android高檔開(kāi)發(fā)工程師面試集錦,對(duì)照這些問(wèn)題進(jìn)行溫習(xí),將會(huì)事半功倍。廢話不多說(shuō),直接上干貨,由所以收拾于網(wǎng)絡(luò),就不標(biāo)明原創(chuàng),期望我們多多同享和轉(zhuǎn)發(fā)給有需求的同學(xué)。
 
 
阿里巴巴
 
 
LRUCache原理
圖片加載原理
模塊化完成(優(yōu)點(diǎn),原因)
JVM
視頻加密傳輸
核算發(fā)動(dòng)時(shí)長(zhǎng),規(guī)范
怎樣堅(jiān)持運(yùn)用的穩(wěn)定性
ThreadLocal 原理
談?wù)刢lassloader
動(dòng)態(tài)布局
熱修正,插件化
HashMap源碼,SpareArray原理
功能優(yōu)化,怎樣確保運(yùn)用發(fā)動(dòng)不卡頓
怎樣去除重復(fù)代碼
SP是進(jìn)程同步的嗎?有什么辦法做到同步
介紹下SurfView
HashMap完成原理,ConcurrentHashMap 的完成原理
BroadcastReceiver,LocalBroadcastReceiver 差異
Bundle 機(jī)制
Handler 機(jī)制
android 事情傳遞機(jī)制
線程間 操作 List
App發(fā)動(dòng)流程,從點(diǎn)擊桌面開(kāi)端
動(dòng)態(tài)加載
類(lèi)加載器
OSGI
Https懇求慢的處理辦法,DNS,帶著數(shù)據(jù),直接拜訪IP
GC收回戰(zhàn)略
畫(huà)出 Android 的大體架構(gòu)圖
描繪清點(diǎn)擊 Android Studio 的 build 按鈕后發(fā)生了什么
大體說(shuō)清一個(gè)運(yùn)用程序裝置到手機(jī)上時(shí)發(fā)生了什么;
對(duì) Dalvik、ART 虛擬機(jī)有根本的了解;
Android 上的 Inter-Process-Communication 跨進(jìn)程通訊時(shí)怎樣作業(yè)的;
App 是怎樣沙箱化,為什么要這么做;
權(quán)限辦理體系(底層的權(quán)限是怎樣進(jìn)行 grant 的)
進(jìn)程和 Application 的生命周期;
體系發(fā)動(dòng)流程 Zygote進(jìn)程 –> SystemServer進(jìn)程 –> 各種體系效勞 –> 運(yùn)用進(jìn)程
recycleview listview 的差異,功能
排序,快速排序的完成
樹(shù):B+樹(shù)的介紹
圖:有向無(wú)環(huán)圖的解說(shuō)
TCP/UDP的差異
synchronized與Lock的差異
volatile
Java線程池
Java中方針的生命周期
類(lèi)加載機(jī)制
雙親派遣模型
Android事情分發(fā)機(jī)制
MVP形式
RxJava
抽象類(lèi)和接口的差異
調(diào)集 Set完成 Hash 怎樣避免磕碰
JVM 內(nèi)存區(qū)域 開(kāi)線程影響哪塊內(nèi)存
廢物搜集機(jī)制 方針創(chuàng)立,重生代與老時(shí)代
二叉樹(shù) 深度遍歷與廣度遍歷
B樹(shù)、B+樹(shù)
音訊機(jī)制
進(jìn)程調(diào)度
進(jìn)程與線程
死鎖
進(jìn)程狀況
JVM內(nèi)存模型
并發(fā)調(diào)集了解哪些
ConCurrentHashMap完成
CAS介紹
敞開(kāi)線程的三種辦法,run()和start()辦法差異
線程池
常用數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)介
判別環(huán)(猜想應(yīng)該是鏈表環(huán))
排序,堆排序完成
鏈表回轉(zhuǎn)
騰訊
 
synchronized用法
volatile用法
動(dòng)態(tài)權(quán)限適配計(jì)劃,權(quán)限組的概念
網(wǎng)絡(luò)懇求緩存處理,okhttp怎樣處理網(wǎng)絡(luò)緩存的
圖片加載庫(kù)相關(guān),bitmap怎樣處理大圖,如一張30M的大圖,怎樣避免OOM
進(jìn)程?;?/span>
listview圖片加載紊亂的原理和處理計(jì)劃
https相關(guān),怎樣驗(yàn)證證書(shū)的合法性,https中哪里用了對(duì)稱(chēng)加密,哪里用了非對(duì)稱(chēng)加密,對(duì)加密算法(如RSA)等是否有了解
 
滴滴
 
 
MVP
播送(動(dòng)態(tài)注冊(cè)和靜態(tài)注冊(cè)差異,有序播送和規(guī)范播送)
service生命周期
handler完成機(jī)制(許多細(xì)節(jié)需求重視:如線程怎樣樹(shù)立和退出音訊循環(huán)等等)
多線程(關(guān)于AsyncTask缺點(diǎn)引發(fā)的考慮)
數(shù)據(jù)庫(kù)數(shù)據(jù)搬遷問(wèn)題
規(guī)劃形式相關(guān)(例如Android中哪里運(yùn)用了觀察者形式,單例形式相關(guān))
x個(gè)蘋(píng)果,一天只能吃一個(gè)、兩個(gè)、或許三個(gè),問(wèn)多少天能夠吃完
TCP與UDP差異與運(yùn)用(三次握手和四次揮手)涉及到部分細(xì)節(jié)(如client怎樣斷定自己發(fā)送的音訊被server收到) HTTP相關(guān) 說(shuō)到過(guò)Websocket 問(wèn)了WebSocket相關(guān)以及與socket的差異
是否了解Android jni開(kāi)發(fā),jni怎樣調(diào)用java層代碼
進(jìn)程間通訊的辦法
java注解
核算一個(gè)view的嵌套層級(jí)
項(xiàng)目組件化的了解
多線程斷點(diǎn)續(xù)傳原理
Android體系為什么會(huì)規(guī)劃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)化、事務(wù)優(yōu)化)
EventBus完成原理
美團(tuán)
 
static synchronized 辦法的多線程拜訪和效果,同一個(gè)類(lèi)里邊兩個(gè)synchronized辦法,兩個(gè)線程一起拜訪的問(wèn)題
內(nèi)部類(lèi)和靜態(tài)內(nèi)部類(lèi)和匿名內(nèi)部類(lèi),以及項(xiàng)目中的運(yùn)用
handler發(fā)音訊給子線程,looper怎樣發(fā)動(dòng)
View事情傳遞
activity棧
封裝view的時(shí)分怎樣知道view的巨細(xì)
arraylist和linkedlist的差異,以及運(yùn)用場(chǎng)景
怎樣發(fā)動(dòng)service,service和activity怎樣進(jìn)行數(shù)據(jù)交互
下拉狀況欄是不是影響activity的生命周期,如果在onStop的時(shí)分做了網(wǎng)絡(luò)懇求,onResume的時(shí)分怎樣康復(fù)
view烘托
 
今天頭條
 
數(shù)據(jù)結(jié)構(gòu)中堆的概念,堆排序
死鎖的概念,怎樣避免死鎖
ReentrantLock 、synchronized和volatile(n面)
HashMap
singleTask發(fā)動(dòng)形式
用到的一些開(kāi)源結(jié)構(gòu),介紹一個(gè)看過(guò)源碼的,內(nèi)部完成進(jìn)程。
音訊機(jī)制完成
ReentrantLock的內(nèi)部完成
App發(fā)動(dòng)潰散反常捕捉
事情傳遞機(jī)制的介紹
ListView的優(yōu)化
二叉樹(shù),給出根節(jié)點(diǎn)和方針節(jié)點(diǎn),找出從根節(jié)點(diǎn)到方針節(jié)點(diǎn)的途徑
形式MVP,MVC介紹
斷點(diǎn)續(xù)傳的完成
調(diào)集的接口和詳細(xì)完成類(lèi),介紹
TreeMap詳細(xì)完成
synchronized與ReentrantLock
手寫(xiě)生產(chǎn)者/消費(fèi)者形式
邏輯地址與物理地址,為什么運(yùn)用邏輯地址
一個(gè)無(wú)序,不重復(fù)數(shù)組,輸出N個(gè)元素,使得N個(gè)元素的和相加為M,給出時(shí)刻復(fù)雜度、空間復(fù)雜度。手寫(xiě)算法
.Android進(jìn)程分類(lèi)
前臺(tái)切換到后臺(tái),然后再回到前臺(tái),Activity生命周期回調(diào)辦法。彈出Dialog,生命值周期回調(diào)辦法。
Activity的發(fā)動(dòng)形式
愛(ài)奇藝
 
RxJava的功能與原理完成
RecycleView的運(yùn)用,原理,RecycleView優(yōu)化
ANR的原因
四大組件
Service的敞開(kāi)辦法
Activity與Service通訊的辦法
Activity之間的通訊辦法
HashMap的完成,與HashSet的差異
JVM內(nèi)存模型,內(nèi)存區(qū)域
Java中同步運(yùn)用的關(guān)鍵字,死鎖
MVP形式
Java規(guī)劃形式,觀察者形式
Activity與Fragment之間生命周期比較
播送的運(yùn)用場(chǎng)景
 百度
Bitmap 運(yùn)用時(shí)分留意什么?
Oom 是否能夠try catch ?
內(nèi)存走漏怎樣發(fā)生?
適配器形式,裝飾者形式,外觀形式的異同?
ANR 怎樣發(fā)生?
String buffer 與string builder 的差異?
怎樣確保線程安全?
java四中引證
Jni 用過(guò)么?
多進(jìn)程場(chǎng)景遇見(jiàn)過(guò)么?
關(guān)于handler,在任何地方new handler 都是什么線程下
sqlite晉級(jí),添加字段的句子
bitmap recycler 相關(guān)
強(qiáng)引證置為null,會(huì)不會(huì)被收回?
glide 運(yùn)用什么緩存?
Glide 內(nèi)存緩存怎樣操控巨細(xì)?
怎樣確保多線程讀寫(xiě)文件的安全?
攜程
 
Activity發(fā)動(dòng)形式
播送的運(yùn)用辦法,場(chǎng)景
App中喚醒其他進(jìn)程的完成辦法
AndroidManifest的效果與了解
List,Set,Map的差異
HashSet與HashMap怎樣判別調(diào)集元素重復(fù)
Java中內(nèi)存區(qū)域與廢物收回機(jī)制
EventBus效果,完成辦法,替代EventBus的辦法
Android中敞開(kāi)攝像頭的首要進(jìn)程
網(wǎng)易
 
調(diào)集
concurrenthashmap
volatile
synchronized與Lock
Java線程池
wait/notify
NIO
廢物搜集器
Activity生命周期
AlertDialog,popupWindow,Activity差異
小米
 
String 為什么要規(guī)劃成不可變的?
fragment 各種情況下的生命周期
Activity 上有 Dialog 的時(shí)分按 home 鍵時(shí)的生命周期
反正屏切換的時(shí)分,Activity 各種情況下的生命周期
Application 和 Activity 的 context 方針的差異
序列化的效果,以及 Android 兩種序列化的差異。
List 和 Map 的完成辦法以及存儲(chǔ)辦法。
靜態(tài)內(nèi)部類(lèi)的規(guī)劃目的。
線程怎樣封閉,以及怎樣避免線程的內(nèi)存走漏
360
 
軟引證、弱引證差異
廢物收回
多線程:怎樣用、有什么問(wèn)題要留意;Android線程有沒(méi)有上限,然后說(shuō)到線程池的上限
JVM
OOM,內(nèi)存走漏
ANR怎樣剖析處理
LinearLayout、RelativeLayout、FrameLayout的特性、運(yùn)用場(chǎng)景
怎樣完成Fragment的滑動(dòng)
ViewPager運(yùn)用細(xì)節(jié),怎樣設(shè)置成每次只初始化當(dāng)時(shí)的Fragment,其他的不初始化
ListView重用的是什么
進(jìn)程間通訊的機(jī)制
AIDL機(jī)制
AsyncTask機(jī)制
怎樣撤銷(xiāo)AsyncTask
序列化
Android為什么引進(jìn)Parcelable
有沒(méi)有測(cè)驗(yàn)簡(jiǎn)化Parcelable的運(yùn)用
AIDL機(jī)制
項(xiàng)目:拉活怎樣做的
運(yùn)用裝置進(jìn)程
某海外直播公司
 
線程和進(jìn)程的差異?
為什么要有線程,而不是僅僅用進(jìn)程?
算法判別單鏈表成環(huán)與否?
怎樣完成線程同步?
hashmap數(shù)據(jù)結(jié)構(gòu)?
arraylist 與 linkedlist 異同?
object類(lèi)的equal 和hashcode 辦法重寫(xiě),為什么?
hashmap怎樣put數(shù)據(jù)(從hashmap源碼視點(diǎn)解說(shuō))?
簡(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發(fā)動(dòng)悉數(shù)進(jìn)程?
okhttp源碼?
RxJava簡(jiǎn)介及其源碼解讀?
功能優(yōu)化怎樣剖析systrace?
播送的分類(lèi)?
點(diǎn)擊事情被阻攔,可是相傳到下面的view,怎樣操作?
Glide源碼?
ActicityThread相關(guān)?
volatile的原理
synchronize的原理
lock原理
翻轉(zhuǎn)一個(gè)單項(xiàng)鏈表
string to integer
兼并多個(gè)單有序鏈表(假定都是遞加的)
其他公司
 
四大組件
Android中數(shù)據(jù)存儲(chǔ)辦法
微信主頁(yè)面的完成辦法
微信上音訊小紅點(diǎn)的原理
兩個(gè)不重復(fù)的數(shù)組調(diào)集中,求一起的元素。
上一問(wèn)擴(kuò)展,海量數(shù)據(jù),內(nèi)存中放不下,怎樣求出。
Java中String的了解。
ArrayList與LinkedList差異
堆排序進(jìn)程,時(shí)刻復(fù)雜度,空間復(fù)雜度
快速排序的時(shí)刻復(fù)雜度,空間復(fù)雜度
RxJava的效果,與平常運(yùn)用的異步操作來(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()差異
Android事情分發(fā)機(jī)制
斷點(diǎn)續(xù)傳的完成
RxJava的效果,優(yōu)缺點(diǎn)


免费视频观无码一区,国内精品一区二区无码,99精品无码视频在线播放,ā片国产在线播放