天天看點

2020-2021華為Android面試真題,HR的話紮心了

面試刷題

刷題我從常見Android基礎知識面試題,刷到了Java面試題,繼而攻堅Android進階面試題,以及突破學習Flutter相關熱點技術面試題(不是很難),最後總攻今年大廠面試真題總結。

Android基礎知識

一、 Activity

1、 什麼是Activity?

2、 請描述一下Activity 生命周期

3、 常見的Activity類型有FragmentActivitiy,ListActivity,TabAcitivty等。請描述一下Activity 生命周期

4、 如何儲存Activity的狀态?

5、 兩個Activity之間跳轉時必然會執行的是哪幾個方法?

6、 橫豎屏切換時Activity的生命周期

7、 如何将一個Activity設定成視窗的樣式

8、 如何退出Activity?如何安全退出已調用多個Activity的Application?

9、 Activity的四種啟動模式,singletop和singletask差別是什麼?一般書簽的使用模式是singletop,那為什麼不使用singletask?

10、 Android中的Context, Activity,Appliction有什麼差別?

11、 兩個Activity之間傳遞資料,除了intent,廣播接收者,content provider還有啥?

12、 Context是什麼?

二、 Service

1、 Service是否在main thread中執行, service裡面是否能執行耗時的操作?

2、 Activity怎麼和Service綁定,怎麼在Activity中啟動自己對應的Service?

3、 請描述一下Service的生命周期

4、 什麼是IntentService?有何優點?

5、 說說Activity、Intent、Service是什麼關系

6、 Service和Activity在同一個線程嗎

7、 Service裡面可以彈吐司麼

8、 什麼是Service以及描述下它的生命周期。Service有哪些啟動方法,有什麼差別,怎樣停用Service?

9、 在service的生命周期方法onstartConmand()可不可以執行網絡操作?如何在service中執行網絡操作?

三、 Broadcast Receiver

1、 請描述一下BroadcastReceiver

2、 在manifest和代碼中如何注冊和使用BroadcastReceiver

3、 BroadCastReceiver的生命周期

四、 ContentProvider

1、 請介紹下ContentProvider是如何實作資料共享的

2、 請介紹下Android的資料存儲方式

3、 為什麼要用ContentProvider?它和sql的實作上有什麼差别?

4、 說說ContentProvider、ContentResolver、ContentObserver之間的關系

五、 ListView

1、 ListView如何提高其效率?

2、 當ListView資料集改變後,如何更新ListView

3、 ListView如何實作分頁加載

4、 ListView可以顯示多種類型的條目嗎

5、 ListView如何定位到指定位置

6、 如何在ScrollView中如何嵌入ListView

7、 ListView中如何優化圖檔

8、 ListView中圖檔錯位的問題是如何産生的

9、 如何重新整理ListView中單個item的資料,不重新整理整個ListView的資料?

六、 Intent

1、 Intent傳遞資料時,可以傳遞哪些類型資料?

2、 Serializable和Parcelable的差別

3、 請描述一下Intent 和 IntentFilter

七、 Fragment

1、 Fragment跟Activity之間是如何傳值的

2、 描述一下Fragment的生命周期

3、 Fragment的replace和add方法的差別

4、 Fragment如何實作類似Activity棧的壓棧和出棧效果的?

5、 Fragment在你們項目中的使用

6、 如何切換fragement,不重新執行個體化

Java面試題

一、 Java基礎

1、 Java中引用類型都有哪些

2、 什麼是重載,什麼是重寫,有什麼差別? )

3、 String、StringBuffer和StringBuilder的差別

4、 關鍵字final和static是怎麼使用的

5、 TCP/IP協定簇分哪幾層?TCP、IP、XMPP、HTTP、分别屬于哪一層?

二、 Java中的設計模式

1、 你所知道的設計模式有哪些

2、 單例設計模式

3、 工廠設計模式

4、 建造者模式(Builder)

5、 擴充卡設計模式

6、 裝飾模式(Decorator)

7、 政策模式(strategy)

8、 觀察者模式(Observer)

Android 進階

一、 Android性能優化

1、 如何對Android應用進行性能分析

2、 什麼情況下會導緻記憶體洩露

3、 如何避免OOM異常

4、 Android中如何捕獲未捕獲的異常

5、 ANR是什麼?怎樣避免和解決ANR(重要)

6、 Android線程間通信有哪幾種方式(重要)

7、 Devik程序,linux程序,線程的差別

8、 描述一下android的系統架構?

9、 android應用對記憶體是如何限制的?我們應該如何合理使用記憶體?

10、 簡述android應用程式結構是哪些?

11、 請解釋下Android程式運作時權限與檔案系統權限的差別?

12、 Framework工作方式及原理,Activity是如何生成一個view的,機制是什麼?

13、 多線程間通信和多程序之間通信有什麼不同,分别怎麼實作?

二、 Android螢幕适配

1、 螢幕适配方式都有哪些

2、 螢幕适配的處理技巧都有哪些

三、 AIDL

1、 什麼是AIDL以及如何使用

2、 AIDL的全稱是什麼?如何工作?能處理哪些類型的資料?

四、 Android中的事件處理

1、 Handler機制

2、 事件分發機制

3、 子線程發消息到主線程進行更新UI,除了handler和AsyncTask,還有什麼?

4、 子線程中能不能new handler?為什麼?

五、 Android中的動畫

1、 Android中的動畫有哪幾類,它們的特點和差別是什麼

2、 如何修改Activity進入和退出動畫

3、 屬性動畫,例如一個button從A移動到B點,B點還是可以響應點選事件,這個原理是什麼?

六、 ContentObserver 内容觀察者作用及特點

項目架構的使用

一、 自我介紹

二、 開發中都使用過哪些架構、平台

三、 都使用過哪些自定義控件

四、 自定義控件:繪制圓環的實作過程

五、 自定義控件:摩天輪的實作過程

六、 自定義控件:可拖拽排序的GridLayout的實作過程

七、 流式布局的實作過程

八、 項目的流程

九、 項目中常見的問題

十、 即時通訊是是怎麼做的?

十一、 設計模式六大原則

十二、 第三方登陸

十三、 第三方支付

十四、 常見架構分析

文末

本文已被​​開源項目:《Android學習筆記總結+移動架構視訊+大廠面試真題+項目實戰源碼》​​收錄,自學程式設計路線及系列技術文章等資源持續更新中...

我總結了一些Android核心知識點,以及一些最新的大廠面試題、知識腦圖和視訊資料解析。

以後的路也希望我們能一起走下去。(謝謝大家一直以來的支援)

部分資料一覽:

  • 330頁PDF Android學習核心筆記(内含8大闆塊)
2020-2021華為Android面試真題,HR的話紮心了
2020-2021華為Android面試真題,HR的話紮心了
  • Android學習的系統對應視訊
  • Android進階的系統對應學習資料
2020-2021華為Android面試真題,HR的話紮心了
  • Android BAT大廠面試題(有解析)
2020-2021華為Android面試真題,HR的話紮心了