天天看點

收到offer了?全方位的Android面試題奉上;或許在下一步大棋

作者:初壹十五a

前言

不經一番徹骨寒,怎得梅花撲鼻香?由于之前有粉絲要去面試,就趁着中秋佳節别人休息的時間,把Android包含的所有内容整理了一遍,從基礎到性能優化到Framework,架構,音視訊,Flutter,Compose Jetpack,性能監控Matrix,SDK,JVM等等。更有22年最先Android十一位大廠面試真題,和66道音視訊經典面試題。

部分參考:

(視訊+文字)騰訊最全面Android進階學習筆記;快來學一波

2022Android十一位大廠面試題;134道真題;再也不怕面試了

音視訊真的是太吃香了?60道音視訊經典面試題

一丶2022Android十一位大廠面試真題

參考:

2022年Android十一位大廠面試真題

1.百度篇

1.關于okhttp和Retrofit

2.view的繪制流程

3.觸摸的傳遞機制

4.自定義view主要重寫哪個方法

5.講一下政策模式和狀态模式的各自的特點和差別

6.說一下線程安全,線程同步的原子性,可見性和有序性

7.講一下雙重檢查鎖中的 volatile 關鍵字的作用

8.講一下jvm的堆棧

9.二叉樹的層次周遊

10.自定義Navigator切換fragment

11.Navigation使用和源碼剖析

12.volatile的作用

2.阿裡篇

1.Android 插件化.Hook 插件化架構 ( Hook Activity 啟動流程 | Hook點分析

2.Android中Handler處理Runnable任務的常見方法

3.講講對Handler的認識

4.求二叉樹中兩個節點之間的最大距離。

5.談談對Binder的認識

6.動态代理實作

7.ASM的原理

8.記憶體洩漏常見場景以及解決方案

9.touch 事件源碼問題。

10.Android自定義崩潰收集器捕獲java層和native層崩潰異常

11.如果 int 的值大于了 3 需要提示

12.介紹下 flutter 的啟動流程

13.介紹下 flutter 與 weex 的差別

14.元件化介紹一下

15.webview 與 js 互動的實作方法

16.介紹下 flutter_boost 的原理

3.騰訊篇

1.講一下MVVM, MVP,MVC

2.LiveData在項目裡的實踐是怎樣的,遇到了什麼問題;有沒有想過怎麼去解決LiveData膨脹的問題

3.Handler,messageQueue懂多少說多少,越詳細越好

4.View繪制的三個流程;onMeasure中的measureSpec,wrapContent為什麼會失效

5.記憶體洩漏是怎麼避免的?LeakCanary原理是什麼,沒看過源碼的話現在想一下該怎麼實作

6.項目裡的webView是如何優化加載速度的的

7.RecyclerView和ScrollView為什麼不能一起使用

8.線程池用過嗎,工作元件有哪些,OkHttp用的是什麼線程池,為什麼要用

9.synchronized鎖更新的過程,為什麼要設計這個鎖更新

10.HashMap的實作,如果要自己實作多線程安全的HashMap怎麼操作

11.如果我想要自定義個任務有優先級的線程池,應該從哪些方面入手

12.為啥打開一個app以後預設會顯示白屏嗎,為啥不是黑屏呢?

13.程序間通信方式有哪些,Binder講一下,和共享記憶體的差別是什麼

14.動态代理和靜态代理

15.資料結構和23種設計模式

16.RecyclerView的性能優化怎麼實踐

17.堆排序實作

4.京東篇

1.Activity相關(生命周期、啟動模式)

2.service的意義

3.Handler記憶體洩漏相關

4.OKhttp源碼相關

5.手寫Singletion

5.位元組篇

1.弱引用與軟引用,HashMap的各個版本差異

2.什麼是線程安全,如何實作線程安全 .常用的線程池種類,為什麼要這麼設計

3.單例常見的實作方式

4.DCL為什麼要加兩層判斷

5.ReentrantLock如何實作公平鎖的

6.線程池裡面非核心線程什麼時候會被回收

7.handler機制,

8.AsyncTask原理,

9.Activity視窗層級,

10.binder機制,

11.Activity的啟動流程,

12.mmap,Intent傳輸資料的限制,

13.ANR原理,

14.RxJava 線程池的使用注意問題,

15.OKHTTP攔截器

16.Activity的啟動流程

17.OKhttp,Retrofit

18.布局優化,記憶體優化,網絡優化,apk瘦身

19.kotlin,

20.常用設計模式,

21.MVC,MVVM,MVP

22.main方法執行之前發生了什麼

6.Bilibili篇

1.啟動Activity的方法

2.intent可以傳遞的資料

3.Activity和Fragment的關系,生命周期,如何傳遞資料

4.項目用到了ViewModel,說說看他的原理,為什麼Fragment可以擷取到Activity的ViewModel

5.你說到了記憶體洩露,有用過别的記憶體檢查的工具嗎,什麼時候會發生記憶體洩露

6.說說程序和線程的了解

7.請說說看mvp和mvvm模式有什麼差別嗎

8.JVM的記憶體結構是怎樣的,哪個地方不會出現記憶體洩露

9.App的啟動流程

10.對Handler的了解,handler的記憶體洩露了解嗎

7.網易篇

1.線程程序

2.IPC

3.HashMap

4.建立線程三種方式

5.鎖、volatile

6.動态代理

7.http相關(https、響應碼、請求方式)

8.Handler

9.Binder

10.view繪制

8.小米篇

1.Android啟動模式

2.不同啟動模式活動跳轉的生命周期

3.handler機制

4.一個線程中幾個handler同時發送一個相同的消息,怎麼分辨哪個消息是哪個handler發送的

5.Android服務的生命周期

6.Android持久化存儲的方式

7.Android廣播的分類和使用場景

8.自定義view三個方法,每個方法都要覆寫嗎

9.java怎麼使得一個同步方法變為異步方法

10.synchnoized作用

11.java 抽象類和接口的差別

12.抽象類的方法一定要繼承嗎

9.攜程篇

1.Glide講一講。你為什麼選擇glide

2.Glide三級緩存

3.Glide怎麼加載圖檔進Imageview的

4.OKhttp攔截器

5.get和post請求差別

6.項目裡面記憶體優化

7.LeakCanary

8.Bitmap高效緩存

9.項目中啟動優化

10.渲染布局優化

11.ViewStub懶加載

12.MVP和MVVM,談談你對它們的了解

13.設計模式項目裡邊有用過哪些

14.HTTPS通信

15.JVM記憶體模型

16.怎麼保證線程安全

17.垃圾回收gc講一講

10.小紅書篇

1.Java深拷貝和淺拷貝的差別

2.自定義View是怎麼繪制的?ViewGroup?

3.Handler機制,

4.TCP和UDP的差別

11.愛奇藝篇

1.Android布局嵌套深有什麼問題

2.kotlin協程

3.HashMap原理

4.算法:手寫快排

5.Activity啟動模式

6.Activity A → B的生命周期在這四種啟動模式下的狀态

7.有序廣播如何實作的按順序收到廣播

8.SharedPreferences的格式

9.xml解析方式

10.json與xml的差別,json為什麼比xml更好

11.Android view繪制流程

12.surfaceView

13.機型大小适配

14.ANR 什麼時候出現,如何排查

15.Android 動畫

16.startService與bindService的差別

17.Service保活方式

18.java泛型

19.重寫equals方法需要重寫hashCode方法嗎

二丶騰訊Android開發筆記

參考:

騰訊Android開發筆記

1.Android工程師必備技能篇

涉及:注解、泛型、Retrofit、架構動态程式設計技術原理、Butterknife、JavaSSit丶虛拟機丶并發記憶體丶Synchronize丶并發原理之線程池丶資料序列化

收到offer了?全方位的Android面試題奉上;或許在下一步大棋

2.性能優化篇

涉及:啟動優化、記憶體優化、啟動優化速度、卡頓優化、布局優化、崩潰優化、應用啟動全流程(源碼深度解析)等内容.

收到offer了?全方位的Android面試題奉上;或許在下一步大棋

3.Framework篇

設計:Framework通信、Framework底層服務、Framework事件機制等内容.

收到offer了?全方位的Android面試題奉上;或許在下一步大棋

4.Compose篇

收到offer了?全方位的Android面試題奉上;或許在下一步大棋

5.音視訊開發篇

涉及:C和C++基礎文法,H264編碼基礎和進階,H265編碼原理和應用MediaCodec硬解碼,Media核心源碼,WeChat視訊通話。初級-中-高,WebRTC

收到offer了?全方位的Android面試題奉上;或許在下一步大棋

6.架構篇

涉及:Arraylist,Okhttp,Retrofit,圖檔加載,Dagger 2,MVC.MVP.MVVM,Jetpack Room

收到offer了?全方位的Android面試題奉上;或許在下一步大棋

7.車載認識篇

涉及:Android Auto,汽車媒體應用,建構Android Auto即時通信應用,建構車載導航和地圖注點應用,建構Android Automotive OS視訊應用,測試Android車載應用,分發Android汽車應用,适用于汽車的Google Play服務,Android Automotive OS的通知.

收到offer了?全方位的Android面試題奉上;或許在下一步大棋

8.Flutter篇

涉及:Dart文法,Flutter動畫丶元件丶網絡請求以及Flutter3.0簡介

收到offer了?全方位的Android面試題奉上;或許在下一步大棋

9.Harmony OS篇

涉及:Ability元件,分布式任務,事件總線,Harmony OS線程,UI自定義控件

收到offer了?全方位的Android面試題奉上;或許在下一步大棋

10.kotlin篇

涉及:對象丶類丶繼承丶變量丶常量丶拓展函數等20多個内容

收到offer了?全方位的Android面試題奉上;或許在下一步大棋

三丶60道音視訊經典面試題

參考:

3.60道音視訊經典面試題

1.為什麼巨大的原始視訊可以編碼成很小的視訊?這其中有什麼技術?

2.怎麼做到直播秒開優化

3.直方圖在圖像處理裡面最重要的作用是什麼?

4.數字圖像濾波有哪些方法?

5.圖像可以提取的特征有哪些?

6.衡量圖像重建好壞的标準有哪些?怎麼計算?

7.AAC和PCM的差別?

8.H264存儲的兩個形态

9.FFmpeg:圖像如何合成視訊?

10.常見的音視訊格式有哪些?

11.1080P的意義

12.請解釋顔色的本質及數字記錄原理,并說出你知道的色域

13.請解釋矢量圖和位圖的差別

14.請從光圈,快門速度,感光度,白平衡,景深中任意選2個進行叙述?

15視訊分量YUV的意思及數字化格式

16.在MPEG标準中圖像類型有哪些?

17.列舉一些音頻編解碼常用的實作方案?

18.叙述MPEG視訊基本碼流結構?

19.SPS和PPS的差別

20.叙述AMR基本碼流結構?

21.預測編碼的基本原理是什麼?

22說一說FFmpeg的資料結構

23.說一說AVFormatContext和AVIntFormat之間的關系?

24.說一說AVFormatContext, AVStream和AVCodecContext之間的關系?

25.說一說視訊拼接處理步驟?(細節處理,比如分辨率大小不一,時間處理等等)

26.NV21如何轉換成I420?

27.DTS與PTS共同點?

28.影響視訊清晰度的名額有哪些?

29.編解碼處理時遇到什麼困難?

30.如何秒開視訊?什麼是秒開視訊

31.如何降低延遲?如何保證流暢性?如何解決卡頓?解決網絡抖動?

32.需要把網絡上一段視訊存儲下來(比如作為mp4 ), 請實作并說出方法(第一個視訊需要翻牆才能進)?

33.需要把網絡上一段語音存儲下來(比如作為mp3 ), 請實作并說出方法?

34.為什麼要有YUV這種資料出來?(YUV相比RGB來說的優點)

35.H264/H265有什麼差別?

36.視訊或者音頻傳輸,你會選擇TCP協定還是UDP協定?為什麼?

37.平時說的軟解和硬解,具體是什麼?

38.何為直播?何為點播?

39.簡述推流、拉流的工作流程?

40.如何在直播中I幀間隔設定、與幀率分辨率標明?

41.直播推流中推I幀與推非I幀差別是什麼?

42.常見的直播協定有哪些?之間有什麼差別?

43.點播中常見的資料傳輸協定主要有哪些?

44.RTMP、HLS協定各自的預設端口号是?

45.簡述RTMP協定,如何封裝RTMP包?

46.m3u8構成是?直播中m3u8、ts如何實時更新?

47.何為音視訊同步,音視訊同步是什麼标準?

48.播放器暫停、快進快退、seek、逐幀、變速怎麼實作

49.說說你平時在播放過程中做的優化工作?

50.你研究過哪些具體的流媒體伺服器,是否做過二次開發

51.什麼是GOP?

52.音頻測試的測試點,音頻時延如何測試?

53.美顔的實作原理,具體實作步驟?

54.如何直播APP抓包過來的檔案,如何過濾上行,下行,總碼率?

55.如何測試一個美顔挂件?

56.為什麼要用FLV?

57.如何測試一個美顔挂件?

58.平常的視訊格式?

59.何為homebrew?你用它安裝過什麼?常用指令有哪些?

60.RTMP、HLS協定各自的預設端口号是?

四丶Jetpack全家桶

1.Jetpack之lifecycle

2.Jetpack之ViewModel

3.Jetpack之DataBinding

4.Jetpack之Navigation

5.Jetpack之Livedata

五丶Android性能監控架構Matrix

1.Matrix簡介

2.記憶體洩漏監控及原理介紹

3.記憶體洩漏監控源碼分析

4.Hprof檔案分析

5.卡頓監控

6.卡頓監控源碼解析

7.插樁

8.資源優化

9.I/O監控及原了解析

部分參考:

(視訊+文字)騰訊最全面Android進階學習筆記;快來學一波

2022Android十一位大廠面試題;134道真題;再也不怕面試了

音視訊真的是太吃香了?60道音視訊經典面試題

繼續閱讀