Android 118道基礎面試題,面試途中不卡題

前言

有許多Android開發者面試時,總被一些題所卡殼,就吐槽面試官問的題很變態,其實我個人認爲原因是每個人基礎知識掌握的程度不同,有些題可能你覺得難,但別人可以輕易的答出,有些你答的出,別人不一定答的出,所以我們需要深入的把基礎給打牢固。

今天這篇文章來自一位很資深的前輩對於Android基礎面試題目所做的總結歸納,一共有118道題目 ,知識面很廣 ,而且對於每個問題都整理出了答案,不過因爲篇幅太長,這裏只放上面試題目,答案都整理好了一個文檔,大家可以一起探討,需要答案的可以簡信我回復【666】自取

Android 面試習題

1、什麼是ANR 如何避免它?
2、Activity和Fragment生命週期有哪些?
3、橫豎屏切換時候Activity的生命週期
4、AsyncTask的缺陷和問題,說說他的原理。
5、onSaveInstanceState() 與 onRestoreIntanceState()
6、android中進程的優先級?
7、Bunder傳遞對象爲什麼需要序列化?Serialzable和Parcelable的區別?
8、動畫
9、Context相關
10、Android各版本新特性
11、Json
12、android中有哪幾種解析xml的類,官方推薦哪種?以及它們的原理和區別?
13、Jar和Aar的區別
14、Android爲每個應用程序分配的內存大小是多少
15、更新UI方式
16、ContentProvider使用方法。
17、Thread、AsyncTask、IntentService的使用場景與特點。
18、Merge、ViewStub 的作用。
19、activity的startActivity和context的startActivity區別?
20、怎麼在Service中創建Dialog對話框?
21、Asset目錄與res目錄的區別?
22、Android怎麼加速啓動Activity?
23、Handler機制
24、程序A能否接收到程序B的廣播?
25、數據加載更多涉及到分頁,你是怎麼實現的?
26、通過google提供的Gson解析json時,定義JavaBean的規則是什麼?
27、json解析方式的兩種區別?
28、線程池的相關知識。
29、內存泄露,怎樣查找,怎麼產生的內存泄露?
30、類的初始化順序依次是?
31、JSON的結構?
32、ViewPager使用細節,如何設置成每次只初始化當前的Fragment,其他的不
初始化(提示:Fragment懶加載)?
33、Android爲什麼引入Parcelable?
34、有沒有嘗試簡化Parcelable的使用?
35、Bitmap 使用時候注意什麼?
36、Oom 是否可以try catch ?
37、多進程場景遇見過麼?
38、Canvas.save()跟Canvas.restore()的調用時機
39、數據庫升級增加表和刪除表都不涉及數據遷移,但是修改表涉及到對原有數據進行遷移。
40、編譯期註解跟運行時註解
41、bitmap recycler 相關
42、強引用置爲null,會不會被回收?
43、Bundle傳遞數據爲什麼需要序列化?
44、廣播傳輸的數據是否有限制,是多少,爲什麼要限制?
45、是否瞭解硬件加速?
46、ContentProvider的權限管理(讀寫分離,權限控制-精確到表級,URL控 制)。
47、Fragment狀態保存
48、直接在Activity中創建一個thread跟在service中創建一個thread之間的區別?
49、如何計算一個Bitmap佔用內存的大小,怎麼保證加載Bitmap不產生內存溢出?
50、對於應用更新這塊是如何做的?(灰度,強制更新,分區域更新)
51、請解釋安卓爲啥要加簽名機制。
52、爲什麼bindService可以跟Activity生命週期聯動?
53、如何通過Gradle配置多渠道包?
54、activty和Fragmengt之間怎麼通信,Fragmengt和Fragmengt怎麼通信?
55、自定義view效率高於xml定義嗎?說明理由。
56、廣播註冊一般有幾種,各有什麼優缺點?
57、服務啓動一般有幾種,服務和activty之間怎麼通信,服務和服務之間怎麼通信
58、ddms 和 traceView 的區別?
59、ListView卡頓原因
60、AndroidManifest的作用與理解
61、LaunchMode應用場景
62、說說Activity、Intent、Service 是什麼關係
63、ApplicationContext和ActivityContext的區別
64、Handler、Thread和HandlerThread的差別
65、ThreadLocal的原理
66、計算一個view的嵌套層級
67、MVP,MVVM,MVC解釋和實踐
68、SharedPrefrences的apply和commit有什麼區別?
69、Base64、MD5是加密方法麼?
70、HttpClient和HttpConnection的區別?
71、ActivityA跳轉ActivityB然後B按back返回A,各自的生命週期順序,A與B均不透明。
72、如何通過廣播攔截和abort一條短信?
73、BroadcastReceiver,LocalBroadcastReceiver 區別?
74、如何選擇第三方,從那些方面考慮?
75、簡單說下接入支付的流程,是否自己接入過支付功能?
76、單例實現線程的同步的要求
77、如何保證Service不被殺死?
78、說說ContentProvider、ContentResolver、ContentObserver 之間的關係?
79、如何導入外部數據庫?
80、LinearLayout、FrameLayout、RelativeLayout性能對比,爲什麼?
81、scheme跳轉協議
82、HandlerThread
83、IntentService
84、如何將一個Activity設置成窗口的樣式。
85、Android中跨進程通訊的幾種方式
86、顯示Intent與隱式Intent的區別
87、Android Holo主題與MD主題的理念,以及你的看法
88、如何讓程序自動啓動?
89、Fragment 在 ViewPager 裏面的生命週期,滑動 ViewPager 的頁面時Fragment 的生命週期的變化。
90、如何查看模擬器中的SP與SQList文件。如何可視化查看佈局嵌套層數與加載
時間。
91、各大平臺打包上線的流程與審覈時間,常見問題(主流的應用市場說出3-4個)
92、屏幕適配的處理技巧都有哪些?
93、動態佈局的理解
94、怎麼去除重複代碼?
95、Recycleview和ListView的區別
96、動態權限適配方案,權限組的概念
97、Android系統爲什麼會設計ContentProvider?
98、下拉狀態欄是不是影響activity的生命週期
99、如果在onStop的時候做了網絡請求,onResume的時候怎麼恢復?
100、Debug和Release狀態的不同
101、dp是什麼,sp呢,有什麼區別
102、自定義View,ViewGroup注意那些回調?
103、android中的存儲類型
104、Activity的生命週期,finish調用後其他生命週期還會走麼?
105、有遇到過哪些屏幕和資源適配問題?
106、項目中遇到哪些難題,最終你是如何解決的?
107、listview圖片加載錯亂的原理和解決方案。
108、invalidate和requestLayout的區別及使用。
109、如何反編譯,對代碼逆向分析。
110、RemoteViews實現和使用場景
111、對服務器衆多錯誤碼的處理(錯誤碼有好幾萬個)
112、adb常用命令行
113、Android中如何查看一個對象的回收情況?
114、Activity正常和異常情況下的生命週期
115、關於< include >< merge >< stub >三者的使用場景
116、Android對HashMap做了優化後推出的新的容器類是什麼?
117、說下你對服務的理解,如何殺死一個服務。
118、斷點續傳實現?

結語

面試官面什麼,完全是看他們個人的(性格,心情,天氣,你的面相)。以上只是一些我覺得重要的點,當然還有很多深層的東西不是一時半日可以補上來的,還是要看自己平時的經驗積累。面試不單單是技術面,還有高層面,人事面,這些都要看個人發揮了。

PS:如果面試官說,還有什麼想問的,千萬不要給自己挖坑,說今天自己表現怎樣,能不能被錄取。要往公司的團隊,氛圍去問,儘量表現的對公司有興趣。

如:我想知道公司是否定期有開技術會議,老員工是否會分享自己的一些經驗等這些問題。

自己的知識準備得怎麼樣,這直接決定了你能否順利通過一面和二面,所以在面試前來一個知識梳理,看需不需要提升自己的知識儲備是很有必要的。

關於知識梳理,這裏再分享一下我面試這段時間的複習路線:(以下體系的複習文檔是我從各路大佬收集整理好的)

知識梳理完之後,就需要進行查漏補缺,所以針對這些知識點,我手頭上也準備了不少的電子書和筆記,這些筆記將各個知識點進行了完美的總結:

最後我在這裏分享一下這段時間從朋友,大佬那裏收集到的一些2019-2020BAT 面試真題解析,裏面內容很多也很系統,包含了很多內容:Android 基礎、Java 基礎、Android 源碼相關分析、常見的一些原理性問題等等,可以很好地幫助我們深刻理解Android相關知識點的原理以及面試相關知識

這份文檔把大廠面試中常被問到的技術點整理成了 PDF+知識脈絡 + 諸多細節;還有 高級架構技術進階腦圖幫助大家學習提升進階,也節省大家在網上搜索文檔的時間來學習,也可以分享給身邊好友一起學習,大家可以直接去我GitHub上:
https://github.com/733gh/Android-T3
查閱。

接下來,列出一些面試需要注意的幾個點:

  • 面帶微笑,有禮貌,謙遜
  • 穿的體面一點,穿拖鞋的gg了8成
  • 一定要帶簡歷和筆
  • 來了說謝謝,面完說謝謝
  • 要學會看面試官的表情,如果答的不好不要繼續往下說
  • 不要吹的自己以前做過的項目有多牛b,也不要自吹
  • 答題要冷靜,不要一輪嘴說一堆,面試官很煩的

接下來會寫幾篇針對BAT等大廠的面試題錦集,很快就出爐拉,已經在整理。

最後祝大家面試順利,早日找到自己心儀的公司。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章