2022Android十一位大廠面試題;134道真題;再也不怕面試了
前言
金九銀十襲來,很多小伙伴面試的面試,跳槽的跳槽,實習的實習,都逃不過要面試的魔掌,前段時間閑暇時間搜羅了一共十一個大廠的面試題,當然也附帶了答案,省的大家知道了面試題,又不知道答案,又要去搜索。
134道真題。但是目前答案也只整理出來了50多道,具體完全完還需要2.3天的時間。先來看看大廠都在問什么吧!

需要已經(jīng)整理出來的50道答案和這份面試題的掃碼領(lǐng)取
掃碼獲取學習資源,開啟你的學習之旅!
微信識別下方二維碼添加即可免費獲取資料

(掃碼添加時記得備注:從哪加的)
【如遇掃碼頻繁+QQ:421869573】也可拿到134道面試題參考之前的騰訊Android開發(fā)筆記(視頻+文字版)
一丶百度篇
1.關(guān)于okhttp
和Retrofit
2.view
的繪制流程
3.觸摸的傳遞機制
4.自定義view
主要重寫哪個方法
5.講一下策略模式和狀態(tài)模式的各自的特點和區(qū)別
6.說一下線程安全,線程同步的原子性,可見性和有序性
7.講一下雙重檢查鎖中的?volatile
?關(guān)鍵字的作用
8.講一下jvm
的堆棧
9.二叉樹的層次遍歷
10.自定義Navigator
切換fragment
11.Navigation
使用和源碼剖析
12.volatile
的作用
二丶阿里篇
1.Android
?插件化.Hook
?插件化框架 (?Hook Activity
?啟動流程 |?Hook
點分析
2.Android
中Handler
處理Runnable
任務(wù)的常見方法
3.講講對Handler
的認識
4.求二叉樹中兩個節(jié)點之間的最大距離。
5.談?wù)剬?code>Binder的認識
6.動態(tài)代理實現(xiàn)
7.ASM
的原理
8.內(nèi)存泄漏常見場景以及解決方案
9.touch
?事件源碼問題。
10.Android
自定義崩潰收集器捕獲java
層和native
層崩潰異常
11.如果 int 的值大于了 3 需要提示
12.介紹下?flutter
?的啟動流程
13.介紹下?flutter
?與?weex
?的區(qū)別
14.組件化介紹一下
15.webview
?與?js
?交互的實現(xiàn)方法
16.介紹下?flutter_boost
?的原理
三丶騰訊篇
1.講一下MVVM, MVP,MVC
2.LiveData
在項目里的實踐是怎樣的,遇到了什么問題;有沒有想過怎么去解決LiveData
膨脹的問題
3.Handler
,messageQueue
懂多少說多少,越詳細越好
4.View
繪制的三個流程;onMeasure
中的measureSpec
,wrapContent
為什么會失效
5.內(nèi)存泄漏是怎么避免的?LeakCanary
原理是什么,沒看過源碼的話現(xiàn)在想一下該怎么實現(xiàn)
6.項目里的webView
是如何優(yōu)化加載速度的的
7.RecyclerView
和ScrollView
為什么不能一起使用
8.線程池用過嗎,工作組件有哪些,OkHttp
用的是什么線程池,為什么要用
9.synchronized
鎖升級的過程,為什么要設(shè)計這個鎖升級
10.HashMap
的實現(xiàn),如果要自己實現(xiàn)多線程安全的HashMap怎么操作
11.如果我想要自定義個任務(wù)有優(yōu)先級的線程池,應(yīng)該從哪些方面入手
12.為啥打開一個app
以后默認會顯示白屏嗎,為啥不是黑屏呢?
13.進程間通信方式有哪些,Binder
講一下,和共享內(nèi)存的區(qū)別是什么
14.動態(tài)代理和靜態(tài)代理
15.數(shù)據(jù)結(jié)構(gòu)和23種設(shè)計模式
16.RecyclerView
的性能優(yōu)化怎么實踐
17.堆排序?qū)崿F(xiàn)
四丶京東篇
1.Activity
相關(guān)(生命周期、啟動模式)
2.service
的意義
3.Handler
內(nèi)存泄漏相關(guān)
4.OKhttp
源碼相關(guān)
5.手寫Singletion
五丶字節(jié)篇
1.弱引用與軟引用,HashMap
的各個版本差異
2.什么是線程安全,如何實現(xiàn)線程安全 .常用的線程池種類,為什么要這么設(shè)計
3.單例常見的實現(xiàn)方式
4.DCL
為什么要加兩層判斷
5.ReentrantLock
如何實現(xiàn)公平鎖的
6.線程池里面非核心線程什么時候會被回收
7.handler
機制,
8.AsyncTask
原理,
9.Activity
窗口層級,
10.binder
機制,
11.Activity
的啟動流程,
12.mmap
,Intent
傳輸數(shù)據(jù)的限制,
13.ANR
原理,
14.RxJava
?線程池的使用注意問題,
15.OKHTTP
攔截器
16.Activity
的啟動流程
17.OKhttp
,Retrofit
18.布局優(yōu)化,內(nèi)存優(yōu)化,網(wǎng)絡(luò)優(yōu)化,apk瘦身
19.kotlin
,
20.常用設(shè)計模式,
21.MVC,MVVM,MVP
22.main
方法執(zhí)行之前發(fā)生了什么
六丶Bilibili篇
1.啟動Activity
的方法
2.intent
可以傳遞的數(shù)據(jù)
3.Activity
和Fragment
的關(guān)系,生命周期,如何傳遞數(shù)據(jù)
4.項目用到了ViewModel
,說說看他的原理,為什么Fragment
可以獲取到Activity
的ViewModel
5.你說到了內(nèi)存泄露,有用過別的內(nèi)存檢查的工具嗎,什么時候會發(fā)生內(nèi)存泄露
6.說說進程和線程的理解
7.請說說看mvp
和mvvm
模式有什么區(qū)別嗎
8.JVM
的內(nèi)存結(jié)構(gòu)是怎樣的,哪個地方不會出現(xiàn)內(nèi)存泄露
9.App
的啟動流程
10.對Handler
的理解,handler
的內(nèi)存泄露了解嗎
七丶網(wǎng)易篇
1.線程進程
2.IPC
3.HashMap
4.創(chuàng)建線程三種方式
5.鎖、volatile
6.動態(tài)代理
7.http
相關(guān)(https、響應(yīng)碼、請求方式)
8.Handler
9.Binder
10.view
繪制
八丶小米篇
1.Android
啟動模式
2.不同啟動模式活動跳轉(zhuǎn)的生命周期
3.handler
機制
4.一個線程中幾個handler
同時發(fā)送一個相同的消息,怎么分辨哪個消息是哪個handler
發(fā)送的
5.Android
服務(wù)的生命周期
6.Android
持久化存儲的方式
7.Android
廣播的分類和使用場景
8.自定義view
三個方法,每個方法都要覆寫嗎
9.java
怎么使得一個同步方法變?yōu)楫惒椒椒?br>10.synchnoized
作用
11.java
?抽象類和接口的區(qū)別
12.抽象類的方法一定要繼承嗎
九丶攜程篇
1.Glide
講一講。你為什么選擇glide
2.Glide
三級緩存
3.Glide
怎么加載圖片進Imageview
的
4.OKhttp
攔截器
5.get
和post
請求區(qū)別
6.項目里面內(nèi)存優(yōu)化
7.LeakCanary
8.Bitmap
高效緩存
9.項目中啟動優(yōu)化
10.渲染布局優(yōu)化
11.ViewStub
懶加載
12.MVP
和MVVM
,談?wù)勀銓λ鼈兊牧私?br>13.設(shè)計模式項目里邊有用過哪些
14.HTTPS
通信
15.JVM內(nèi)存模型
16.怎么保證線程安全
17.垃圾回收gc
講一講
十丶小紅書篇
1.Java
深拷貝和淺拷貝的區(qū)別
2.自定義View
是怎么繪制的?ViewGroup?
3.Handler
機制,
4.TCP
和UDP
的區(qū)別
十一丶愛奇藝篇
1.Android
布局嵌套深有什么問題
2.kotlin
協(xié)程
3.HashMap
原理
4.算法:手寫快排
5.Activity
啟動模式
6.Activity A → B
的生命周期在這四種啟動模式下的狀態(tài)
7.有序廣播如何實現(xiàn)的按順序收到廣播
8.SharedPreferences
的格式
9.xml
解析方式
10.json
與xml
的區(qū)別,json
為什么比xml
更好
11.Android view
繪制流程
12.surfaceView
13.機型大小適配
14.ANR
?什么時候出現(xiàn),如何排查
15.Android
?動畫
16.startService
與bindService
的區(qū)別
17.Service
保活方式
18.java
泛型
19.重寫equals
方法需要重寫hashCode
方法嗎
掃碼獲取學習資源,開啟你的學習之旅!

微信識別下方二維碼添加即可免費獲取資料
(掃碼添加時記得備注:從哪加的)
【如遇掃碼頻繁+QQ:421869573】