2020年最新位元組、阿里、騰訊、愛奇藝等BAT Android社招高頻面試題,押題99.98%!

南方吳彥祖_藍斯發表於2020-09-17

2020年最新位元組、阿里、騰訊、愛奇藝等BAT Android社招高頻面試題,押題99.98%!

前言

找工作還是需要大家不要緊張,有我們幹這一行的接觸人本來就不多 難免看到面試官會緊張,主要是因為怕面試官問的問題到不上來,那時候不要著急 ,答不上了的千萬不然胡扯一些,直接就給面試官說這塊我還沒接觸到,以後如果工作當中遇到的話我可以很快的吧這個問題給解決了,但是我們有了這篇文章,就不一樣了,基本上問的問題都有適當的看一下,到時候很快就可以拿到 offer 我在這裡祝大家工作順利,天天開心 ~

好了下面就是正題,整理的今年的大廠Android高頻的面試題,請慢享用~

一、Activity基礎相關

1.說下Activity生命週期 ?
2.說下 Activity的四種啟動模式、應用場景 ?
3.說下onSaveInstanceState()方法的作用 ? 何時會被呼叫?
4.Activity A 啟動另一個Activity B 會呼叫哪些方法?如果B是透明主題的又或則是個DialogActivity呢 ?
5.瞭解哪些Activity常用的標記位Flags?
6.說下 Activity跟window,view之間的關係?
7.橫豎屏切換的Activity生命週期變化?
8.如何啟動其他應用的Activity?
9.Activity的啟動過程? (重點)

2020年最新位元組、阿里、騰訊、愛奇藝等BAT Android社招高頻面試題,押題99.98%!

二、Fragment基礎相關

1.談一談Fragment的生命週期 ?與Activity生命週期的不同 ?
2.談談Activity和Fragment的區別?
3.Fragment中add與replace的區別(Fragment重疊)
4.getFragmentManager、getSupportFragmentManager 、getChildFragmentManager之間的區別?
5.FragmentPagerAdapter與FragmentStatePagerAdapter的區別與使用場景

三、Service基礎相關

1.Service的生命週期
2.Service的兩種啟動方式?區別在哪?
3.如何保證Service不被殺死 ?
4.能否在Service開啟耗時操作 ?怎麼做 ?
5.瞭解ActivityManagerService嗎?發揮什麼作用 (重點)

四、BroadcastReceiver基礎相關

1.廣播有幾種形式 ? 都有什麼特點 ?
2.廣播的兩種註冊方式 ?
3.廣播傳送和接收的原理了解嗎 ?(Binder機制、AMS)

五、ContentProvider基礎相關

1.ContentProvider瞭解多少?
2.ContentProvider的許可權管理?
3.說說ContentProvider、ContentResolver、ContentObserver 之間的關係?

六、資料儲存相關

1.描述一下Android資料持久儲存方式?
2.SharedPreferences的應用場景?注意事項?
3.SharedPrefrences的apply和commit有什麼區別?
4.瞭解SQLite中的事務操作嗎?是如何做的
5.使用SQLite做批次操作有什麼好的方法嗎?
6.如何刪除SQLite中表的個別欄位?

七、IPC(重點)

1.Android中程式和執行緒的關係?區別?
2.如何開啟多程式 ?應用是否可以開啟N個程式 ?
3.為何需要IPC?多程式通訊可能會出現的問題?
4.Android中IPC方式有哪些、各種方式優缺點,為什麼選擇Binder?
5.Binder機制的作用和原理?
6.Bundle傳遞物件為什麼需要序列化?Serialzable和Parcelable的區別
7.講講AIDL?原理是什麼?

2020年最新位元組、阿里、騰訊、愛奇藝等BAT Android社招高頻面試題,押題99.98%!

八、View相關

1.講下View的繪製流程?
2.MotionEvent是什麼?包含幾種事件?什麼條件下會產生?
3.描述一下View事件傳遞分發機制?
4.如何解決View的事件衝突 ?
5.scrollTo()和scollBy()的區別?
6.Scroller是怎麼實現View的彈性滑動?
7.invalidate()和postInvalidate()的區別 ?
8.SurfaceView和View的區別?
9.自定義View如何考慮機型適配 ?

九、Handler相關

1.談談訊息機制Handler ? 作用 ?有哪些要素 ?流程是怎樣的 ?
2.一個執行緒能否建立多個Handler,Handler跟Looper之間的對應關係?
3.強引用、軟引用、弱引用和虛引用的區別
4.Handler 引起的記憶體洩露原因以及最佳解決方案
5.為什麼系統不建議在子執行緒訪問UI
6.Looper死迴圈為什麼不會導致應用卡死
7.使用Handler的postDealy後訊息佇列會有什麼變化 ?
8.可以在子執行緒直接new一個Handler嗎 ?怎麼做 ?
9.Message可以如何建立 ?哪種效果更好 ?為什麼 ?

十、執行緒相關(重點)

1.執行緒池的好處?四種執行緒池的使用場景
2.AsyncTask的原理和問題
3.IntentService有什麼用 ?
4.直接在Activity中建立一個thread跟在service中建立一個thread之間的區別
5.ThreadPoolExecutor的工作策略 ?
6.Handler、Thread和HandlerThread的差別?
7.ThreadLocal的原理
8.多執行緒是否一定會高效(優缺點)
9.多執行緒中,讓你做一個單列,你會這麼做
10.除了notify還有什麼方式可以喚醒執行緒
11.什麼是ANR ? 什麼情況會出現ANR ?如何避免 ?
12.在不看程式碼的情況下如何快速定位出現ANR問題所在 ?

十一、Bitmap相關

1.Bitmap使用需要注意哪些問題 ?
2.Bitmap.recycle()會立即回收麼?什麼時候會回收?如果沒有地方使用這個Bitmap,為什麼垃圾回收不會直接回收?
3.一張Bitmap所佔記憶體以及記憶體佔用的計算
4.Android中快取更新策略 ?

2020年最新位元組、阿里、騰訊、愛奇藝等BAT Android社招高頻面試題,押題99.98%!

十二、效能最佳化(重點)

1.圖片的三級快取中,圖片載入到記憶體中,如果記憶體快爆了,會發生什麼?怎麼處理?
2.記憶體中如果載入一張500*500的png高畫質圖片.應該是佔用多少的記憶體?
3.WebView的效能最佳化 ?
4.Bitmap如何處理大圖,如一張30M的大圖,如何預防OOM
5.記憶體回收機制與GC演算法(各種演算法的優缺點以及應用場景);GC原理時機以及GC物件
6.記憶體洩露和記憶體溢位的區別 ?AS有什麼工具可以檢測記憶體洩露
7.效能最佳化,怎麼保證應用啟動不卡頓? 黑白屏怎麼處理?
8.強引用置為null,會不會被回收?
9.ListView跟RecyclerView的區別
10.ListView的adapter是什麼adapter?
11.LinearLayout、FrameLayout、RelativeLayout效能對比,為什麼?

十三、JNI相關

1.對JNI是否瞭解
2.如何載入NDK庫 ?如何在JNI中註冊Native函式,有幾種註冊方法?
3.你用JNI來實現過什麼功能 ?怎麼實現的 ?(加密處理、影音方面、圖形影像處理)

十四、設計模式

1.你所知道的設計模式有哪些?
2.談談MVC、MVP和MVVM,好在哪裡,不好在哪裡 ?
3.封裝p層之後.如果p層資料過大,如何解決
4.是否能從Android中舉幾個例子說說用到了什麼設計模式 ?
5.裝飾模式和代理模式有哪些區別 ?
6.實現單例模式有幾種方法 ?懶漢式中雙層鎖的目的是什麼 ?兩次判空的目的又是什麼?
7.用到的一些開源框架,介紹一個看過原始碼的,內部實現過程。
8.Fragment如果在Adapter中使用應該如何解耦?

十五、Android進階延伸點

1.如何進行單元測試,如何保證App穩定
2.Android中如何檢視一個物件的回收情況
3.APK的大小如何壓縮 ?
4.如何透過Gradle配置多渠道包?
5.外掛化原理分析
6.組建化原理
7.跨元件通訊
8.元件化中路由、埋點的實現
9.Hook以及插樁技術
10.Android的簽名機制
11.v3簽名key和v2還有v1有什麼區別
12.Android5.0~10.0之間大的變化 ?
13.說下Measurepec這個類
14.請例舉Android中常用佈局型別,並簡述其用法以及排版效率
15.區別Animation和Animator的用法,概述其原理
16.使用過什麼圖片載入庫 ?Glide的原始碼設計哪裡很微妙 ?
17.如何繞過9.0限制?
18.用過哪些網路載入庫 ?OkHttp、Retrofit實現原理 ?
19.對於應用更新這塊是如何做的 ?(灰度,強制更新、分割槽域更新)
20.會用Kotlin、Fultter嗎 ?談談你的理解

面試題詳細答案解析 點這裡

2020年最新位元組、阿里、騰訊、愛奇藝等BAT Android社招高頻面試題,押題99.98%!

不管是Android基礎還是Java基礎以及常見的資料結構,這些是無原則地必須要熟練掌握的,尤其是非計算機專業的同學,面試官一上來肯定是問你基礎,要是基礎表現不好很容易被扣上基礎不紮實的帽子,常見的就那些,只要你平時認真思考過基本上面試是沒太大問題的。

最後為了幫助大家深刻理解 Android相關知識點的原理以及面試相關知識,這裡放上我搜集整理的 2019-2020BAT 面試真題解析,我把大廠面試中 常被問到的技術點整理成了PDF,包知識脈絡 + 諸多細節。

節省大家在網上搜尋資料的時間來學習,也可以分享給身邊好友一起學習。

《960全網最全Android開發筆記》

2020年最新位元組、阿里、騰訊、愛奇藝等BAT Android社招高頻面試題,押題99.98%! 2020年最新位元組、阿里、騰訊、愛奇藝等BAT Android社招高頻面試題,押題99.98%!

《379頁Android開發面試寶典》

歷時半年,我們整理了這份市面上最全面的安卓面試題解析大全

包含了騰訊、百度、小米、阿里、樂視、美團、58、360、新浪、搜狐等一線網際網路公司面試被問到的題目。熟悉本文中列出的知識點會大大增加透過前兩輪技術面試的機率。

如何使用它?

1.可以透過目錄索引直接翻看需要的知識點,查漏補缺。
2.五角星數表示面試問到的頻率,代表重要推薦指數

2020年最新位元組、阿里、騰訊、愛奇藝等BAT Android社招高頻面試題,押題99.98%!

《507頁Android開發相關原始碼解析》

只要是程式設計師,不管是Java還是Android,如果不去閱讀原始碼,只看API文件,那就只是停留於皮毛,這對我們知識體系的建立和完備以及實戰技術的提升都是不利的。

真正最能鍛鍊能力的便是直接去閱讀原始碼,不僅限於閱讀各大系統原始碼,還包括各種優秀的開源庫。

2020年最新位元組、阿里、騰訊、愛奇藝等BAT Android社招高頻面試題,押題99.98%!

資料太多,全部展示會影響篇幅,暫時就先列舉這些部分截圖,大家可以 點選這裡自行獲取(或者關注主頁加微信獲取)。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69983917/viewspace-2721974/,如需轉載,請註明出處,否則將追究法律責任。

相關文章