當前位置:學問君>人在職場>求職指導>

面試筆試題庫

學問君 人氣:3.13W

導語:下面是小編給大家整理的關於Android面試題,希望幫助到有需要的同學,歡迎大家一起來學習。

面試筆試題庫

  面試筆試題庫1

1.請描述下Activity的生命週期。

必調用的三個方法:onCreate() –> onStart() –> onResume(),用AAA表示

(1)父Activity啓動子Activity,子Actvity退出,父Activity調用順序如下

AAA –> onFreeze() –> onPause() –> onStop() –> onRestart() –> onStart(),onResume() …

(2)用戶點擊Home,Actvity調用順序如下

AAA –> onFreeze() –> onPause() –> onStop() — Maybe –> onDestroy() – Maybe

(3)調用finish(), Activity調用順序如下

AAA –> onPause() –> onStop() –> onDestroy()

(4)在Activity上顯示dialog, Activity調用順序如下

AAA

(5)在父Activity上顯示透明的或非全屏的activity,Activity調用順序如下

AAA –> onFreeze() –> onPause()

(6)設備進入睡眠狀態,Activity調用順序如下

AAA –> onFreeze() –> onPause()

2.如果後臺的Activity由於某原因被系統回收了,如何在被系統回收之前儲存當前狀態?

onSaveInstanceState()

當你的程序中某一個Activity A在執行時,主動或被動地執行另一個新的Activity B,這個時候A會執行onSaveInstanceState()。B完成以後又會來找A,這個時候就有兩種情況:一是A被回收,二是A沒有被回收,被回收的A就要重新調用onCreate()方法,不同於直接啓動的是這回onCreate()裏是帶上了參數savedInstanceState;而沒被收回的就直接執行onResume(),跳過onCreate()了。

3.如何將一個Activity設定成視窗的樣式。

在AndroidManifest.xml 中定義Activity的地方一句話android:theme="@android:style/Theme.Dialog"或android:theme="@android:style/Theme.Translucent"就變成半透明的

4.如何退出Activity?如何安全退出已調用多個Activity的Application?

對於單一Activity的應用來說,退出很簡單,直接finish()即可。

當然,也可以用killProcess()和System.exit()這樣的方法。

5.請介紹下Android中常用的五種佈局。

FrameLayout(框架佈局),LinearLayout (線性佈局),AbsoluteLayout(絕對佈局),RelativeLayout(相對佈局),TableLayout(表格佈局)

6.請介紹下Android的數據存儲方式。

一.SharedPreferences方式

二.檔案存儲方式

三.SQLite數據庫方式

四.內容提供器(Content provider)方式

五.網絡存儲方式

7.請介紹下ContentProvider是如何實現數據共享的。

創建一個屬於你自己的Content provider或者將你的數據添加到一個已經存在的Content provider中,前提是有相同數據類型並且有寫入Content provider的權限。

8.如何啓用Service,如何停用Service。

9.註冊廣播有幾種方式,這些方式有何優缺點?請談談Android引入廣播機制的用意。

10.請解釋下在單線程模型中Message、Handler、Message Queue、Looper之間的關係。

11.AIDL的全稱是什麼?如何工作?能處理哪些類型的數據?

12.請解釋下Android程序執行時權限與檔案系統權限的區別。

13.系統上安裝了多種瀏覽器,能否指定某瀏覽器訪問指定頁面?請說明原由。

14.有一個一維整型數組int[]data儲存的是一張寬爲width,高爲height的圖片像素值資訊。請寫一個算法,將該圖片所有的白色不透明(0xffffffff)像素點的`透明度調整爲50%。

15.你如何評價Android系統?優缺點。

  面試筆試題庫2

一、選擇題(30題,每題1.5分,共45分)

1.java.io包中定義了多個流類型來實現輸入和輸出功能,可以從不同的角度對其進行分 類,按功能分爲:(c),如果爲讀取的內容進行處理後再輸出,需要使用下列哪種流?(g)

A、輸入流和輸出流 B、字節流和字元流 C、節點流和處理流

D、File stream E、Pipe stream F、Random stream G、Filter stream

2.下列代碼的執行結果是:(b)

public class Test3{

public static void main(String args[]){

System.out.print(100%3);

System.out.print(“,”);

System.out.println(100%3.0);

}

}

A、1,1

B、1,1.0

C、1.0,1

D、1.0,1.0

3.在繼承中,關於構造方法的說明,下列說法錯誤的是(d)

A、子類無條件的繼承父類的無參構造方法,

B、子類可以引用父類中的有參構造方法,使用super關鍵字,

C、如果子類沒有構造方法,則父類無參構造方法作爲自已的構造方法,

D、如果子類有無參構造方法,而父類的無參構造方法則被覆蓋。

4.以下程序的執行結果爲( b)

public class IfTest{

public static void main(String args[]){

int x=3;

int y=1;

if(x==y)

System.out.println(“Not equal”);

else

System.out.println(“Equal”);

}

}

A、Not equal B、Equal C、無輸出 D、編譯出錯

5.Java語言中字元串“學Java”所佔的內存空間是(a)

A. 6個字節

B. 7個字節

C. 10個字節

D. 11個字節

6.關於下列程序段的輸出結果,說法正確的是:(d )

public class MyClass{

static int i;

public static void main(String argv[]){

System.out.println(i);

}

}

A、有錯誤,變量i沒有初始化。

B、null

C、1

D、0

7.下列哪些語句關於內存回收的說明是正確的? (b )

A、 程序員必須創建一個線程來釋放內存

B、 內存回收程序負責釋放無用內存

C、 內存回收程序允許程序員直接釋放內存

D、 內存回收程序可以在指定的時間釋放內存對象

8.下面異常是屬於Runtime Exception 的是(abcd)(多選)

A、ArithmeticException

B、IllegalArgumentException

C、NullPointerException

D、BufferUnderflowException

9. Math.round(11.5)等於多少(). Math.round(-11.5)等於多少(c). c

A、11 ,-11 B、11 ,-12 C、12 ,-11 D、12 ,-12

10.下列程序段的輸出結果是:(b )

void complicatedexpression_r(){

int x=20, y=30;

boolean b;

b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60;

System.out.println(b);

}

A、true B、false C、1 D、0

11.activity對一些資源以及狀態的操作儲存,最好是儲存在生命週期的哪個函數中進行(d)

A、onPause() B、onCreate() C、 onResume() D、onStart()

12.Intent傳遞數據時,下列的數據類型哪些可以被傳遞(abcd)(多選)

A、Serializable B、charsequence C、Parcelable D、Bundle

13.android 中下列屬於Intent的作用的是(c)

A、實現應用程序間的數據共享

B、是一段長的生命週期,沒有用戶介面的程序,可以保持應用在後臺執行,而不會因爲切換頁面而消失

C、可以實現介面間的切換,可以包含動作和動作數據,連接四大組件的紐帶

D、處理一個應用程序整體性的工作

14.下列屬於SAX解析xml檔案的優點的是(b)

A、將整個文檔樹在內存中,便於操作,支援刪除,修改,重新排列等多種功能

B、不用事先調入整個文檔,佔用資源少

C、整個文檔調入內存,浪費時間和空間

D、不是長久駐留在內存,數據不是持久的,事件過後,若沒有儲存數據,數據就會

消失