好吧,說實話是自己面試被問到的和自己整理的別人的一些問題,很多問題的回答可能根據水平不同層次和深度不同,如果經常忘的話可能是還沒明白原理,學習就是對對抗遺忘,現在開始復習吧:
每個面試的問題都極大的貼近他們自己的項目,所以問題角度的差別肯定有的,有的可能是直接的知識點,大部分需要自己總結后才能有條理的回答。平時記得多總結相似場景的問題。
其中Q是問題,A是我總結的一些博客和相關知識,算是比較中庸的回答吧。最難問題就是你對某某技術了解么,會某某么?沒有具體場景,直接拋給你一個回答層次可上天可入地的問題,這些對于牛人來說就是侃侃而談的機會對現在的我就是個無言以對的大陷阱啊。分寸太TM難掌握了。
Scene01:
- Q:網絡編程?
Q:html5和Reactive了解多少?
Q:app的安全策略。
A:這個問題更像是安全測試的內容,原諒我把我們安全測試的checklist直接搬過來:APP安全測評checklist
Q:內存泄露的原因和解決
A: 這篇不錯,救了我:Android性能優化之常見的內存泄漏
Q:app架構熟悉么?MVP和MVVM簡介
A:這個還好以前我總結過:20151226-App架構以及MVP和MVVM了解 - Activity的啟動流程,AMS等是怎么作用的,Fw層的源碼了解多少?
A:老羅的博客:Android應用程序啟動過程源代碼分析 - 自定義控件,View的各個繪制方法的作用和區別。
A:這兩篇簡單清晰:教你搞定Android自定義View
教你搞定Android自定義ViewGroup - 做J2EE的java和的app的區別,數據庫基本的命令?
- 你目前和以后的職業規劃是什么?
Scene02:
- Looper的機制,主線程和子線程之間發消息是怎么用,如果自己實現的話怎樣?
- ListView的不流暢可能什么造成的,里面ImageView如果異步的話怎么保證不亂(用什么設置tag?eg,用hashcode去檢查,是不是有點像UIL中檢查是否被下載過),ListView中如果有ViewPager的怎么處理滑動沖突,阻斷父類listview滑動只處理viewpager本身的。
Q:事件傳遞機制怎么解釋清楚。
A: Android事件傳遞機制
郭霖的博客:Android事件分發機制完全解析,帶你從源碼的角度徹底理解(上)
我就是愛收藏blog怎么了?一張圖看清Android事件傳遞機制
Q:gallery為什么被廢棄
A: API官網是這么說Gallery的:
This class was deprecated in API level 16.This widget is no longer supported. Other horizontally scrolling widgets include HorizontalScrollView
and ViewPager
from the support library.
廢棄了,因為不重用視圖導致每次切換都視圖重建浪費資源吧:你要真想用,這里有個https://github.com/falnatsheh/EcoGallery/
具體解釋:http://stackoverflow.com/questions/11868503/the-type-gallery-is-deprecated-whats-the-best-alternative
不放心的話只有抽時間讀讀源碼了-TODO - AOP(Aspect Orient Programming),面向切面的編程體現在代碼中到底是怎樣的,和嵌入式那種的區別? 比如網絡請求這塊,如果添加一些請求攔截?
- 對java基礎和設計模式的掌握和感想,解耦的模式?(接口編程的)
- 自定義控件中精確點擊和手勢操作圖片。類似瀑布流自定義GridImageView的VIewGroup,手勢操作圖片
- 濾鏡應用?保證圖片高保真壓縮的方法?JNI編程?Canvas抗鋸齒選項的原理
- 線程池,ThreadLocal,多線程利用嗎?怎么協調異步請求。
- Q:Volley中處理請求的機制是怎樣的
Q:印象深刻的攻關項目 - 這里面的被問到了,回答肯定很有技術層次感:https://www.zhihu.com/question/40909636/answer/88775539
最后,知識確實也是,不看就忘,常看常新~
原文鏈接:Android面試必備